1 #ifndef MSP_GL_PROGRAMDATA_H_
2 #define MSP_GL_PROGRAMDATA_H_
5 #include <msp/datafile/objectloader.h>
18 Stores uniform variables for a shader program.
23 class Loader: public DataFile::ObjectLoader<ProgramData>
26 Loader(ProgramData &);
28 void uniform1i(const std::string &, int);
29 void uniform1f(const std::string &, float);
30 void uniform2f(const std::string &, float, float);
31 void uniform3f(const std::string &, float, float, float);
32 void uniform4f(const std::string &, float, float, float, float);
36 const Program &program;
37 std::map<int, Uniform *> data;
39 ProgramData &operator=(const ProgramData &);
41 explicit ProgramData(const Program &);
42 ProgramData(const ProgramData &);
46 void uniform(int, Uniform *);
48 void uniform(int, int);
49 void uniform(int, float);
50 void uniform(int, float, float);
51 void uniform2(int, const float *);
52 void uniform(int, float, float, float);
53 void uniform(int, const Vector3 &);
54 void uniform3(int, const float *);
55 void uniform(int, float, float, float, float);
56 void uniform(int, const Vector4 &);
57 void uniform(int, const Color &);
58 void uniform4(int, const float *);
59 void uniform_matrix4(int, const float *);
60 void uniform_matrix4(int, const Matrix &);
62 void uniform(const std::string &, int);
63 void uniform(const std::string &, float);
64 void uniform(const std::string &, float, float);
65 void uniform2(const std::string &, const float *);
66 void uniform(const std::string &, float, float, float);
67 void uniform(const std::string &, const Vector3 &);
68 void uniform3(const std::string &, const float *);
69 void uniform(const std::string &, float, float, float, float);
70 void uniform(const std::string &, const Vector4 &);
71 void uniform(const std::string &, const Color &);
72 void uniform4(const std::string &, const float *);
73 void uniform_matrix4(const std::string &, const float *);
74 void uniform_matrix4(const std::string &, const Matrix &);