44 #ifndef DISTI_GLS_STATE_MANAGER_INTERFACE_H_INCLUDED
45 #define DISTI_GLS_STATE_MANAGER_INTERFACE_H_INCLUDED
54 #ifndef LESS_MAX_LIGHTS
72 GLS_TEXTURE_MAP_MODE_MODULATE = 0x2100,
73 GLS_TEXTURE_MAP_MODE_DECAL = 0x2101,
74 GLS_TEXTURE_MAP_MODE_BLEND = 0x0BE2,
75 GLS_TEXTURE_MAP_MODE_REPLACE = 0x1E01
82 GLS_EXPORT
virtual void SetDefaultState(
bool forceResetUnmanagedState =
false ) = 0;
103 GLS_EXPORT
virtual void LoadProjectionIdentityMatrix(
void ) = 0;
105 GLS_EXPORT
virtual void PushProjectionMatrix(
void ) = 0;
107 GLS_EXPORT
virtual void PopProjectionMatrix(
void ) = 0;
115 GLS_EXPORT
virtual void LoadModelViewIdentityMatrix(
void ) = 0;
152 GLS_EXPORT
virtual void LoadTextureIdentityMatrix(
void ) = 0;
185 GLS_EXPORT
virtual void AlphaBlendFunc( GLenum src, GLenum dst ) = 0;
186 GLS_EXPORT
virtual void AlphaBlendEnabled(
bool val ) = 0;
187 GLS_EXPORT
virtual void AlphaTestEnabled(
bool val ) = 0;
188 GLS_EXPORT
virtual void AlphaTestFunc( GLenum func, GLfloat val ) = 0;
190 GLS_EXPORT
virtual void DepthTestEnabled(
bool val ) = 0;
191 GLS_EXPORT
virtual void DepthMaskEnabled(
bool val ) = 0;
192 GLS_EXPORT
virtual bool IsDepthMaskEnabled(
void ) = 0;
193 GLS_EXPORT
virtual void DepthFunc( GLenum func ) = 0;
194 GLS_EXPORT
virtual void DepthRange( GLfloat min, GLfloat max ) = 0;
196 GLS_EXPORT
virtual void BackfaceCullingEnabled(
bool val ) = 0;
198 GLS_EXPORT
virtual void Texture2DEnabled(
bool val ) = 0;
199 GLS_EXPORT
virtual void ActiveTexture( GLenum textureUnit ) = 0;
200 GLS_EXPORT
virtual void BindTexture(
IFontImage* texture ) = 0;
201 GLS_EXPORT
virtual void DeleteTexture(
IFontImage* texture ) = 0;
202 GLS_EXPORT
virtual void SetTextureWrapS( GLenum mode ) = 0;
203 GLS_EXPORT
virtual void SetTextureWrapT( GLenum mode ) = 0;
204 GLS_EXPORT
virtual void SetTextureEnvMode( GLenum mode ) = 0;
205 GLS_EXPORT
virtual void SetTextureBlendColor( GLfloat* color ) = 0;
206 GLS_EXPORT
virtual void SetTextureMinFilter( GLenum mode ) = 0;
207 GLS_EXPORT
virtual void SetTextureMagFilter( GLenum mode ) = 0;
209 GLS_EXPORT
virtual void BindIndexBuffer(
unsigned int handle ) = 0;
210 GLS_EXPORT
virtual void BindVertexBuffer(
unsigned int handle ) = 0;
212 GLS_EXPORT
virtual void VertexArrayEnabled(
bool val ) = 0;
213 GLS_EXPORT
virtual void NormalArrayEnabled(
bool val ) = 0;
214 GLS_EXPORT
virtual void TextureArrayEnabled(
bool val ) = 0;
215 GLS_EXPORT
virtual void ColorArrayEnabled(
bool val ) = 0;
217 GLS_EXPORT
virtual void VertexPointer( GLint size, GLenum type, GLsizei stride,
const GLvoid* pointer ) = 0;
218 GLS_EXPORT
virtual void TexCoordPointer( GLint size, GLenum type, GLsizei stride,
const GLvoid* pointer ) = 0;
219 GLS_EXPORT
virtual void NormalPointer( GLenum type, GLsizei stride,
const GLvoid* pointer ) = 0;
220 GLS_EXPORT
virtual void ColorPointer( GLint size, GLenum type, GLsizei stride,
const GLvoid* pointer ) = 0;
222 GLS_EXPORT
virtual void LineSmoothEnabled(
bool val ) = 0;
223 GLS_EXPORT
virtual void LineWidth(
float width ) = 0;
224 GLS_EXPORT
virtual void PointSize(
float size ) = 0;
225 GLS_EXPORT
virtual void LineStipple(
unsigned short pattern,
unsigned int multiplier ) = 0;
226 GLS_EXPORT
virtual void SetColor(
const glsColor& color ) = 0;
227 GLS_EXPORT
virtual void Normal3f(
float x,
float y,
float z ) = 0;
229 GLS_EXPORT
virtual void AmbientMaterial(
const glsColor& color ) = 0;
230 GLS_EXPORT
virtual void DiffuseMaterial(
const glsColor& color ) = 0;
231 GLS_EXPORT
virtual void SpecularMaterial(
const glsColor& color ) = 0;
232 GLS_EXPORT
virtual void EmissionMaterial(
const glsColor& color ) = 0;
233 GLS_EXPORT
virtual void ShininessMaterial(
float shininess ) = 0;
235 GLS_EXPORT
virtual void LightingEnabled(
bool val ) = 0;
236 GLS_EXPORT
virtual void GouraudShadingEnabled(
bool val ) = 0;
237 GLS_EXPORT
virtual bool IsLightingEnabled(
void ) = 0;
238 GLS_EXPORT
virtual bool IsLightSourceEnabled(
unsigned int index ) = 0;
239 GLS_EXPORT
virtual unsigned int GetMaxNumLights(
void ) = 0;
240 GLS_EXPORT
virtual void SetLightEnabled(
unsigned int index,
bool enabled ) = 0;
244 GLS_EXPORT
virtual void SetLightAmbientColor(
unsigned int index, GLfloat* color ) = 0;
245 GLS_EXPORT
virtual void GetLightAmbientColor(
unsigned int index, GLfloat* color ) = 0;
246 GLS_EXPORT
virtual void SetLightDiffuseColor(
unsigned int index, GLfloat* color ) = 0;
247 GLS_EXPORT
virtual void GetLightDiffuseColor(
unsigned int index, GLfloat* color ) = 0;
248 GLS_EXPORT
virtual void SetLightSpecularColor(
unsigned int index, GLfloat* color ) = 0;
249 GLS_EXPORT
virtual void GetLightSpecularColor(
unsigned int index, GLfloat* color ) = 0;
250 GLS_EXPORT
virtual void SetLightPosition(
unsigned int index, GLfloat* position ) = 0;
251 GLS_EXPORT
virtual void GetLightPosition(
unsigned int index, GLfloat* position ) = 0;
252 GLS_EXPORT
virtual void SetSpotlightDirection(
unsigned int index, GLfloat* direction ) = 0;
253 GLS_EXPORT
virtual void GetSpotlightDirection(
unsigned int index, GLfloat* direction ) = 0;
254 GLS_EXPORT
virtual void SetSpotlightCutoff(
unsigned int index, GLfloat cutoff ) = 0;
255 GLS_EXPORT
virtual GLfloat GetSpotlightCutoff(
unsigned int index ) = 0;
256 GLS_EXPORT
virtual void SetSpotlightExponent(
unsigned int index, GLfloat exponent ) = 0;
257 GLS_EXPORT
virtual GLfloat GetSpotlightExponent(
unsigned int index ) = 0;
258 GLS_EXPORT
virtual void SetLightAttenuation(
unsigned int index, GLfloat constant, GLfloat linear, GLfloat quadratic ) = 0;
259 GLS_EXPORT
virtual void GetLightAttenuation(
unsigned int index, GLfloat& constant, GLfloat& linear, GLfloat& quadratic ) = 0;
261 GLS_EXPORT
virtual unsigned int GetMaxClipPlanes(
void ) = 0;
265 GLS_EXPORT
virtual void ClipPlanef(
unsigned int index,
float* equation ) = 0;
266 GLS_EXPORT
virtual void GetClipPlanef(
unsigned int index,
float* equation ) = 0;
268 GLS_EXPORT
virtual void EnableClipPlane(
unsigned int index ) = 0;
269 GLS_EXPORT
virtual void DisableClipPlane(
unsigned int index ) = 0;
270 GLS_EXPORT
virtual bool IsClipPlaneEnabled(
unsigned int index ) = 0;
281 GLS_EXPORT
virtual void DrawArrays(
const GLenum mode,
const GLint first,
const GLsizei count ) = 0;
294 GLS_EXPORT
virtual void DrawElements(
const GLenum mode,
const GLsizei count,
const GLenum type,
const GLvoid* indices ) = 0;
306 #endif // DISTI_GLS_STATE_MANAGER_INTERFACE_H_INCLUDED
virtual void DrawElements(const GLenum mode, const GLsizei count, const GLenum type, const GLvoid *indices)=0
Definition: IFontImage.h:53
virtual void MultModelViewMatrixf(const GlsMatrixType &m, const GLboolean pushMatrix)=0
~IGlsStateManager()
Definition: gls_state_manager_interface.h:301
A base class for objects that are not copyable via the standard C++ copy constructor.
Definition: gls_state_manager_interface.h:91
The GlsMatrixAffine class.
virtual void PushTextureMatrix(void)=0
virtual void TranslateTextureMatrixf(GLfloat x, GLfloat y, GLfloat z)=0
virtual void ScaleTextureMatrixf(GLfloat x, GLfloat y, GLfloat z)=0
Definition: gls_state_manager_interface.h:66
virtual void TranslateModelViewMatrixf(GLfloat x, GLfloat y, GLfloat z)=0
The Color class: Implements a 4 component RGBA color.
virtual void SetDefaultState(bool forceResetUnmanagedState=false)=0
Definition: gls_state_manager_interface.h:94
A file for all GL Studio files to include.
IGlsStateManager(void)
Definition: gls_state_manager_interface.h:298
Definition: gls_state_manager_interface.h:93
virtual void LoadProjectionMatrixf(const GlsMatrixType &m)=0
virtual void PopModelViewMatrix(void)=0
virtual void LoadTextureMatrixf(const GlsMatrixType &m)=0
Definition: gls_color.h:53
Definition: gls_state_manager_interface.h:92
virtual void PushModelViewMatrix(void)=0
virtual void PopTextureMatrix(void)=0
virtual void DrawArrays(const GLenum mode, const GLint first, const GLsizei count)=0
Definition: non_copyable.h:45
Definition: bmpimage.h:46
virtual void LoadModelViewMatrixf(const GlsMatrixType &m)=0