X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Funiform.h;h=e12f65216c82b0bf572930c7cc33e4626d4a40ea;hb=1b23728908f5ec9beb08b2b70737c3903745fddc;hp=bc78bab8c1c891ad55086397f2bbcc9250d949a4;hpb=7aaec9a70b8d7733429bec043f8e33e02956f266;p=libs%2Fgl.git diff --git a/source/core/uniform.h b/source/core/uniform.h index bc78bab8..e12f6521 100644 --- a/source/core/uniform.h +++ b/source/core/uniform.h @@ -2,7 +2,7 @@ #define MSP_GL_UNIFORM_H_ #include -#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(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(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::store(info, reinterpret_cast(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(buffer)+i*info.array_stride, values+i*elemsize);