]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programdata.cpp
Add 3x3 and 2x2 uniform matrices
[libs/gl.git] / source / programdata.cpp
index f3f498f3e948966d9e1dd3524175b1d0ddc5060e..1ecd3a1dc42eaef6a62785f3fa4f07e1809a6405 100644 (file)
@@ -1,7 +1,7 @@
+#include "arb_shader_objects.h"
 #include "buffer.h"
 #include "color.h"
 #include "error.h"
-#include "extension.h"
 #include "matrix.h"
 #include "program.h"
 #include "programdata.h"
@@ -19,7 +19,7 @@ ProgramData::ProgramData():
        buffer(0),
        changes(NO_CHANGES)
 {
-       static RequireExtension _ext("GL_ARB_shader_objects");
+       static Require _req(ARB_shader_objects);
 }
 
 // Blocks are intentionally left uncopied
@@ -119,6 +119,16 @@ void ProgramData::uniform4(const string &name, const float *v)
        uniform(name, new Uniform4f(v));
 }
 
+void ProgramData::uniform_matrix2(const string &name, const float *v)
+{
+       uniform(name, new UniformMatrix2x2f(v));
+}
+
+void ProgramData::uniform_matrix3(const string &name, const float *v)
+{
+       uniform(name, new UniformMatrix3x3f(v));
+}
+
 void ProgramData::uniform_matrix4(const string &name, const float *v)
 {
        uniform(name, new UniformMatrix4x4f(v));