3 This file is part of libmspgl
4 Copyright © 2007 Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
8 #ifndef MSP_GL_UNIFORM_H_
9 #define MSP_GL_UNIFORM_H_
21 Uniform(const Uniform &);
22 Uniform &operator=(const Uniform &);
24 virtual ~Uniform() { }
26 virtual void apply(int) const =0;
27 virtual Uniform *clone() const =0;
31 class Uniform1i: public Uniform
39 virtual void apply(int index) const;
40 virtual Uniform1i *clone() const;
44 class Uniform1f: public Uniform
52 virtual void apply(int index) const;
53 virtual Uniform1f *clone() const;
57 class Uniform2f: public Uniform
63 Uniform2f(float v0, float v1);
65 virtual void apply(int index) const;
66 virtual Uniform2f *clone() const;
70 class Uniform3f: public Uniform
76 Uniform3f(float v0, float v1, float v2);
78 virtual void apply(int index) const;
79 virtual Uniform3f *clone() const;
83 class Uniform4f: public Uniform
89 Uniform4f(float v0, float v1, float v2, float v3);
91 virtual void apply(int index) const;
92 virtual Uniform4f *clone() const;