#include <VProgram.h>
Public Member Functions | |
VProgram () | |
VProgram (const VShader &shaShader) | |
VProgram (const VShader &shaShaderA, const VShader &shaShaderB) | |
~VProgram () | |
VProgram & | operator= (const VProgram &rhs) |
void | attach (const VShader &shaShader) |
void | detach (const VShader &shaShader) |
void | bind () |
void | release () |
const int | getUniformLocation (const std::string &strName) const |
const int | getAttributeLocation (const std::string &strName) const |
Protected Member Functions | |
VProgram (const VProgram &rhs) | |
void | link () |
void | initialize () |
void | uninitialize () |
Private Attributes | |
int * | m_refCount |
unsigned int | m_uProgram |
std::list< VShader > | m_lisShaders |
Definition at line 11 of file VProgram.h.
VProgram::VProgram | ( | ) | [inline] |
VProgram::VProgram | ( | const VShader & | shaShader | ) | [inline] |
constructor
shaShader | Shader Object |
Definition at line 29 of file VProgram.h.
References attach(), initialize(), and m_refCount.
constructor
shaShaderA | Shader1 | |
shaShaderB | Shader2 |
Definition at line 42 of file VProgram.h.
References attach(), initialize(), and m_refCount.
VProgram::~VProgram | ( | ) | [inline] |
default destructor
Definition at line 54 of file VProgram.h.
References m_refCount, and uninitialize().
VProgram::VProgram | ( | const VProgram & | rhs | ) | [inline, protected] |
copy constructor
Definition at line 128 of file VProgram.h.
References m_lisShaders, m_refCount, and m_uProgram.
assignment operator
Definition at line 68 of file VProgram.h.
References m_lisShaders, m_refCount, m_uProgram, and uninitialize().
void VProgram::attach | ( | const VShader & | shaShader | ) |
attaches a Shader to the current Program
shaShader | Shader to attach |
Definition at line 4 of file VProgram.cpp.
References VShader::attach(), VShader::GetObject(), link(), m_lisShaders, and m_uProgram.
Referenced by VProgram().
void VProgram::detach | ( | const VShader & | shaShader | ) |
detaches a Shader from the current Program
shaShader | Shader to detach |
Definition at line 35 of file VProgram.cpp.
References VShader::detach(), VShader::GetObject(), link(), m_lisShaders, and m_uProgram.
void VProgram::bind | ( | ) |
binds the current Program
Definition at line 66 of file VProgram.cpp.
References m_uProgram.
Referenced by VFlowData::generateTextures(), VImage::renderOuterScreen(), VFramebufferObject::renderToFullScreen(), VFramebufferObject::renderToLowerLeftQuad(), VImage::renderToLowerRightQuad(), VFramebufferObject::renderToLowerRightQuad(), VFlowRenderer::setShaderWrapperGlyph(), VFlowRenderer::setShaderWrapperGlyphTf(), VFlowRenderer::setShaderWrapperIcon(), VFlowRenderer::setShaderWrapperLIC(), VFlowRenderer::setShaderWrapperLICTexture(), VFlowRenderer::setShaderWrapperLICTextureTf(), VFlowRenderer::setShaderWrapperLICTf(), VFlowRenderer::setShaderWrapperOLICTexture(), VFlowRenderer::setShaderWrapperPressure(), VFlowRenderer::setShaderWrapperStreamLines(), VFlowRenderer::setShaderWrapperStreamLinesGlyph(), VFlowRenderer::setShaderWrapperStreamLinesTf(), VFlowRenderer::setShaderWrapperStreamLinesTfGlyph(), VFlowRenderer::setShaderWrapperVelocity(), and VFlowRenderer::setShaderWrapperVorticity().
void VProgram::release | ( | ) |
releases the current Program
Definition at line 78 of file VProgram.cpp.
References m_uProgram.
Referenced by VFlowRenderer::clearShaderWrapperGlyph(), VFlowRenderer::clearShaderWrapperGlyphTf(), VFlowRenderer::clearShaderWrapperIcon(), VFlowRenderer::clearShaderWrapperLIC(), VFlowRenderer::clearShaderWrapperLICTexture(), VFlowRenderer::clearShaderWrapperLICTextureTf(), VFlowRenderer::clearShaderWrapperLICTf(), VFlowRenderer::clearShaderWrapperOLICTexture(), VFlowRenderer::clearShaderWrapperPressure(), VFlowRenderer::clearShaderWrapperStreamLines(), VFlowRenderer::clearShaderWrapperStreamLinesGlyph(), VFlowRenderer::clearShaderWrapperStreamLinesTf(), VFlowRenderer::clearShaderWrapperStreamLinesTfGlyph(), VFlowRenderer::clearShaderWrapperVelocity(), VFlowRenderer::clearShaderWrapperVorticity(), VFlowData::generateTextures(), VImage::renderOuterScreen(), VFramebufferObject::renderToFullScreen(), VFramebufferObject::renderToLowerLeftQuad(), VImage::renderToLowerRightQuad(), and VFramebufferObject::renderToLowerRightQuad().
const int VProgram::getUniformLocation | ( | const std::string & | strName | ) | const |
gets the Handle to the Uniform with the given Name
name | Name of Uniform |
Definition at line 90 of file VProgram.cpp.
References m_uProgram.
Referenced by VFlowData::generateTextures(), VFramebufferObject::renderToFullScreen(), VFramebufferObject::renderToLowerLeftQuad(), VFramebufferObject::renderToLowerRightQuad(), VFlowRenderer::setShaderWrapperGlyph(), VFlowRenderer::setShaderWrapperGlyphTf(), VFlowRenderer::setShaderWrapperIcon(), VFlowRenderer::setShaderWrapperLIC(), VFlowRenderer::setShaderWrapperLICTexture(), VFlowRenderer::setShaderWrapperLICTextureTf(), VFlowRenderer::setShaderWrapperLICTf(), VFlowRenderer::setShaderWrapperOLICTexture(), VFlowRenderer::setShaderWrapperPressure(), VFlowRenderer::setShaderWrapperStreamLines(), VFlowRenderer::setShaderWrapperStreamLinesGlyph(), VFlowRenderer::setShaderWrapperStreamLinesTf(), VFlowRenderer::setShaderWrapperStreamLinesTfGlyph(), VFlowRenderer::setShaderWrapperVelocity(), and VFlowRenderer::setShaderWrapperVorticity().
const int VProgram::getAttributeLocation | ( | const std::string & | strName | ) | const |
gets the Handle to the Shader Parameter with given Attribute
name | Name of Attribute |
Definition at line 106 of file VProgram.cpp.
References m_uProgram.
void VProgram::link | ( | ) | [protected] |
void VProgram::initialize | ( | ) | [protected] |
inits the current Program
Definition at line 153 of file VProgram.cpp.
References m_uProgram.
Referenced by VProgram().
void VProgram::uninitialize | ( | ) | [protected] |
uninitializes the Program
Definition at line 168 of file VProgram.cpp.
References m_lisShaders, and m_uProgram.
Referenced by operator=(), and ~VProgram().
int* VProgram::m_refCount [private] |
refcount of Program.
Definition at line 153 of file VProgram.h.
Referenced by operator=(), VProgram(), and ~VProgram().
unsigned int VProgram::m_uProgram [private] |
Handle to the Current Program.
Definition at line 154 of file VProgram.h.
Referenced by attach(), bind(), detach(), getAttributeLocation(), getUniformLocation(), initialize(), link(), operator=(), release(), uninitialize(), and VProgram().
std::list<VShader> VProgram::m_lisShaders [private] |
Shader Object attached to the current Program.
Definition at line 155 of file VProgram.h.
Referenced by attach(), detach(), operator=(), uninitialize(), and VProgram().