18 #include "precompiled.h"
23 m_HasAlpha(false), m_HasBlend(false), m_HasColorMask(false), m_HasDepthMask(false), m_HasDepthFunc(false)
34 glEnable(GL_ALPHA_TEST);
63 glDisable(GL_ALPHA_TEST);
70 glColorMask(1, 1, 1, 1);
76 glDepthFunc(GL_LEQUAL);
116 : m_SortByDistance(false)
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
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...
#define ENSURE(expr)
ensure the expression <expr> evaluates to non-zero.
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)
void DepthFunc(GLenum func)
void DepthMask(GLboolean mask)
void AddPass(const CShaderPass &pass)
shared_ptr< CShaderProgram > CShaderProgramPtr
std::vector< CShaderPass > m_Passes
void Unbind()
Reset the GL state to the default.