GL Studio C++ Runtime API
|
#include <gls_state_manager_es20_interface.h>
Classes | |
struct | gl_LightSourceParameters |
Public Member Functions | |
virtual void | AlphaBlendFuncSeparate (GLenum srcColor, GLenum dstColor, GLenum srcAlpha, GLenum dstAlpha)=0 |
virtual void | AlphaBlendFunc (GLenum src, GLenum dst)=0 |
virtual void | PushAlphaBlendFunc ()=0 |
virtual void | PopAlphaBlendFunc ()=0 |
virtual void | PushCustomShaderProgram (GlsEffect *effect, const GLboolean useProgramImmediately)=0 |
virtual void | PopCustomShaderProgram (void)=0 |
virtual bool | HasCustomShader (void) const =0 |
virtual void | UpdateShaderProgram (const GLboolean forceUpdate)=0 |
virtual void | UpdateShaderAttributes (void)=0 |
virtual void | UpdateShaderUniforms (void)=0 |
Public Member Functions inherited from IGlsStateManager | |
virtual void | SetDefaultAlphaBlendFunc ()=0 |
Protected Member Functions | |
IGlsStateManagerES20 (void) | |
~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 |
Wrapper for glBlendFunc. Parameters are equivalent to glBlendFunc
Implements IGlsStateManager.
|
pure virtual |
Wrapper for glBlendFuncSeparate if supported, or glBlendFunc (ignoring the last two parameters) if glBlendFuncSeparate is not supported. Parameters are equivalent to glBlendFuncSeparate
Implements IGlsStateManager.
|
pure virtual |
Returns true if there is at least one custom shader on the stack
|
pure virtual |
pops the previously pushed alpha blend func from the stack and restores its state to the opengl context
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 |
pushes the current alpha blend func onto an internal stack. Can restore the pushed alpha blend func by calling PopAlphaBlendFunc
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 |
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