X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramdata.h;h=6f9242e688928bd9e001f46419a1d04562845471;hb=259254bc46e3aec6f719e1aea5e4936569c15b6e;hp=3cef2d4c1b5cd921fa75c7f8d6dc449300151909;hpb=8f7d5b6460ef68e7316c7f556b7152d9c9f7bfe2;p=libs%2Fgl.git diff --git a/source/programdata.h b/source/programdata.h index 3cef2d4c..6f9242e6 100644 --- a/source/programdata.h +++ b/source/programdata.h @@ -4,17 +4,16 @@ #include #include #include "program.h" +#include "vector.h" namespace Msp { namespace GL { class Buffer; -class Color; class Matrix; class Uniform; class UniformBlock; -class Vector3; -class Vector4; +struct Color; /** Stores uniform variables for shader programs. The uniforms are stored in a @@ -58,7 +57,7 @@ private: }; typedef std::map UniformMap; - typedef std::map BlockMap; + typedef std::map BlockMap; // XXX All these mutables are a bit silly, but I'm out of better ideas UniformMap uniforms; @@ -67,10 +66,10 @@ private: mutable Buffer *buffer; mutable Changes changes; - ProgramData &operator=(const ProgramData &); public: ProgramData(); ProgramData(const ProgramData &); + ProgramData &operator=(const ProgramData &); ~ProgramData(); private: @@ -89,8 +88,8 @@ public: void uniform4(const std::string &, const float *); void uniform_matrix2(const std::string &, const float *); void uniform_matrix3(const std::string &, const float *); + void uniform(const std::string &, const Matrix &); void uniform_matrix4(const std::string &, const float *); - void uniform_matrix4(const std::string &, const Matrix &); void uniform1_array(const std::string &, unsigned, const float *); void uniform2_array(const std::string &, unsigned, const float *); void uniform3_array(const std::string &, unsigned, const float *);