diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-09-20 22:51:02 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-09-20 22:51:06 +0300 |
commit | 425cfdd5be12a0c167bd55eeb1ac84d37b7f2ead (patch) | |
tree | 8b69c4b0e7f71cb841ff94176827ca57a8d6e660 /source/blender/python/gpu/gpu_py_shader.c | |
parent | e316e41f847004f80838d0c7becaa7be80cc8711 (diff) |
GPU Python API: shader.uniform_float
The existing alternative is to use a buffer and call
uniform_vector_float which is overkill for such a simple operation.
Diffstat (limited to 'source/blender/python/gpu/gpu_py_shader.c')
-rw-r--r-- | source/blender/python/gpu/gpu_py_shader.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/source/blender/python/gpu/gpu_py_shader.c b/source/blender/python/gpu/gpu_py_shader.c index 76fe38c57e9..3a9122297cd 100644 --- a/source/blender/python/gpu/gpu_py_shader.c +++ b/source/blender/python/gpu/gpu_py_shader.c @@ -323,6 +323,34 @@ static PyObject *bpygpu_shader_uniform_vector_int( Py_RETURN_NONE; } +PyDoc_STRVAR(bpygpu_shader_uniform_float_doc, + ".. method:: uniform_float(location, value)\n" + "\n" + " Set uniform value.\n" + "\n" + " :param location: builtin identifier.\n" + " :type location: `int`\n" + " :param value: uniform value.\n" + " :type value: `float`\n" +); +static PyObject *bpygpu_shader_uniform_float( + BPyGPUShader *self, PyObject *args) +{ + int location; + float value; + + if (!PyArg_ParseTuple( + args, "if:GPUShader.uniform_float", + &location, &value)) + { + return NULL; + } + + GPU_shader_uniform_float(self->shader, location, value); + + Py_RETURN_NONE; +} + PyDoc_STRVAR(bpygpu_shader_uniform_int_doc, ".. method:: uniform_int(location, value)\n" "\n" @@ -408,6 +436,9 @@ static struct PyMethodDef bpygpu_shader_methods[] = { {"uniform_vector_int", (PyCFunction)bpygpu_shader_uniform_vector_int, METH_VARARGS, bpygpu_shader_uniform_vector_int_doc}, + {"uniform_float", + (PyCFunction)bpygpu_shader_uniform_float, + METH_VARARGS, bpygpu_shader_uniform_float_doc}, {"uniform_int", (PyCFunction)bpygpu_shader_uniform_int, METH_VARARGS, bpygpu_shader_uniform_int_doc}, |