]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texunit.h
Use libmspmath to provide vector and matrix operations
[libs/gl.git] / source / texunit.h
index 5aec5b31127d032c3cf2da87ba5ba646e04d0643..82c4b5795baafa5a095e1eb126b0b146ba5b5f63 100644 (file)
@@ -6,24 +6,33 @@
 namespace Msp {
 namespace GL {
 
+class TexEnv;
+class TexGen;
 class Texture;
 
 class TexUnit
 {
+private:
+       const Texture *texture;
+       const TexEnv *texenv;
+       const TexGen *texgen[4];
+
+       static std::vector<TexUnit> units;
+       static TexUnit *cur_unit;
+
 public:
        TexUnit();
+
        bool set_texture(const Texture *);
-       const Texture *get_texture() { return texture; }
-       //TexEnv &get_env() { return env; }
+       const Texture *get_texture() const { return texture; }
+       bool set_texenv(const TexEnv *);
+       const TexEnv *get_texenv() const { return texenv; }
+       bool set_texgen(unsigned, const TexGen *);
+       const TexGen *get_texgen(unsigned);
 
+       static unsigned get_n_units();
        static TexUnit &activate(unsigned);
        static TexUnit &current();
-private:
-       const Texture *texture;
-       //TexEnv env;
-
-       static std::vector<TexUnit> units;
-       static TexUnit *cur_unit;
 };
 
 } // namespace GL