From 9d3813e602b83c3aa61068e9c592eee4786636af Mon Sep 17 00:00:00 2001 From: Mike Erwin Date: Sat, 27 Aug 2016 14:10:37 -0400 Subject: 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. --- source/blender/gpu/intern/gpu_immediate.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source/blender/gpu/intern/gpu_immediate.c') 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]); + } -- cgit v1.2.3