GL Studio C++ Runtime API
IGlsStateManager Interface Referenceabstract

#include <gls_state_manager_interface.h>

Inheritance diagram for IGlsStateManager:
NonCopyable IGlsStateManagerES20

Public Member Functions

virtual void AlphaBlendFuncSeparate (GLenum srcColor, GLenum dstColor, GLenum srcAlpha, GLenum dstAlpha)=0
 
virtual void SetDefaultAlphaBlendFunc ()=0
 
virtual void PushAlphaBlendFunc ()=0
 
virtual void PopAlphaBlendFunc ()=0
 
virtual void AlphaBlendFunc (GLenum src, GLenum dst)=0
 

Protected Member Functions

 IGlsStateManager ()
 
virtual ~IGlsStateManager ()
 

Detailed Description

The interface to a state manager that manages the GL Studio runtime library's use of the OpenGL context, minimizing unnecessary state changes

Constructor & Destructor Documentation

IGlsStateManager ( )
inlineprotected

default ctor

virtual ~IGlsStateManager ( )
inlineprotectedvirtual

dtor is protected but virtual so that users cannot delete instances of it, but ScopedPtr can inside GlsGlobals

Member Function Documentation

virtual void AlphaBlendFunc ( GLenum  src,
GLenum  dst 
)
pure virtual

Wrapper for glBlendFunc. Parameters are equivalent to glBlendFunc

Implemented in IGlsStateManagerES20.

virtual void AlphaBlendFuncSeparate ( GLenum  srcColor,
GLenum  dstColor,
GLenum  srcAlpha,
GLenum  dstAlpha 
)
pure virtual

Wrapper for glBlendFuncSeparate if supported, or glBlendFunc (ignoring the last two parameters) if glBlendFuncSeparate is not supported. Parameters are equivalent to glBlendFuncSeparate

Implemented in IGlsStateManagerES20.

virtual void PopAlphaBlendFunc ( )
pure virtual

pops the previously pushed alpha blend func from the stack and restores its state to the opengl context

Implemented in IGlsStateManagerES20.

virtual void PushAlphaBlendFunc ( )
pure virtual

pushes the current alpha blend func onto an internal stack. Can restore the pushed alpha blend func by calling PopAlphaBlendFunc

Implemented in IGlsStateManagerES20.

virtual void SetDefaultAlphaBlendFunc ( )
pure virtual

sets the default blend function for GL Studio


The documentation for this interface was generated from the following file: