|  | GL Studio C++ Runtime API
    | 
#include <gls_state_manager_interface.h>
 
  
 | Public Types | |
| enum | |
| enum | { MATRIX_STACK_DEPTH = 64u, PROJECTION_STACK_DEPTH = 64u, TEXTURE_STACK_DEPTH = 64u, CUSTOM_SHADER_PROGRAM_STACK_DEPTH = 64u } | 
| Public Member Functions | |
| virtual void | SetDefaultState (bool forceResetUnmanagedState=false)=0 | 
| virtual void | LoadProjectionMatrixf (const GlsMatrixType &m)=0 | 
| virtual void | LoadModelViewMatrixf (const GlsMatrixType &m)=0 | 
| virtual void | MultModelViewMatrixf (const GlsMatrixType &m, const GLboolean pushMatrix)=0 | 
| virtual void | TranslateModelViewMatrixf (GLfloat x, GLfloat y, GLfloat z)=0 | 
| virtual void | PushModelViewMatrix (void)=0 | 
| virtual void | PopModelViewMatrix (void)=0 | 
| virtual void | LoadTextureMatrixf (const GlsMatrixType &m)=0 | 
| virtual void | ScaleTextureMatrixf (GLfloat x, GLfloat y, GLfloat z)=0 | 
| virtual void | TranslateTextureMatrixf (GLfloat x, GLfloat y, GLfloat z)=0 | 
| virtual void | PushTextureMatrix (void)=0 | 
| virtual void | PopTextureMatrix (void)=0 | 
| virtual void | DrawArrays (const GLenum mode, const GLint first, const GLsizei count)=0 | 
| virtual void | DrawElements (const GLenum mode, const GLsizei count, const GLenum type, const GLvoid *indices)=0 | 
| Protected Member Functions | |
| IGlsStateManager (void) | |
| ~IGlsStateManager () | |
The interface to a state manager that manages the GL Studio runtime library's use of the OpenGL context, minimizing unnecessary state changes
| anonymous enum | 
| anonymous enum | 
supported texture mapping modes
| 
 | inlineprotected | 
empty ctor
| 
 | inlineprotected | 
empty dtor
| 
 | pure virtual | 
equivalent to glDrawArrays call
| mode | primitive mode to draw ( GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, or GL_TRIANGLES ) | 
| first | starting index in the enabled arrays | 
| count | the number of indices to be rendered | 
| 
 | pure virtual | 
equivalent to glDrawElements call
| mode | primitive mode to draw ( GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, or GL_TRIANGLES ) | 
| count | the number of elements to be rendered | 
| type | Specifies the type of the values in indices ( GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT ) | 
| indices | pointer to the location where the indices are stored else an offset in bytes into the the currently bound element array buffer | 
| 
 | pure virtual | 
load the given matrix on to the top of the matrix stack
| 
 | pure virtual | 
load the given matrix into the projection matrix
| 
 | pure virtual | 
load the given matrix on to the top of the texture matrix stack
| 
 | pure virtual | 
Multiply (and optionally push) the top of the stack by the given matrix such that if t is the top of the matrix then t=t*m . If pushMatrix is true then the matrix stack is pushed before the multiplication.
| m | matrix to multiply by | 
| pushMatrix | true to push the matrix stack before multiplying | 
| 
 | pure virtual | 
pop the matrix stack
| 
 | pure virtual | 
pop the texture matrix stack
| 
 | pure virtual | 
push the matrix stack
| 
 | pure virtual | 
push the texture matrix stack
| 
 | pure virtual | 
apply a scale factor to the top of the texture matrix stack
| x | the x-coordinate of the scale vector | 
| y | the y-coordinate of the scale vector | 
| z | the z-coordinate of the scale vector | 
| 
 | pure virtual | 
Initializes the state manager to its default states and then sends that state to the OpenGL context
| forceResetUnmanagedState | force the reset of all GL state, even state unmanaged by GL Studio | 
| 
 | pure virtual | 
apply a translation to the top of the model view matrix stack
| x | the x-coordinate of the translation vector | 
| y | the y-coordinate of the translation vector | 
| z | the z-coordinate of the translation vector | 
| 
 | pure virtual | 
apply a translation to the top of the texture matrix stack
| x | the x-coordinate of the translation vector | 
| y | the y-coordinate of the translation vector | 
| z | the z-coordinate of the translation vector |