44 #ifndef DISTI_GLS_STATE_MANAGER_INTERFACE_H_INCLUDED 
   45 #define DISTI_GLS_STATE_MANAGER_INTERFACE_H_INCLUDED 
   55 #ifndef LESS_MAX_LIGHTS 
   73     GLS_EXPORT 
virtual void AlphaBlendFuncSeparate( GLenum srcColor, GLenum dstColor, GLenum srcAlpha, GLenum dstAlpha ) = 0;
 
   81     GLS_EXPORT 
virtual void AlphaBlendFunc( GLenum src, GLenum dst ) = 0;
 
   86         GLS_TEXTURE_MAP_MODE_MODULATE = 0x2100, 
 
   87         GLS_TEXTURE_MAP_MODE_DECAL    = 0x2101, 
 
   88         GLS_TEXTURE_MAP_MODE_BLEND    = 0x0BE2, 
 
   89         GLS_TEXTURE_MAP_MODE_REPLACE  = 0x1E01  
 
   96     GLS_EXPORT 
virtual void SetDefaultState( 
bool forceResetUnmanagedState = 
false ) = 0;
 
  104         MATRIX_STACK_DEPTH                = 64u, 
 
  105         PROJECTION_STACK_DEPTH            = 64u, 
 
  106         TEXTURE_STACK_DEPTH               = 64u, 
 
  107         CUSTOM_SHADER_PROGRAM_STACK_DEPTH = 64u  
 
  114     GLS_EXPORT 
virtual void LoadProjectionMatrixf( 
const GlsMatrixType& m ) = 0;
 
  116     GLS_EXPORT 
virtual void LoadProjectionIdentityMatrix( 
void ) = 0;
 
  118     GLS_EXPORT 
virtual void PushProjectionMatrix( 
void ) = 0;
 
  120     GLS_EXPORT 
virtual void PopProjectionMatrix( 
void ) = 0;
 
  126     GLS_EXPORT 
virtual void LoadModelViewMatrixf( 
const GlsMatrixType& m ) = 0;
 
  128     GLS_EXPORT 
virtual void LoadModelViewIdentityMatrix( 
void ) = 0;
 
  138     GLS_EXPORT 
virtual void MultModelViewMatrixf( 
const GlsMatrixType& m, 
const GLboolean pushMatrix ) = 0;
 
  145     GLS_EXPORT 
virtual void TranslateModelViewMatrixf( GLfloat x, GLfloat y, GLfloat z ) = 0;
 
  151     GLS_EXPORT 
virtual void PushModelViewMatrix( 
void ) = 0;
 
  157     GLS_EXPORT 
virtual void PopModelViewMatrix( 
void ) = 0;
 
  163     GLS_EXPORT 
virtual void LoadTextureMatrixf( 
const GlsMatrixType& m ) = 0;
 
  165     GLS_EXPORT 
virtual void LoadTextureIdentityMatrix( 
void ) = 0;
 
  172     GLS_EXPORT 
virtual void ScaleTextureMatrixf( GLfloat x, GLfloat y, GLfloat z ) = 0;
 
  179     GLS_EXPORT 
virtual void TranslateTextureMatrixf( GLfloat x, GLfloat y, GLfloat z ) = 0;
 
  185     GLS_EXPORT 
virtual void PushTextureMatrix( 
void ) = 0;
 
  191     GLS_EXPORT 
virtual void PopTextureMatrix( 
void ) = 0;
 
  198     GLS_EXPORT 
virtual void AlphaBlendEnabled( 
bool val )             = 0;
 
  199     GLS_EXPORT 
virtual void AlphaTestEnabled( 
bool val )              = 0;
 
  200     GLS_EXPORT 
virtual void AlphaTestFunc( GLenum func, GLfloat val ) = 0;
 
  202     GLS_EXPORT 
virtual void DepthTestEnabled( 
bool val )           = 0;
 
  203     GLS_EXPORT 
virtual void DepthMaskEnabled( 
bool val )           = 0;
 
  204     GLS_EXPORT 
virtual bool IsDepthMaskEnabled( 
void )             = 0;
 
  205     GLS_EXPORT 
virtual void DepthFunc( GLenum func )               = 0;
 
  206     GLS_EXPORT 
virtual void DepthRange( GLfloat min, GLfloat max ) = 0;
 
  208     GLS_EXPORT 
virtual void BackfaceCullingEnabled( 
bool val ) = 0;
 
  210     GLS_EXPORT 
