]> git.tdb.fi Git - libs/gl.git/blob - source/texenv.h
55704e580ecb4719712ffccef86ec2b5f69b495d
[libs/gl.git] / source / texenv.h
1 /* $Id$
2
3 This file is part of libmspgl
4 Copyright © 2007-2008  Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
6 */
7
8 #ifndef MSP_GL_TEXENV_H_
9 #define MSP_GL_TEXENV_H_
10
11 #include "color.h"
12 #include "gl.h"
13
14 namespace Msp {
15 namespace GL {
16
17 enum TexEnvMode
18 {
19         REPLACE  = GL_REPLACE,
20         MODULATE = GL_MODULATE,
21         DECAL    = GL_DECAL,
22         BLEND    = GL_BLEND,
23         ADD      = GL_ADD,
24         COMBINE  = GL_COMBINE
25 };
26
27 class TexEnv
28 {
29 private:
30         TexEnvMode mode;
31         Color color;
32
33 public:
34         TexEnv();
35         void set_mode(TexEnvMode);
36         void set_color(const Color &);
37         TexEnvMode get_mode() const { return mode; }
38         const Color &get_color() const { return color; }
39         void bind() const;
40
41         static const TexEnv *current();
42         static void unbind();
43 };
44
45 } // namespace GL
46 } // namespace Msp
47
48 #endif