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