]> git.tdb.fi Git - libs/gl.git/blobdiff - source/uniformblock.cpp
Rewrite the Uniform classes as templates
[libs/gl.git] / source / uniformblock.cpp
index 95e1c2b368100a2aa920d92efdb2f0ddcb4fc843..fe044750d45e3d1cbcb06506843fd46e8beabea0 100644 (file)
@@ -45,17 +45,19 @@ void UniformBlock::uniform(int index, float v)
 
 void UniformBlock::uniform(int index, float v0, float v1)
 {
-       uniform(index, new Uniform2f(v0, v1));
+       float va[2] = { v0, v1 };
+       uniform2(index, va);
 }
 
 void UniformBlock::uniform2(int index, const float *v)
 {
-       uniform(index, v[0], v[1]);
+       uniform(index, new Uniform2f(v));
 }
 
 void UniformBlock::uniform(int index, float v0, float v1, float v2)
 {
-       uniform(index, new Uniform3f(v0, v1, v2));
+       float va[3] = { v0, v1, v2 };
+       uniform3(index, va);
 }
 
 void UniformBlock::uniform(int index, const Vector3 &v)
@@ -65,12 +67,13 @@ void UniformBlock::uniform(int index, const Vector3 &v)
 
 void UniformBlock::uniform3(int index, const float *v)
 {
-       uniform(index, v[0], v[1], v[2]);
+       uniform(index, new Uniform3f(v));
 }
 
 void UniformBlock::uniform(int index, float v0, float v1, float v2, float v3)
 {
-       uniform(index, new Uniform4f(v0, v1, v2, v3));
+       float va[4] = { v0, v1, v2, v3 };
+       uniform4(index, va);
 }
 
 void UniformBlock::uniform(int index, const Vector4 &v)
@@ -85,7 +88,7 @@ void UniformBlock::uniform(int index, const Color &c)
 
 void UniformBlock::uniform4(int index, const float *v)
 {
-       uniform(index, v[0], v[1], v[2], v[3]);
+       uniform(index, new Uniform4f(v));
 }
 
 void UniformBlock::uniform_matrix4(int index, const float *v)