#include <Volume.h>
Definition at line 56 of file Volume.h.
CVolume::CVolume | ( | std::string & | fileName | ) |
Definition at line 48 of file Volume.cpp.
References bSliceInViewSpace, created, cullFaceEnabled, fileName, frameBuffer, MODE_NOTSET, needUpdateFBO, needUpdateUniform, nmbActiveSlices, noiseTex, noiseTexSize, pFormat, pLight, pProgram, renderMode, rotX, rotY, txColorBack, txColorFront, txDepthBack, txDepthFront, txVol, and viewAspect.
CVolume::~CVolume | ( | ) | [virtual] |
void CVolume::AddTransferProperty | ( | TSmartPointer< CTransferProperty > | ptr | ) |
bool CVolume::Create | ( | TSmartPointer< CGLProgram > | program, | |
int | mode, | |||
int | fboSize, | |||
float | stepSize, | |||
int | maxSamples, | |||
bool | applyNoise, | |||
float | minClip, | |||
bool | shadowEnabled, | |||
float | shadowQuality, | |||
float | shadowTreshold | |||
) | [virtual] |
Definition at line 95 of file Volume.cpp.
References created, fileName, CVolumeFormat::getBitDepth(), CVolumeFormat::getVolumeDataSize(), CVolumeFormat::getVolumeHeader(), CVolumeFormat::getVolumeHeaderSize(), CConsole::Log(), noiseTex, noiseTexSize, pFormat, pProgram, renderMode, and CVolumeFormat::setVolumeData().
bool CVolume::CreateFboTextures | ( | ) | [protected] |
Definition at line 1187 of file Volume.cpp.
References fboSize, txColorBack, txColorFront, txDepthBack, and txDepthFront.
Referenced by CreateOpenGL(), and Render().
bool CVolume::CreateOpenGL | ( | ) | [virtual] |
Definition at line 215 of file Volume.cpp.
References CreateFboTextures(), cubeDispList, DestroyOpenGL(), fileName, frameBuffer, CVolumeFormat::getBitDepth(), CVolumeFormat::getSizeX(), CVolumeFormat::getSizeY(), CVolumeFormat::getSizeZ(), CVolumeFormat::getVolumeData(), CConsole::Log(), noiseTex, noiseTexSize, OPENGL_THREAD, pCubeColors, pCubeIndices, pCubeNormals, pCubeTexCoords, pCubeVertices, pFormat, txNoise, and txVol.
void CVolume::Destroy | ( | ) | [protected, virtual] |
Definition at line 86 of file Volume.cpp.
References noiseTex, pFormat, pLight, and pProgram.
Referenced by ~CVolume().
bool CVolume::DestroyOpenGL | ( | ) | [virtual] |
Definition at line 320 of file Volume.cpp.
References cubeDispList, fileName, frameBuffer, CConsole::Log(), OPENGL_THREAD, txColorBack, txColorFront, txDepthBack, txDepthFront, and txVol.
Referenced by CreateOpenGL(), and VStudioRenderer::SetVolume().
CVector2f CVolume::GetOrientation | ( | ) | [inline] |
CVolumeFormat& CVolume::GetVolumeDataInfo | ( | ) | [inline] |
bool CVolume::OnMouseKeyDown | ( | byte | bKey | ) | [virtual] |
Reimplemented from IInputHandler.
Definition at line 1277 of file Volume.cpp.
References leftKeyDown, and middleKeyDown.
bool CVolume::OnMouseKeyUp | ( | byte | bKey | ) | [virtual] |
Reimplemented from IInputHandler.
Definition at line 1288 of file Volume.cpp.
References leftKeyDown, and middleKeyDown.
Reimplemented from IInputHandler.
Definition at line 1263 of file Volume.cpp.
References leftKeyDown, middleKeyDown, rotX, and rotY.
void CVolume::Render | ( | ) | [virtual] |
Definition at line 506 of file Volume.cpp.
References Slice::bEnabled, bSliceInViewSpace, CreateFboTextures(), cubeDispList, Slice::depth, fboSize, frameBuffer, loc, TVector3< T >::m_X, MODE_BACK_FRONT_TEX, MODE_BACK_TEX, MODE_DEPTH_TEX, MODE_SLICE, needUpdateFBO, needUpdateUniform, nmbActiveSlices, pFormat, pLight, Slice::pos, pProgram, propertyList, renderMode, rotX, rotY, CVolumeFormat::scX, CVolumeFormat::scY, CVolumeFormat::scZ, txColorBack, txColorFront, txDepthBack, txDepthFront, txNoise, txTransfer, txVol, UpdateUniform(), viewAspect, xSlice, ySlice, and zSlice.
void CVolume::SetApplyNoise | ( | bool | applyNoise | ) |
void CVolume::SetFboSize | ( | int | fboSize | ) |
void CVolume::SetHighQuality | ( | bool | tf | ) |
Definition at line 413 of file Volume.cpp.
References applyNoise, maxSamples, needUpdateUniform, shadowQuality, and stepSize.
void CVolume::SetLight | ( | TSmartPointer< CLight > | pL | ) | [inline] |
void CVolume::SetMaxSamples | ( | int | maxSamples | ) |
void CVolume::SetMinClip | ( | float | minClip | ) |
void CVolume::SetOrientation | ( | float | nrotX, | |
float | nrotY | |||
) | [inline] |
void CVolume::SetRenderMode | ( | int | renderMode | ) |
void CVolume::SetRenderSlice | ( | bool | bxSlice, | |
bool | bySlice, | |||
bool | bzSlice | |||
) |
Definition at line 465 of file Volume.cpp.
References Slice::bEnabled, Slice::depth, TVector3< T >::m_X, nmbActiveSlices, Slice::pos, xSlice, ySlice, and zSlice.
void CVolume::SetShadowEnabled | ( | bool | tf | ) |
void CVolume::SetShadowQuality | ( | float | q | ) |
void CVolume::SetShadowTreshold | ( | float | t | ) |
void CVolume::SetSliceDepth | ( | int | slizePlaneID, | |
float | depth | |||
) |
void CVolume::SetSliceInViewSpace | ( | bool | tf | ) |
void CVolume::SetStepSize | ( | float | stepSize | ) |
void CVolume::SwitchProgram | ( | TSmartPointer< CGLProgram > | newProgram | ) |
void CVolume::UpdateUniform | ( | ) | [protected] |
Definition at line 1144 of file Volume.cpp.
References applyNoise, gradDelta, loc, TVector3< T >::m_X, TVector3< T >::m_Y, TVector3< T >::m_Z, maxSamples, minClip, needUpdateUniform, pFormat, pLight, pProgram, CVolumeFormat::scNX, CVolumeFormat::scNY, CVolumeFormat::scNZ, shadowEnabled, shadowQuality, shadowTreshold, and stepSize.
Referenced by Render().
void CVolume::ViewAspectChange | ( | float | newAspect | ) | [inline] |
bool CVolume::applyNoise [private] |
Definition at line 156 of file Volume.h.
Referenced by SetApplyNoise(), SetHighQuality(), and UpdateUniform().
bool CVolume::bSliceInViewSpace [private] |
Definition at line 166 of file Volume.h.
Referenced by CVolume(), Render(), and SetSliceInViewSpace().
bool CVolume::created [private] |
unsigned int CVolume::cubeDispList [private] |
Definition at line 135 of file Volume.h.
Referenced by CreateOpenGL(), DestroyOpenGL(), and Render().
bool CVolume::cullFaceEnabled [private] |
int CVolume::fboSize [private] |
Definition at line 154 of file Volume.h.
Referenced by CreateFboTextures(), Render(), and SetFboSize().
std::string CVolume::fileName [private] |
Definition at line 118 of file Volume.h.
Referenced by Create(), CreateOpenGL(), CVolume(), and DestroyOpenGL().
unsigned int CVolume::frameBuffer [private] |
Definition at line 149 of file Volume.h.
Referenced by CreateOpenGL(), CVolume(), DestroyOpenGL(), and Render().
CVector3f CVolume::gradDelta [private] |
unsigned int CVolume::loc [private] |
Definition at line 162 of file Volume.h.
Referenced by Render(), CTransferProperty::UpdateShader(), and UpdateUniform().
int CVolume::maxSamples [private] |
Definition at line 157 of file Volume.h.
Referenced by SetHighQuality(), SetMaxSamples(), and UpdateUniform().
float CVolume::minClip [private] |
bool CVolume::needUpdateFBO [private] |
bool CVolume::needUpdateUniform [private] |
Definition at line 152 of file Volume.h.
Referenced by CVolume(), Render(), SetApplyNoise(), SetHighQuality(), SetMaxSamples(), SetMinClip(), SetRenderMode(), SetShadowEnabled(), SetShadowQuality(), SetShadowTreshold(), SetStepSize(), and UpdateUniform().
int CVolume::nmbActiveSlices [private] |
uchar* CVolume::noiseTex [private] |
int CVolume::noiseTexSize [private] |
float* CVolume::pCubeColors [private] |
unsigned char* CVolume::pCubeIndices [private] |
int* CVolume::pCubeNormals [private] |
int* CVolume::pCubeTexCoords [private] |
int* CVolume::pCubeVertices [private] |
CVolumeFormat* CVolume::pFormat [private] |
Definition at line 140 of file Volume.h.
Referenced by Create(), CreateOpenGL(), CVolume(), Destroy(), GetVolumeDataInfo(), Render(), and UpdateUniform().
TSmartPointer<CLight> CVolume::pLight [private] |
Definition at line 144 of file Volume.h.
Referenced by CVolume(), Destroy(), Render(), SetLight(), and UpdateUniform().
TSmartPointer<CGLProgram> CVolume::pProgram [private] |
Definition at line 142 of file Volume.h.
Referenced by Create(), CVolume(), Destroy(), Render(), SwitchProgram(), and UpdateUniform().
QVector< TSmartPointer<CShaderProperty> > CVolume::propertyList [private] |
int CVolume::renderMode [private] |
float CVolume::rotX [private] |
Definition at line 173 of file Volume.h.
Referenced by CVolume(), GetOrientation(), OnMouseMove(), Render(), and SetOrientation().
float CVolume::rotY [private] |
Definition at line 174 of file Volume.h.
Referenced by CVolume(), GetOrientation(), OnMouseMove(), Render(), and SetOrientation().
bool CVolume::shadowEnabled [private] |
float CVolume::shadowQuality [private] |
Definition at line 160 of file Volume.h.
Referenced by SetHighQuality(), SetShadowQuality(), and UpdateUniform().
float CVolume::shadowTreshold [private] |
float CVolume::stepSize [private] |
Definition at line 155 of file Volume.h.
Referenced by SetHighQuality(), SetStepSize(), and UpdateUniform().
unsigned int CVolume::txColorBack [private] |
Definition at line 147 of file Volume.h.
Referenced by CreateFboTextures(), CVolume(), DestroyOpenGL(), and Render().
unsigned int CVolume::txColorFront [private] |
Definition at line 147 of file Volume.h.
Referenced by CreateFboTextures(), CVolume(), DestroyOpenGL(), and Render().
unsigned int CVolume::txDepthBack [private] |
Definition at line 147 of file Volume.h.
Referenced by CreateFboTextures(), CVolume(), DestroyOpenGL(), and Render().
unsigned int CVolume::txDepthFront [private] |
Definition at line 147 of file Volume.h.
Referenced by CreateFboTextures(), CVolume(), DestroyOpenGL(), and Render().
unsigned int CVolume::txNoise [private] |
unsigned int CVolume::txTransfer [private] |
unsigned int CVolume::txVol [private] |
Definition at line 147 of file Volume.h.
Referenced by CreateOpenGL(), CVolume(), DestroyOpenGL(), and Render().
float CVolume::viewAspect [private] |
Slice CVolume::xSlice [private] |
Definition at line 167 of file Volume.h.
Referenced by Render(), SetRenderSlice(), and SetSliceDepth().
Slice CVolume::ySlice [private] |
Definition at line 168 of file Volume.h.
Referenced by Render(), SetRenderSlice(), and SetSliceDepth().
Slice CVolume::zSlice [private] |
Definition at line 169 of file Volume.h.
Referenced by Render(), SetRenderSlice(), and SetSliceDepth().