]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/uniform.h
Split reflection data from Program to a separate struct
[libs/gl.git] / source / core / uniform.h
index bc78bab8c1c891ad55086397f2bbcc9250d949a4..e12f65216c82b0bf572930c7cc33e4626d4a40ea 100644 (file)
@@ -2,7 +2,7 @@
 #define MSP_GL_UNIFORM_H_
 
 #include <algorithm>
-#include "program.h"
+#include "reflectdata.h"
 
 namespace Msp {
 namespace GL {
@@ -18,7 +18,7 @@ public:
        virtual ~Uniform() { }
 
        virtual void apply(int) const = 0;
-       virtual void store(const Program::UniformInfo &, void *) const = 0;
+       virtual void store(const ReflectData::UniformInfo &, void *) const = 0;
        virtual Uniform *clone() const = 0;
 };
 
@@ -45,10 +45,10 @@ public:
 
        static void apply(int, unsigned, const T *);
 
-       virtual void store(const Program::UniformInfo &info, void *buffer) const
+       virtual void store(const ReflectData::UniformInfo &info, void *buffer) const
        { store(info, buffer, &value); }
 
-       static void store(const Program::UniformInfo &, void *buffer, const T *value)
+       static void store(const ReflectData::UniformInfo &, void *buffer, const T *value)
        { *reinterpret_cast<T *>(buffer) = *value; }
 
        virtual UniformScalar *clone() const
@@ -82,10 +82,10 @@ public:
 
        static void apply(int index, unsigned size, const T *value);
 
-       virtual void store(const Program::UniformInfo &info, void *buffer) const
+       virtual void store(const ReflectData::UniformInfo &info, void *buffer) const
        { store(info, buffer, value); }
 
-       static void store(const Program::UniformInfo &, void *buffer, const T *value)
+       static void store(const ReflectData::UniformInfo &, void *buffer, const T *value)
        { std::copy(value, value+vecsize, reinterpret_cast<T *>(buffer)); }
 
        virtual UniformVector *clone() const
@@ -121,10 +121,10 @@ public:
 
        static void apply(int index, unsigned size, const T *value);
 
-       virtual void store(const Program::UniformInfo &info, void *buffer) const
+       virtual void store(const ReflectData::UniformInfo &info, void *buffer) const
        { store(info, buffer, value); }
 
-       static void store(const Program::UniformInfo &info, void *buffer, const T *value)
+       static void store(const ReflectData::UniformInfo &info, void *buffer, const T *value)
        {
                for(unsigned i=0; i<cols; ++i)
                        UniformVector<T, rows>::store(info, reinterpret_cast<char *>(buffer)+i*info.matrix_stride, value+i*rows);
@@ -177,7 +177,7 @@ public:
        virtual void apply(int index) const
        { T::apply(index, size_, values); }
 
-       virtual void store(const Program::UniformInfo &info, void *buffer) const
+       virtual void store(const ReflectData::UniformInfo &info, void *buffer) const
        {
                for(unsigned i=0; i<size_; ++i)
                        T::store(info, reinterpret_cast<char *>(buffer)+i*info.array_stride, values+i*elemsize);