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 |