virtual void Texture2DEnabled( 
bool val )           = 0;
 
  211     GLS_EXPORT 
virtual void ActiveTexture( GLenum textureUnit )    = 0;
 
  212     GLS_EXPORT 
virtual void BindTexture( 
IFontImage* texture )     = 0;
 
  213     GLS_EXPORT 
virtual void DeleteTexture( 
IFontImage* texture )   = 0;
 
  214     GLS_EXPORT 
virtual void SetTextureWrapS( GLenum mode )         = 0;
 
  215     GLS_EXPORT 
virtual void SetTextureWrapT( GLenum mode )         = 0;
 
  216     GLS_EXPORT 
virtual void SetTextureEnvMode( GLenum mode )       = 0;
 
  217     GLS_EXPORT 
virtual void SetTextureBlendColor( GLfloat* color ) = 0;
 
  218     GLS_EXPORT 
virtual void SetTextureMinFilter( GLenum mode )     = 0;
 
  219     GLS_EXPORT 
virtual void SetTextureMagFilter( GLenum mode )     = 0;
 
  221     GLS_EXPORT 
virtual void BindIndexBuffer( 
unsigned int handle )  = 0;
 
  222     GLS_EXPORT 
virtual void BindVertexBuffer( 
unsigned int handle ) = 0;
 
  224     GLS_EXPORT 
virtual void VertexArrayEnabled( 
bool val )  = 0;
 
  225     GLS_EXPORT 
virtual void NormalArrayEnabled( 
bool val )  = 0;
 
  226     GLS_EXPORT 
virtual void TextureArrayEnabled( 
bool val ) = 0;
 
  227     GLS_EXPORT 
virtual void ColorArrayEnabled( 
bool val )   = 0;
 
  229     GLS_EXPORT 
virtual void VertexPointer( GLint size, GLenum type, GLsizei stride, 
const GLvoid* pointer )   = 0;
 
  230     GLS_EXPORT 
virtual void TexCoordPointer( GLint size, GLenum type, GLsizei stride, 
const GLvoid* pointer ) = 0;
 
  231     GLS_EXPORT 
virtual void NormalPointer( GLenum type, GLsizei stride, 
const GLvoid* pointer )               = 0;
 
  232     GLS_EXPORT 
virtual void ColorPointer( GLint size, GLenum type, GLsizei stride, 
const GLvoid* pointer )    = 0;
 
  234     GLS_EXPORT 
virtual void LineSmoothEnabled( 
bool val )                                  = 0;
 
  235     GLS_EXPORT 
virtual void LineWidth( 
float width )                                       = 0;
 
  236     GLS_EXPORT 
virtual void PointSize( 
float size )                                        = 0;
 
  237     GLS_EXPORT 
virtual void LineStipple( 
unsigned short pattern, 
unsigned int multiplier ) = 0;
 
  238     GLS_EXPORT 
virtual void SetColor( 
const glsColor& color )                              = 0;
 
  239     GLS_EXPORT 
virtual void Normal3f( 
float x, 
float y, 
float z )                          = 0;
 
  241     GLS_EXPORT 
virtual void AmbientMaterial( 
const glsColor& color )  = 0;
 
  242     GLS_EXPORT 
virtual void DiffuseMaterial( 
const glsColor& color )  = 0;
 
  243     GLS_EXPORT 
virtual void SpecularMaterial( 
const glsColor& color ) = 0;
 
  244     GLS_EXPORT 
virtual void EmissionMaterial( 
const glsColor& color ) = 0;
 
  245     GLS_EXPORT 
virtual void ShininessMaterial( 
float shininess )      = 0;
 
  247     GLS_EXPORT 
virtual void         LightingEnabled( 
bool val )                         = 0;
 
  248     GLS_EXPORT 
virtual void         GouraudShadingEnabled( 
bool val )                   = 0;
 
  249     GLS_EXPORT 
virtual bool         IsLightingEnabled( 
void )                           = 0;
 
  250     GLS_EXPORT 
virtual bool         IsLightSourceEnabled( 
unsigned int index )          = 0;
 
  251     GLS_EXPORT 
virtual unsigned int GetMaxNumLights( 
void )                             = 0;
 
  252     GLS_EXPORT 
virtual void         SetLightEnabled( 
unsigned int index, 
bool enabled ) = 0;
 
  256     GLS_EXPORT 
virtual void    SetLightAmbientColor( 
unsigned int index, GLfloat* color )                                        = 0;
 
  257     GLS_EXPORT 
