VProgram Class Reference

#include <VProgram.h>

List of all members.

Public Member Functions

 VProgram ()
 VProgram (const VShader &shaShader)
 VProgram (const VShader &shaShaderA, const VShader &shaShaderB)
 ~VProgram ()
VProgramoperator= (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< VShaderm_lisShaders


Detailed Description

class capsulating a Shader Program

Definition at line 11 of file VProgram.h.


Constructor & Destructor Documentation

VProgram::VProgram (  )  [inline]

default constructor

Definition at line 18 of file VProgram.h.

References m_refCount.

VProgram::VProgram ( const VShader shaShader  )  [inline]

constructor

Parameters:
shaShader Shader Object

Definition at line 29 of file VProgram.h.

References attach(), initialize(), and m_refCount.

VProgram::VProgram ( const VShader shaShaderA,
const VShader shaShaderB 
) [inline]

constructor

Parameters:
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.


Member Function Documentation

VProgram& VProgram::operator= ( const VProgram rhs  )  [inline]

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

Parameters:
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

Parameters:
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 VSliceRenderer::drawAllSlices(), VVolumeRenderer::drawBackFaces(), VSliceRenderer::drawCorronalSlice(), VVolumeRenderer::drawFrontFaces(), VSliceRenderer::drawSaggitalSlice(), VSliceRenderer::drawTransversalSlice(), VFramebufferObject::renderToFullScreen(), VFramebufferObject::renderToLowerLeftQuad(), VImage::renderToLowerRightQuad(), VFramebufferObject::renderToLowerRightQuad(), VVolumeRenderer::setShaderWrapperCurvature(), VVolumeRenderer::setShaderWrapperDVR(), VVolumeRenderer::setShaderWrapperDVRbtf(), VVolumeRenderer::setShaderWrapperDVRbtftf(), VVolumeRenderer::setShaderWrapperDVRbtftf2d(), VVolumeRenderer::setShaderWrapperDVRCombMetal(), VVolumeRenderer::setShaderWrapperDVRCombMetal2f(), VVolumeRenderer::setShaderWrapperDVRCombMetalCont(), VVolumeRenderer::setShaderWrapperDVRCombMetalCont2f(), VVolumeRenderer::setShaderWrapperDVRCombMetalContShadow(), VVolumeRenderer::setShaderWrapperDVRCombMetalContShadow2f(), VVolumeRenderer::setShaderWrapperDVRCombMetalShadow(), VVolumeRenderer::setShaderWrapperDVRCombMetalShadow2f(), VVolumeRenderer::setShaderWrapperDVRCombPhong(), VVolumeRenderer::setShaderWrapperDVRCombPhongCont(), VVolumeRenderer::setShaderWrapperDVRCombPhongContShadow(), VVolumeRenderer::setShaderWrapperDVRCombPhongContShadowt2f(), VVolumeRenderer::setShaderWrapperDVRCombPhongContt2f(), VVolumeRenderer::setShaderWrapperDVRCombPhongShadow(), VVolumeRenderer::setShaderWrapperDVRCombPhongShadowt2f(), VVolumeRenderer::setShaderWrapperDVRCombPhongt2f(), VVolumeRenderer::setShaderWrapperDVRCombToon(), VVolumeRenderer::setShaderWrapperDVRCombToon2f(), VVolumeRenderer::setShaderWrapperDVRCombToonCont(), VVolumeRenderer::setShaderWrapperDVRCombToonCont2f(), VVolumeRenderer::setShaderWrapperDVRCombToonContShadow(), VVolumeRenderer::setShaderWrapperDVRCombToonContShadow2f(), VVolumeRenderer::setShaderWrapperDVRCombToonShadow(), VVolumeRenderer::setShaderWrapperDVRCombToonShadow2f(), VVolumeRenderer::setShaderWrapperDVRtf(), VVolumeRenderer::setShaderWrapperDVRtf2d(), VVolumeRenderer::setShaderWrapperMIP(), VVolumeRenderer::setShaderWrapperMIPtf(), and VVolumeRenderer::setShaderWrapperMIPtf2d().

void VProgram::release (  ) 

releases the current Program

Definition at line 78 of file VProgram.cpp.

References m_uProgram.

Referenced by VVolumeRenderer::clearShaderWrapperCurvature(), VVolumeRenderer::clearShaderWrapperDVR(), VVolumeRenderer::clearShaderWrapperDVRbtf(), VVolumeRenderer::clearShaderWrapperDVRbtftf(), VVolumeRenderer::clearShaderWrapperDVRbtftf2d(), VVolumeRenderer::clearShaderWrapperDVRCombMetal(), VVolumeRenderer::clearShaderWrapperDVRCombMetal2f(), VVolumeRenderer::clearShaderWrapperDVRCombMetalCont(), VVolumeRenderer::clearShaderWrapperDVRCombMetalCont2f(), VVolumeRenderer::clearShaderWrapperDVRCombMetalContShadow(), VVolumeRenderer::clearShaderWrapperDVRCombMetalContShadow2f(), VVolumeRenderer::clearShaderWrapperDVRCombMetalShadow(), VVolumeRenderer::clearShaderWrapperDVRCombMetalShadow2f(), VVolumeRenderer::clearShaderWrapperDVRCombPhong(), VVolumeRenderer::clearShaderWrapperDVRCombPhongCont(), VVolumeRenderer::clearShaderWrapperDVRCombPhongContShadow(), VVolumeRenderer::clearShaderWrapperDVRCombPhongContShadowt2f(), VVolumeRenderer::clearShaderWrapperDVRCombPhongContt2f(), VVolumeRenderer::clearShaderWrapperDVRCombPhongShadow(), VVolumeRenderer::clearShaderWrapperDVRCombPhongShadowt2f(), VVolumeRenderer::clearShaderWrapperDVRCombPhongt2f(), VVolumeRenderer::clearShaderWrapperDVRCombToon(), VVolumeRenderer::clearShaderWrapperDVRCombToon2f(), VVolumeRenderer::clearShaderWrapperDVRCombToonCont(), VVolumeRenderer::clearShaderWrapperDVRCombToonCont2f(), VVolumeRenderer::clearShaderWrapperDVRCombToonContShadow(), VVolumeRenderer::clearShaderWrapperDVRCombToonContShadow2f(), VVolumeRenderer::clearShaderWrapperDVRCombToonShadow(), VVolumeRenderer::clearShaderWrapperDVRCombToonShadow2f(), VVolumeRenderer::clearShaderWrapperDVRtf(), VVolumeRenderer::clearShaderWrapperDVRtf2d(), VVolumeRenderer::clearShaderWrapperMIP(), VVolumeRenderer::clearShaderWrapperMIPtf(), VVolumeRenderer::clearShaderWrapperMIPtf2d(), VSliceRenderer::drawAllSlices(), VVolumeRenderer::drawBackFaces(), VSliceRenderer::drawCorronalSlice(), VVolumeRenderer::drawFrontFaces(), VSliceRenderer::drawSaggitalSlice(), VSliceRenderer::drawTransversalSlice(), 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

Parameters:
name Name of Uniform
Returns:
Handle to Uniform

Definition at line 90 of file VProgram.cpp.

References m_uProgram.

Referenced by VSliceRenderer::drawAllSlices(), VVolumeRenderer::drawBackFaces(), VSliceRenderer::drawCorronalSlice(), VVolumeRenderer::drawFrontFaces(), VSliceRenderer::drawSaggitalSlice(), VSliceRenderer::drawTransversalSlice(), VFramebufferObject::renderToFullScreen(), VFramebufferObject::renderToLowerLeftQuad(), VFramebufferObject::renderToLowerRightQuad(), VVolumeRenderer::setShaderWrapperCurvature(), VVolumeRenderer::setShaderWrapperDVR(), VVolumeRenderer::setShaderWrapperDVRbtf(), VVolumeRenderer::setShaderWrapperDVRbtftf(), VVolumeRenderer::setShaderWrapperDVRbtftf2d(), VVolumeRenderer::setShaderWrapperDVRCombMetal(), VVolumeRenderer::setShaderWrapperDVRCombMetal2f(), VVolumeRenderer::setShaderWrapperDVRCombMetalCont(), VVolumeRenderer::setShaderWrapperDVRCombMetalCont2f(), VVolumeRenderer::setShaderWrapperDVRCombMetalContShadow(), VVolumeRenderer::setShaderWrapperDVRCombMetalContShadow2f(), VVolumeRenderer::setShaderWrapperDVRCombMetalShadow(), VVolumeRenderer::setShaderWrapperDVRCombMetalShadow2f(), VVolumeRenderer::setShaderWrapperDVRCombPhong(), VVolumeRenderer::setShaderWrapperDVRCombPhongCont(), VVolumeRenderer::setShaderWrapperDVRCombPhongContShadow(), VVolumeRenderer::setShaderWrapperDVRCombPhongContShadowt2f(), VVolumeRenderer::setShaderWrapperDVRCombPhongContt2f(), VVolumeRenderer::setShaderWrapperDVRCombPhongShadow(), VVolumeRenderer::setShaderWrapperDVRCombPhongShadowt2f(), VVolumeRenderer::setShaderWrapperDVRCombPhongt2f(), VVolumeRenderer::setShaderWrapperDVRCombToon(), VVolumeRenderer::setShaderWrapperDVRCombToon2f(), VVolumeRenderer::setShaderWrapperDVRCombToonCont(), VVolumeRenderer::setShaderWrapperDVRCombToonCont2f(), VVolumeRenderer::setShaderWrapperDVRCombToonContShadow(), VVolumeRenderer::setShaderWrapperDVRCombToonContShadow2f(), VVolumeRenderer::setShaderWrapperDVRCombToonShadow(), VVolumeRenderer::setShaderWrapperDVRCombToonShadow2f(), VVolumeRenderer::setShaderWrapperDVRtf(), VVolumeRenderer::setShaderWrapperDVRtf2d(), VVolumeRenderer::setShaderWrapperMIP(), VVolumeRenderer::setShaderWrapperMIPtf(), and VVolumeRenderer::setShaderWrapperMIPtf2d().

const int VProgram::getAttributeLocation ( const std::string &  strName  )  const

gets the Handle to the Shader Parameter with given Attribute

Parameters:
name Name of Attribute
Returns:
Handle to Attribute

Definition at line 106 of file VProgram.cpp.

References m_uProgram.

void VProgram::link (  )  [protected]

links the current Program

Definition at line 122 of file VProgram.cpp.

References m_uProgram.

Referenced by attach(), and detach().

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().


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Wed Dec 5 05:15:10 2007 for VolRendering by  doxygen 1.5.4