4 #include <boost/shared_ptr.hpp>
9 typedef boost::shared_ptr<Texture> TexturePtr;
12 static std::vector<Texture*> textures;
42 MM_NEAREST_NEAREST = 0x2700,
43 MM_NEAREST_LINEAR = 0x2702,
44 MM_LINEAR_NEAREST = 0x2701,
45 MM_LINEAR_LINEAR = 0x2703,
54 WM_CLAMP_BORDER = 0x812D,
55 WM_CLAMP_EDGE = 0x812F,
56 WM_MIRRORED_REPEAT = 0x8370,
60 glm::vec4 BorderColor;
90 ACF_MODULATE = 0x2100,
92 ACF_ADD_SIGNED = 0x8574,
93 ACF_SUBTRACT = 0x84E7,
94 ACF_INTERPOLATE = 0x8575,
95 ACF_DOT3_RGB = 0x86AE,
96 ACF_DOT3_RGBA = 0x86AF,
101 ACS_TEXTURE = 0x1702,
102 ACS_PRIMARY_COLOR = 0x8577,
103 ACS_CONSTANT = 0x8576,
104 ACS_PREVIOUS = 0x8578,
110 ACO_SRC_COLOR = 0x0300,
111 ACO_ONE_MINUS_SRC_COLOR = 0x0301,
112 ACO_SRC_ALPHA = 0x0302,
113 ACO_ONE_MINUS_SRC_ALPHA = 0x0303,
126 int CombineFuncAlpha;
131 int CombineSrc0Alpha;
132 int CombineSrc1Alpha;
133 int CombineSrc2Alpha;
141 int CombineScaleAlpha;
147 Texture(): texname(0), m_dimension(2), texname2(0), m_pingbong(false), current_texture(0) {};
153 Texture(
unsigned int dimensions,
bool pingbong =
false): texname(0), texname2(0), m_dimension(dimensions), m_pingbong(pingbong), current_texture(0) {};
159 Texture (
Img* pkImage,
bool pingbong =
false) : texname(0), texname2(0), m_dimension(2), m_pingbong(pingbong), current_texture(0), BlendColor(0,0,0,1), BorderColor(0,0,0,0), m_pImage(pkImage), TextureTyp(0), Texgen(0){};
174 unsigned int current_texture;
176 unsigned int m_dimension;
177 std::string texturename;
179 unsigned int GetTexName();
180 unsigned int GetTexName2();
181 void SetTexName(
unsigned int tex);
183 unsigned int m_width;
184 unsigned int m_height;
185 unsigned int m_depth;
188 unsigned int texname;
189 unsigned int texname2;