]> git.tdb.fi Git - libs/gl.git/blob - source/texenv.h
Make use of Bufferable in Batch
[libs/gl.git] / source / texenv.h
1 #ifndef MSP_GL_TEXENV_H_
2 #define MSP_GL_TEXENV_H_
3
4 #include "color.h"
5 #include "gl.h"
6
7 namespace Msp {
8 namespace GL {
9
10 enum TexEnvMode
11 {
12         REPLACE  = GL_REPLACE,
13         MODULATE = GL_MODULATE,
14         DECAL    = GL_DECAL,
15         BLEND    = GL_BLEND,
16         ADD      = GL_ADD,
17         COMBINE  = GL_COMBINE
18 };
19
20 class TexEnv
21 {
22 private:
23         TexEnvMode mode;
24         Color color;
25
26 public:
27         TexEnv();
28         void set_mode(TexEnvMode);
29         void set_color(const Color &);
30         TexEnvMode get_mode() const { return mode; }
31         const Color &get_color() const { return color; }
32         void bind() const;
33
34         static const TexEnv *current();
35         static void unbind();
36 };
37
38 } // namespace GL
39 } // namespace Msp
40
41 #endif