diff options
author | Mike Erwin <significant.bit@gmail.com> | 2016-08-27 21:10:37 +0300 |
---|---|---|
committer | Mike Erwin <significant.bit@gmail.com> | 2016-08-27 21:10:37 +0300 |
commit | 9d3813e602b83c3aa61068e9c592eee4786636af (patch) | |
tree | 5c7194037dfc23354cd69c734bfdd00c8bf9ab82 /source/blender/gpu/intern/gpu_immediate.c | |
parent | 42bbfe7f0a1f357781859ee3a2819f00e2c54f4c (diff) |
Gawain: convenience functions for uniform color
Application code can pass ubytes, Gawain converts to float vec4 expected by shader.
For now the conversion is simple linear. We can add sRGB support later if needed.
Diffstat (limited to 'source/blender/gpu/intern/gpu_immediate.c')
-rw-r--r-- | source/blender/gpu/intern/gpu_immediate.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/gpu/intern/gpu_immediate.c b/source/blender/gpu/intern/gpu_immediate.c index d250bcc78f9..7d32ba3f8d9 100644 --- a/source/blender/gpu/intern/gpu_immediate.c +++ b/source/blender/gpu/intern/gpu_immediate.c @@ -729,3 +729,15 @@ void immUniform4f(const char* name, float x, float y, float z, float w) glUniform4f(loc, x, y, z, w); } + +void immUniformColor3ubv(const unsigned char rgb[3]) + { + const float scale = 1.0f / 255.0f; + immUniform4f("color", scale * rgb[0], scale * rgb[1], scale * rgb[2], 1.0f); + } + +void immUniformColor4ubv(const unsigned char rgba[4]) + { + const float scale = 1.0f / 255.0f; + immUniform4f("color", scale * rgba[0], scale * rgba[1], scale * rgba[2], rgba[3]); + } |