]> git.tdb.fi Git - libs/gl.git/blob - source/programdata.h
Add Uniform* classes to store uniform data of Programs
[libs/gl.git] / source / programdata.h
1 /* $Id$
2
3 This file is part of libmspgl
4 Copyright © 2007  Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
6 */
7
8 #ifndef MSP_GL_PROGRAMDATA_H_
9 #define MSP_GL_PROGRAMDATA_H_
10
11 #include <map>
12
13 namespace Msp {
14 namespace GL {
15
16 class Program;
17 class Uniform;
18
19 class ProgramData
20 {
21 private:
22         std::map<int, Uniform *> data;
23
24         ProgramData(const ProgramData &);
25         ProgramData &operator=(const ProgramData &);
26 public:
27         ProgramData();
28         ~ProgramData();
29
30         void uniform(int, Uniform *);
31         void uniform(int, int);
32         void uniform(int, float);
33         void uniform(int, float, float);
34         void uniform2(int, const float *);
35         void uniform(int, float, float, float);
36         void uniform3(int, const float *);
37         void uniform(int, float, float, float, float);
38         void uniform4(int, const float *);
39         void uniform_matrix4(int, const float *);
40         void apply() const;
41 };
42
43 } // namespace GL
44 } // namespace Msp
45
46 #endif