GL Studio C++ Runtime API
|
#include <gls_state_manager_es20_interface.h>
Classes | |
struct | gl_LightSourceParameters |
Public Member Functions | |
virtual GlsMatrixType & | GetTopModelViewMatrix ()=0 |
virtual GlsMatrixType & | GetTopProjMatrix ()=0 |
virtual void | TangentArrayEnabled (bool val)=0 |
virtual void | BinormalArrayEnabled (bool val)=0 |
virtual void | TangentPointer (GLenum type, GLsizei stride, const GLvoid *pointer)=0 |
virtual void | BinormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer)=0 |
virtual void | AlphaBlendFuncSeparate (GLenum srcColor, GLenum dstColor, GLenum srcAlpha, GLenum dstAlpha)=0 |
virtual void | AlphaBlendFunc (GLenum src, GLenum dst)=0 |
virtual void | PushAlphaBlendFunc ()=0 |
Push the current alpha blend function on the stack. More... | |
virtual void | PopAlphaBlendFunc ()=0 |
Pop the current alpha blend function off the stack. More... | |
virtual gl_LightSourceParameters & | GetLightSourceParameters (unsigned int index)=0 |
virtual void | PushCustomShaderProgram (GlsEffect *effect, const GLboolean useProgramImmediately)=0 |
virtual void | PopCustomShaderProgram ()=0 |
virtual bool | HasCustomShader () const =0 |
virtual void | UpdateShaderProgram (const GLboolean forceUpdate)=0 |
virtual void | UpdateShaderAttributes ()=0 |
virtual void | UpdateShaderUniforms ()=0 |
Public Member Functions inherited from IGlsStateManager | |
virtual void | AlphaBlendFuncSeparate (GLenum srcColor, GLenum dstColor, GLenum srcAlpha, GLenum dstAlpha)=0 |
virtual void | SetDefaultAlphaBlendFunc ()=0 |
Sets the default blend function for GL Studio. | |
virtual void | PushAlphaBlendFunc ()=0 |
Pushes the current alpha blend func onto an internal stack. Can restore the pushed alpha blend func by calling PopAlphaBlendFunc. More... | |
virtual void | PopAlphaBlendFunc ()=0 |
Pops the previously pushed alpha blend func from the stack and restores its state to the opengl context. More... | |
virtual void | AlphaBlendFunc (GLenum src, GLenum dst)=0 |
Protected Member Functions | |
IGlsStateManagerES20 () | |
~IGlsStateManagerES20 () | |
Protected Member Functions inherited from IGlsStateManager | |
IGlsStateManager () | |
virtual | ~IGlsStateManager () |
The interface to a state manager that manages the GL Studio runtime library's use of the OpenGL context, minimizing unnecessary state changes, and has support for managing shaders.
|
inlineprotected |
empty ctor
|
inlineprotected |
empty dtor
|
pure virtual |
Set the alpha blend function.
src | Function to use for source color. |
dst | Function to use for destination color. |
Implements IGlsStateManager.
|
pure virtual |
Set the alpha blend function separately for RGB and A channels.
srcColor | Function to use for source color. |
dstColor | Function to use for destination color. |
srcAlpha | Function to use for source alpha. |
dstAlpha | Function to use for destination alpha. |
Implements IGlsStateManager.
|
pure virtual |
Enable or disable the binormal array vertex attribute.
val | The new state flag to set. |
|
pure virtual |
Set the vertex attribute pointer (to underlying data) for the binormal array.
type | Must be GL_FLOAT. |
stride | The stride in bytes between binormal elements in the vertex data. |
pointer | The vertex data. |
|
pure virtual |
index | The light index whose parameters are to be returned. |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Pop the current alpha blend function off the stack.
Implements IGlsStateManager.
|
pure virtual |
Pop the custom shader program stack enabling the next custom shader program on the stack if there is one
|
pure virtual |
Push the current alpha blend function on the stack.
Implements IGlsStateManager.
|
pure virtual |
Enable the given custom shader program and push it to the top of the custom shader program stack
effect | custom shader program |
useProgramImmediately | GL_TRUE if custom shader program should immediately be set as the active shader program else GL_FALSE to allow the state manager to set the program active when it is needed |
|
pure virtual |
Enable or disable the tangent array vertex attribute.
val | The new state flag to set. |
|
pure virtual |
Set the vertex attribute pointer (to underlying data) for the tangent array.
type | Must be GL_FLOAT. |
stride | The stride in bytes between tangent elements in the vertex data. |
pointer | The vertex data. |
|
pure virtual |
Update the attributes for the current shader as needed
|
pure virtual |
Select the appropriate shader program based on the current settings and update the current shader program if needed
forceUpdate | GL_TRUE to force uniforms to be updated as if shader program changed |
|
pure virtual |
Update the uniforms for the current shader as needed