X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Funiform.h;fp=source%2Funiform.h;h=33b80e938287b5ea70017b1a67b0e5b1609ce34d;hp=0000000000000000000000000000000000000000;hb=85e83ace47e5a9a8ae7263886255dd81afc69278;hpb=224c40efa231c85b61da772a6f58c067d7b579b3 diff --git a/source/uniform.h b/source/uniform.h new file mode 100644 index 00000000..33b80e93 --- /dev/null +++ b/source/uniform.h @@ -0,0 +1,82 @@ +/* $Id$ + +This file is part of libmspgl +Copyright © 2007 Mikko Rasa, Mikkosoft Productions +Distributed under the LGPL +*/ + +#ifndef MSP_GL_UNIFORM_H_ +#define MSP_GL_UNIFORM_H_ + +namespace Msp { +namespace GL { + +class Program; + +class Uniform +{ +protected: + Uniform() { } +public: + virtual void apply(int) const =0; +}; + + +class Uniform1i: public Uniform +{ +private: + int v; + +public: + Uniform1i(int v_); + virtual void apply(int index) const; +}; + + +class Uniform1f: public Uniform +{ +private: + float v; + +public: + Uniform1f(float v_); + virtual void apply(int index) const; +}; + + +class Uniform2f: public Uniform +{ +private: + float v[2]; + +public: + Uniform2f(float v0, float v1); + virtual void apply(int index) const; +}; + + +class Uniform3f: public Uniform +{ +private: + float v[3]; + +public: + Uniform3f(float v0, float v1, float v2); + virtual void apply(int index) const; +}; + + +class Uniform4f: public Uniform +{ +private: + float v[4]; + +public: + Uniform4f(float v0, float v1, float v2, float v3); + virtual void apply(int index) const; +}; + +} // namespace GL +} // namespace Msp + +#endif