diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2017-02-10 19:28:40 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2017-02-10 19:29:12 +0300 |
commit | f9329997c30b3175e0e7fd8c61f64ed8ec4785bd (patch) | |
tree | 5f599282cdf07770388155d92183999c5a6df29d | |
parent | 26f8095384259f166a3ff1e88c53222bc796ace8 (diff) |
Complete immUniform functions to support 2float and 3float
-rw-r--r-- | source/blender/gpu/gawain/immediate.c | 44 | ||||
-rw-r--r-- | source/blender/gpu/gawain/immediate.h | 4 |
2 files changed, 48 insertions, 0 deletions
diff --git a/source/blender/gpu/gawain/immediate.c b/source/blender/gpu/gawain/immediate.c index 08d85c40e90..5ad5b0c8986 100644 --- a/source/blender/gpu/gawain/immediate.c +++ b/source/blender/gpu/gawain/immediate.c @@ -727,6 +727,50 @@ void immUniform1f(const char* name, float x) glUniform1f(loc, x); } +void immUniform2f(const char* name, float x, float y) +{ + int loc = glGetUniformLocation(imm.bound_program, name); + +#if TRUST_NO_ONE + assert(loc != -1); +#endif + + glUniform2f(loc, x, y); +} + +void immUniform2fv(const char* name, const float data[2]) +{ + int loc = glGetUniformLocation(imm.bound_program, name); + +#if TRUST_NO_ONE + assert(loc != -1); +#endif + + glUniform2fv(loc, 1, data); +} + +void immUniform3f(const char* name, float x, float y, float z) +{ + int loc = glGetUniformLocation(imm.bound_program, name); + +#if TRUST_NO_ONE + assert(loc != -1); +#endif + + glUniform3f(loc, x, y, z); +} + +void immUniform3fv(const char* name, const float data[3]) +{ + int loc = glGetUniformLocation(imm.bound_program, name); + +#if TRUST_NO_ONE + assert(loc != -1); +#endif + + glUniform3fv(loc, 1, data); +} + void immUniform4f(const char* name, float x, float y, float z, float w) { int loc = glGetUniformLocation(imm.bound_program, name); diff --git a/source/blender/gpu/gawain/immediate.h b/source/blender/gpu/gawain/immediate.h index 50965d3d36c..db0e4af3f20 100644 --- a/source/blender/gpu/gawain/immediate.h +++ b/source/blender/gpu/gawain/immediate.h @@ -79,6 +79,10 @@ void immVertex2iv(unsigned attrib_id, const int data[2]); // provide uniform values that don't change for the entire draw call void immUniform1i(const char* name, int x); void immUniform1f(const char* name, float x); +void immUniform2f(const char* name, float x, float y); +void immUniform2fv(const char* name, const float data[2]); +void immUniform3f(const char* name, float x, float y, float z); +void immUniform3fv(const char* name, const float data[3]); void immUniform4f(const char* name, float x, float y, float z, float w); void immUniform4fv(const char* name, const float data[4]); |