]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programdata.h
Use DevIL for loading images
[libs/gl.git] / source / programdata.h
index 495ea22f3a5be143fe498c1d9ce8ae7ee5bb91d3..986bd7b1f444cda423f878557efc3a4bb907e268 100644 (file)
@@ -9,6 +9,7 @@ Distributed under the LGPL
 #define MSP_GL_PROGRAMDATA_H_
 
 #include <map>
+#include <msp/datafile/loader.h>
 
 namespace Msp {
 namespace GL {
@@ -16,8 +17,27 @@ namespace GL {
 class Program;
 class Uniform;
 
+/**
+Stores uniform variables for a shader program.
+*/
 class ProgramData
 {
+public:
+       class Loader: public DataFile::Loader
+       {
+       private:
+               ProgramData &pdata;
+               Program &prog;
+
+       public:
+               Loader(ProgramData &, Program &);
+       private:
+               void uniform1(const std::string &, float);
+               void uniform2(const std::string &, float, float);
+               void uniform3(const std::string &, float, float, float);
+               void uniform4(const std::string &, float, float, float, float);
+       };
+
 private:
        std::map<int, Uniform *> data;