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