]> git.tdb.fi Git - libs/gl.git/blobdiff - source/uniform.cpp
Implement uniform arrays
[libs/gl.git] / source / uniform.cpp
index 688052ff16d0ae3b8fdebc5fafe99e1025c118d9..ac866cf5ddcdd9befbe6766750e0105149d3b756 100644 (file)
@@ -5,41 +5,41 @@ namespace Msp {
 namespace GL {
 
 template<>
-void UniformScalar<int>::apply(int index) const
+void UniformScalar<int>::apply(int index, unsigned size, const int *value)
 {
-       glUniform1iARB(index, value);
+       glUniform1ivARB(index, size, value);
 }
 
 template<>
-void UniformScalar<float>::apply(int index) const
+void UniformScalar<float>::apply(int index, unsigned size, const float *value)
 {
-       glUniform1fARB(index, value);
+       glUniform1fvARB(index, size, value);
 }
 
 
 template<>
-void UniformVector<float, 2>::apply(int index) const
+void UniformVector<float, 2>::apply(int index, unsigned size, const float *value)
 {
-       glUniform2fvARB(index, 1, value);
+       glUniform2fvARB(index, size, value);
 }
 
 template<>
-void UniformVector<float, 3>::apply(int index) const
+void UniformVector<float, 3>::apply(int index, unsigned size, const float *value)
 {
-       glUniform3fvARB(index, 1, value);
+       glUniform3fvARB(index, size, value);
 }
 
 template<>
-void UniformVector<float, 4>::apply(int index) const
+void UniformVector<float, 4>::apply(int index, unsigned size, const float *value)
 {
-       glUniform4fvARB(index, 1, value);
+       glUniform4fvARB(index, size, value);
 }
 
 
 template<>
-void UniformMatrix<float, 4, 4>::apply(int index) const
+void UniformMatrix<float, 4, 4>::apply(int index, unsigned size, const float *value)
 {
-       glUniformMatrix4fvARB(index, 1, false, value);
+       glUniformMatrix4fvARB(index, size, false, value);
 }
 
 } // namespace GL