]> git.tdb.fi Git - libs/gl.git/commitdiff
Add overloaded setters for 2x2 and 3x3 uniform matrices
authorMikko Rasa <tdb@tdb.fi>
Thu, 13 Nov 2014 21:20:08 +0000 (23:20 +0200)
committerMikko Rasa <tdb@tdb.fi>
Thu, 13 Nov 2014 21:35:26 +0000 (23:35 +0200)
source/programdata.cpp
source/programdata.h

index 535ade962207103f29fc8db0b87ddefa2551a8cc..65e660f038949aa41353eb287382901a28918f25 100644 (file)
@@ -147,11 +147,21 @@ void ProgramData::uniform4(const string &name, const float *v)
        uniform(name, new Uniform4f(v));
 }
 
+void ProgramData::uniform(const string &name, const LinAl::Matrix<float, 2, 2> &m)
+{
+       uniform_matrix2(name, &m(0, 0));
+}
+
 void ProgramData::uniform_matrix2(const string &name, const float *v)
 {
        uniform(name, new UniformMatrix2x2f(v));
 }
 
+void ProgramData::uniform(const string &name, const LinAl::Matrix<float, 3, 3> &m)
+{
+       uniform_matrix3(name, &m(0, 0));
+}
+
 void ProgramData::uniform_matrix3(const string &name, const float *v)
 {
        uniform(name, new UniformMatrix3x3f(v));
index 0f752191d586e1c0b00eca480c5693c2e269a3cd..196abcb1ebe30cf151b855aa27257658fd3c02e1 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <map>
 #include <msp/datafile/objectloader.h>
+#include "matrix.h"
 #include "program.h"
 #include "vector.h"
 
@@ -10,7 +11,6 @@ namespace Msp {
 namespace GL {
 
 class Buffer;
-class Matrix;
 class Uniform;
 class UniformBlock;
 struct Color;
@@ -110,7 +110,9 @@ public:
        void uniform(const std::string &, const Vector4 &);
        void uniform(const std::string &, const Color &);
        void uniform4(const std::string &, const float *);
+       void uniform(const std::string &, const LinAl::Matrix<float, 2, 2> &);
        void uniform_matrix2(const std::string &, const float *);
+       void uniform(const std::string &, const LinAl::Matrix<float, 3, 3> &);
        void uniform_matrix3(const std::string &, const float *);
        void uniform(const std::string &, const Matrix &);
        void uniform_matrix4(const std::string &, const float *);