Pyrogenesis  trunk
Public Member Functions | Private Attributes | List of all members
CShaderPass Class Reference

Implements a render pass consisting of various GL state changes and a shader, used by CShaderTechnique. More...

#include <ShaderTechnique.h>

Public Member Functions

 CShaderPass ()
 
void SetShader (const CShaderProgramPtr &shader)
 Set the shader program used for rendering with this pass. More...
 
void AlphaFunc (GLenum func, GLclampf ref)
 
void BlendFunc (GLenum src, GLenum dst)
 
void ColorMask (GLboolean r, GLboolean g, GLboolean b, GLboolean a)
 
void DepthMask (GLboolean mask)
 
void DepthFunc (GLenum func)
 
void Bind ()
 Set up all the GL state that was previously specified on this pass. More...
 
void Unbind ()
 Reset the GL state to the default. More...
 
const CShaderProgramPtrGetShader () const
 

Private Attributes

CShaderProgramPtr m_Shader
 
bool m_HasAlpha
 
GLenum m_AlphaFunc
 
GLclampf m_AlphaRef
 
bool m_HasBlend
 
GLenum m_BlendSrc
 
GLenum m_BlendDst
 
bool m_HasColorMask
 
GLboolean m_ColorMaskR
 
GLboolean m_ColorMaskG
 
GLboolean m_ColorMaskB
 
GLboolean m_ColorMaskA
 
bool m_HasDepthMask
 
GLboolean m_DepthMask
 
bool m_HasDepthFunc
 
GLenum m_DepthFunc
 

Detailed Description

Implements a render pass consisting of various GL state changes and a shader, used by CShaderTechnique.

Constructor & Destructor Documentation

CShaderPass::CShaderPass ( )

Member Function Documentation

void CShaderPass::AlphaFunc ( GLenum  func,
GLclampf  ref 
)
void CShaderPass::Bind ( )

Set up all the GL state that was previously specified on this pass.

void CShaderPass::BlendFunc ( GLenum  src,
GLenum  dst 
)
void CShaderPass::ColorMask ( GLboolean  r,
GLboolean  g,
GLboolean  b,
GLboolean  a 
)
void CShaderPass::DepthFunc ( GLenum  func)
void CShaderPass::DepthMask ( GLboolean  mask)
const CShaderProgramPtr& CShaderPass::GetShader ( ) const
inline
void CShaderPass::SetShader ( const CShaderProgramPtr shader)
inline

Set the shader program used for rendering with this pass.

void CShaderPass::Unbind ( )

Reset the GL state to the default.

Member Data Documentation

GLenum CShaderPass::m_AlphaFunc
private
GLclampf CShaderPass::m_AlphaRef
private
GLenum CShaderPass::m_BlendDst
private
GLenum CShaderPass::m_BlendSrc
private
GLboolean CShaderPass::m_ColorMaskA
private
GLboolean CShaderPass::m_ColorMaskB
private
GLboolean CShaderPass::m_ColorMaskG
private
GLboolean CShaderPass::m_ColorMaskR
private
GLenum CShaderPass::m_DepthFunc
private
GLboolean CShaderPass::m_DepthMask
private
bool CShaderPass::m_HasAlpha
private
bool CShaderPass::m_HasBlend
private
bool CShaderPass::m_HasColorMask
private
bool CShaderPass::m_HasDepthFunc
private
bool CShaderPass::m_HasDepthMask
private
CShaderProgramPtr CShaderPass::m_Shader
private

The documentation for this class was generated from the following files: