]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texenv.h
Tweak some ProgramBuilder variables
[libs/gl.git] / source / texenv.h
index 5ed05d6c7e0d24343e6fe9dbeba3675613208ead..61f700854b50030e43297b96310aa106622a36fb 100644 (file)
@@ -20,19 +20,34 @@ enum TexEnvMode
 class TexEnv
 {
 private:
+       enum ParameterMask
+       {
+               MODE = 1,
+               COLOR = 2
+       };
+
        TexEnvMode mode;
        Color color;
 
 public:
        TexEnv();
+
+       static const TexEnv &default_object();
+
+private:
+       void update_parameter(int) const;
+
+public:
        void set_mode(TexEnvMode);
        void set_color(const Color &);
        TexEnvMode get_mode() const { return mode; }
        const Color &get_color() const { return color; }
-       void bind() const;
+       void bind() const { bind_to(0); }
+       void bind_to(unsigned) const;
 
-       static const TexEnv *current();
-       static void unbind();
+       static const TexEnv *current(unsigned = 0);
+       static void unbind() { unbind_from(0); }
+       static void unbind_from(unsigned);
 };
 
 } // namespace GL