diff options
author | Mike Erwin <significant.bit@gmail.com> | 2016-08-17 04:45:17 +0300 |
---|---|---|
committer | Mike Erwin <significant.bit@gmail.com> | 2016-08-17 04:45:17 +0300 |
commit | 6b34eed21735405099d5970ffae944bebb489a86 (patch) | |
tree | 4ea8ad5c63a986aadd3c9dc7ab74adde05634827 /source/blender | |
parent | b92d76000d93758309c35c09f3a06c6103cc8bd0 (diff) |
Gawain: add v functions to immediate mode
Legacy OpenGL has a matching Vertex3fv for every Vertex3f, and so on. Add something similar to Gawain, just for a few common functions. Might add more as the need arises.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/gpu/GPU_immediate.h | 2 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_immediate.c | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/gpu/GPU_immediate.h b/source/blender/gpu/GPU_immediate.h index 0ee97349970..7c2b35c29f1 100644 --- a/source/blender/gpu/GPU_immediate.h +++ b/source/blender/gpu/GPU_immediate.h @@ -72,12 +72,14 @@ void immAttrib3f(unsigned attrib_id, float x, float y, float z); void immAttrib3ub(unsigned attrib_id, unsigned char r, unsigned char g, unsigned char b); void immAttrib4ub(unsigned attrib_id, unsigned char r, unsigned char g, unsigned char b, unsigned char a); +void immAttrib4ubv(unsigned attrib_id, const unsigned char data[4]); void immEndVertex(void); // and move on to the next vertex // provide 2D or 3D attribute value and end the current vertex, similar to glVertex: void immVertex2f(unsigned attrib_id, float x, float y); void immVertex3f(unsigned attrib_id, float x, float y, float z); +void immVertex3fv(unsigned attrib_id, const float data[3]); // provide values that don't change for the entire draw call void immUniform4f(const char* name, float x, float y, float z, float w); diff --git a/source/blender/gpu/intern/gpu_immediate.c b/source/blender/gpu/intern/gpu_immediate.c index e8a59c4854a..3065a3eb63f 100644 --- a/source/blender/gpu/intern/gpu_immediate.c +++ b/source/blender/gpu/intern/gpu_immediate.c @@ -616,6 +616,11 @@ void immAttrib4ub(unsigned attrib_id, unsigned char r, unsigned char g, unsigned data[3] = a; } +void immAttrib4ubv(unsigned attrib_id, const unsigned char data[4]) + { + immAttrib4ub(attrib_id, data[0], data[1], data[2], data[3]); + } + void immEndVertex() { #if TRUST_NO_ONE @@ -664,6 +669,12 @@ void immVertex3f(unsigned attrib_id, float x, float y, float z) immEndVertex(); } +void immVertex3fv(unsigned attrib_id, const float data[3]) + { + immAttrib3f(attrib_id, data[0], data[1], data[2]); + immEndVertex(); + } + void immUniform4f(const char* name, float x, float y, float z, float w) { int loc = glGetUniformLocation(imm.bound_program, name); |