virtual void    GetLightAmbientColor( 
unsigned int index, GLfloat* color )                                        = 0;
 
  258     GLS_EXPORT 
virtual void    SetLightDiffuseColor( 
unsigned int index, GLfloat* color )                                        = 0;
 
  259     GLS_EXPORT 
virtual void    GetLightDiffuseColor( 
unsigned int index, GLfloat* color )                                        = 0;
 
  260     GLS_EXPORT 
virtual void    SetLightSpecularColor( 
unsigned int index, GLfloat* color )                                       = 0;
 
  261     GLS_EXPORT 
virtual void    GetLightSpecularColor( 
unsigned int index, GLfloat* color )                                       = 0;
 
  262     GLS_EXPORT 
virtual void    SetLightPosition( 
unsigned int index, GLfloat* position )                                         = 0;
 
  263     GLS_EXPORT 
virtual void    GetLightPosition( 
unsigned int index, GLfloat* position )                                         = 0;
 
  264     GLS_EXPORT 
virtual void    SetSpotlightDirection( 
unsigned int index, GLfloat* direction )                                   = 0;
 
  265     GLS_EXPORT 
virtual void    GetSpotlightDirection( 
unsigned int index, GLfloat* direction )                                   = 0;
 
  266     GLS_EXPORT 
virtual void    SetSpotlightCutoff( 
unsigned int index, GLfloat cutoff )                                          = 0;
 
  267     GLS_EXPORT 
virtual GLfloat GetSpotlightCutoff( 
unsigned int index )                                                          = 0;
 
  268     GLS_EXPORT 
virtual void    SetSpotlightExponent( 
unsigned int index, GLfloat exponent )                                      = 0;
 
  269     GLS_EXPORT 
virtual GLfloat GetSpotlightExponent( 
unsigned int index )                                                        = 0;
 
  270     GLS_EXPORT 
virtual void    SetLightAttenuation( 
unsigned int index, GLfloat constant, GLfloat linear, GLfloat quadratic )    = 0;
 
  271     GLS_EXPORT 
virtual void    GetLightAttenuation( 
unsigned int index, GLfloat& constant, GLfloat& linear, GLfloat& quadratic ) = 0;
 
  273     GLS_EXPORT 
virtual unsigned int GetMaxClipPlanes( 
void ) = 0;
 
  277     GLS_EXPORT 
virtual void ClipPlanef( 
unsigned int index, 
float* equation )    = 0;
 
  278     GLS_EXPORT 
virtual void GetClipPlanef( 
unsigned int index, 
float* equation ) = 0;
 
  280     GLS_EXPORT 
virtual void EnableClipPlane( 
unsigned int index )    = 0;
 
  281     GLS_EXPORT 
virtual void DisableClipPlane( 
unsigned int index )   = 0;
 
  282     GLS_EXPORT 
virtual bool IsClipPlaneEnabled( 
unsigned int index ) = 0;
 
  293     GLS_EXPORT 
virtual void DrawArrays( 
const GLenum mode, 
const GLint first, 
const GLsizei count ) = 0;
 
  306     GLS_EXPORT 
virtual void DrawElements( 
const GLenum mode, 
const GLsizei count, 
const GLenum type, 
const GLvoid* indices ) = 0;
 
  322 #endif // DISTI_GLS_STATE_MANAGER_INTERFACE_H_INCLUDED 
virtual void AlphaBlendFuncSeparate(GLenum srcColor, GLenum dstColor, GLenum srcAlpha, GLenum dstAlpha)=0
Definition: IFontImage.h:53
virtual void PopAlphaBlendFunc()=0
A base class for objects that are not copyable via the standard C++ copy constructor. 
The GlsMatrixAffine class. 
IGlsStateManager()
Definition: gls_state_manager_interface.h:311
Definition: gls_state_manager_interface.h:67
The Color class: Implements a 4 component RGBA color. 
A file for all GL Studio files to include. 
virtual void PushAlphaBlendFunc()=0
Definition: scoped_ptr.h:53
Definition: gls_color.h:53
A smart pointer with unique ownership – poor man's std::unique_ptr. 
virtual void SetDefaultAlphaBlendFunc()=0
Definition: non_copyable.h:45
Definition: bmpimage.h:46
virtual void AlphaBlendFunc(GLenum src, GLenum dst)=0
virtual ~IGlsStateManager()
Definition: gls_state_manager_interface.h:316