|
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 |