18 #ifndef INCLUDED_SHADERTECHNIQUE
19 #define INCLUDED_SHADERTECHNIQUE
38 void AlphaFunc(GLenum func, GLclampf ref);
40 void ColorMask(GLboolean r, GLboolean g, GLboolean b, GLboolean a);
114 #endif // INCLUDED_SHADERTECHNIQUE
void Bind()
Set up all the GL state that was previously specified on this pass.
void AlphaFunc(GLenum func, GLclampf ref)
void BeginPass(int pass=0)
const CShaderProgramPtr & GetShader(int pass=0) const
shared_ptr< CShaderTechnique > CShaderTechniquePtr
void SetSortByDistance(bool enable)
void ColorMask(GLboolean r, GLboolean g, GLboolean b, GLboolean a)
CShaderProgramPtr m_Shader
Implements a render pass consisting of various GL state changes and a shader, used by CShaderTechniqu...
bool GetSortByDistance() const
Whether this technique uses alpha blending that requires objects to be drawn from furthest to nearest...
void BlendFunc(GLenum src, GLenum dst)
const CShaderProgramPtr & GetShader() const
Implements a render technique consisting of a sequence of passes.
void DepthFunc(GLenum func)
void DepthMask(GLboolean mask)
void AddPass(const CShaderPass &pass)
void SetShader(const CShaderProgramPtr &shader)
Set the shader program used for rendering with this pass.
shared_ptr< CShaderProgram > CShaderProgramPtr
std::vector< CShaderPass > m_Passes
void Unbind()
Reset the GL state to the default.