#include <VFramebufferObject.h>
Public Member Functions | |
| VFramebufferObject (int width, int height, unsigned int texturetype) | |
| ~VFramebufferObject () | |
| void | init () |
| void | destroy () |
| void | bind () |
| void | unbind () |
| unsigned int | getFboHandle () |
| unsigned int | getTextureHandle () |
| void | saveImage (std::string filename) |
| void | renderToFullScreen () |
| void | renderToLowerRightQuad () |
| void | renderToLowerLeftQuad () |
Static Public Member Functions | |
| static void | checkFramebufferObjectStatus () |
| static VProgram * | getRenderToScreenProgram () |
| static bool | initialiseDevIl () |
Static Public Attributes | |
| static bool | devIlInitialised = false |
Private Member Functions | |
| const int | getNextPowerOfTwo (const int number) |
Private Attributes | |
| unsigned int | m_FboHandle |
| unsigned int | m_TextureHandle |
| unsigned int | m_RenderBufferHandle |
| int | m_Width |
| int | m_Height |
| unsigned int | m_TextureType |
Static Private Attributes | |
| static VProgram | m_RenderToScreen |
| static bool | m_ProgramLoaded = false |
Definition at line 12 of file VFramebufferObject.h.
| VFramebufferObject::VFramebufferObject | ( | int | width, | |
| int | height, | |||
| unsigned int | texturetype | |||
| ) |
constructor with given size
Definition at line 12 of file VFramebufferObject.cpp.
References getNextPowerOfTwo(), m_Height, and m_Width.
| VFramebufferObject::~VFramebufferObject | ( | ) | [inline] |
| void VFramebufferObject::checkFramebufferObjectStatus | ( | ) | [static] |
static method for fbo errorchecking
Definition at line 27 of file VFramebufferObject.cpp.
| VProgram * VFramebufferObject::getRenderToScreenProgram | ( | ) | [static] |
Definition at line 54 of file VFramebufferObject.cpp.
References m_ProgramLoaded, and m_RenderToScreen.
Referenced by VImage::renderToLowerRightQuad().
| bool VFramebufferObject::initialiseDevIl | ( | ) | [static] |
method to initialise DevIl
Definition at line 38 of file VFramebufferObject.cpp.
Referenced by VImage::loadImage(), and saveImage().
| void VFramebufferObject::init | ( | ) |
inits the FBO
Definition at line 66 of file VFramebufferObject.cpp.
References checkFramebufferObjectStatus(), m_FboHandle, m_Height, m_ProgramLoaded, m_RenderBufferHandle, m_RenderToScreen, m_TextureHandle, m_TextureType, and m_Width.
Referenced by VTransferFunction::interpolateTransferPoints(), VTransferFunction2D::interpolateTransferTriangles(), QVolRendCanvas::mousePressEvent(), QVolRendCanvas::mouseReleaseEvent(), QVolRendCanvas::paintGL(), VVolumeRenderer::resize(), and QVolRendCanvas::resizeGL().
| void VFramebufferObject::destroy | ( | ) |
destroys the FBO
Definition at line 130 of file VFramebufferObject.cpp.
References m_FboHandle, and m_RenderBufferHandle.
Referenced by ~VFramebufferObject().
| void VFramebufferObject::bind | ( | ) |
binds the FBO
Definition at line 141 of file VFramebufferObject.cpp.
References checkFramebufferObjectStatus(), m_FboHandle, m_Height, m_RenderBufferHandle, m_TextureHandle, and m_Width.
Referenced by VVolumeRenderer::drawBackFaces(), VVolumeRenderer::drawFrontFaces(), VTransferFunction::interpolateTransferPoints(), VTransferFunction2D::interpolateTransferTriangles(), and QVolRendCanvas::paintGL().
| void VFramebufferObject::unbind | ( | ) |
unbinds the FBO
Definition at line 154 of file VFramebufferObject.cpp.
References checkFramebufferObjectStatus().
Referenced by VVolumeRenderer::drawBackFaces(), VVolumeRenderer::drawFrontFaces(), VTransferFunction::interpolateTransferPoints(), VTransferFunction2D::interpolateTransferTriangles(), and QVolRendCanvas::paintGL().
| unsigned int VFramebufferObject::getFboHandle | ( | ) | [inline] |
returns the handle to the Fbo
Definition at line 67 of file VFramebufferObject.h.
References m_FboHandle.
Referenced by VTransferFunction::interpolateTransferPoints(), and VTransferFunction2D::interpolateTransferTriangles().
| unsigned int VFramebufferObject::getTextureHandle | ( | ) | [inline] |
returns the handle to the Texture
Definition at line 75 of file VFramebufferObject.h.
References m_TextureHandle.
Referenced by VTransferFunction2D::getGLHandle(), VTransferFunction::getGLHandle(), 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 VFramebufferObject::saveImage | ( | std::string | filename | ) |
saves the Current Image to Disc
| filename | filename of Image |
Definition at line 165 of file VFramebufferObject.cpp.
References devIlInitialised, initialiseDevIl(), m_Height, m_TextureHandle, and m_Width.
Referenced by QVolRendCanvas::saveImage().
| void VFramebufferObject::renderToFullScreen | ( | ) |
renders the FBO to Fullscreen
Definition at line 207 of file VFramebufferObject.cpp.
References VProgram::bind(), VProgram::getUniformLocation(), m_RenderToScreen, and VProgram::release().
Referenced by QVolRendCanvas::paintGL().
| void VFramebufferObject::renderToLowerRightQuad | ( | ) |
renders the FBO to a Lower Right Quad
Definition at line 269 of file VFramebufferObject.cpp.
References VProgram::bind(), VProgram::getUniformLocation(), m_RenderToScreen, and VProgram::release().
Referenced by VVolumeRenderer::drawBackFacesToSmallQuad(), and VTransferFunction2D::renderTest().
| void VFramebufferObject::renderToLowerLeftQuad | ( | ) |
renders the FBO to a Lower Left Quad
Definition at line 238 of file VFramebufferObject.cpp.
References VProgram::bind(), VProgram::getUniformLocation(), m_RenderToScreen, and VProgram::release().
Referenced by VVolumeRenderer::drawFrontFacesToSmallQuad().
| const int VFramebufferObject::getNextPowerOfTwo | ( | const int | number | ) | [inline, private] |
returns the next power of two value to a given number
| number | number to computate power of 2 |
Definition at line 108 of file VFramebufferObject.h.
Referenced by VFramebufferObject().
bool VFramebufferObject::devIlInitialised = false [static] |
Bool Containing if DevIl is initialised
Definition at line 21 of file VFramebufferObject.h.
Referenced by VImage::loadImage(), and saveImage().
unsigned int VFramebufferObject::m_FboHandle [private] |
Handle to FBO.
Definition at line 116 of file VFramebufferObject.h.
Referenced by bind(), destroy(), getFboHandle(), and init().
unsigned int VFramebufferObject::m_TextureHandle [private] |
Handle to Texture.
Definition at line 119 of file VFramebufferObject.h.
Referenced by bind(), getTextureHandle(), init(), and saveImage().
unsigned int VFramebufferObject::m_RenderBufferHandle [private] |
Handle to Renderbuffer.
Definition at line 120 of file VFramebufferObject.h.
int VFramebufferObject::m_Width [private] |
Width of FBO.
Definition at line 121 of file VFramebufferObject.h.
Referenced by bind(), init(), saveImage(), and VFramebufferObject().
int VFramebufferObject::m_Height [private] |
Height of FBO.
Definition at line 122 of file VFramebufferObject.h.
Referenced by bind(), init(), saveImage(), and VFramebufferObject().
unsigned int VFramebufferObject::m_TextureType [private] |
VProgram VFramebufferObject::m_RenderToScreen [static, private] |
Program to Render To Screen.
Definition at line 125 of file VFramebufferObject.h.
Referenced by getRenderToScreenProgram(), init(), renderToFullScreen(), renderToLowerLeftQuad(), and renderToLowerRightQuad().
bool VFramebufferObject::m_ProgramLoaded = false [static, private] |
If Program is already loaded.
Definition at line 127 of file VFramebufferObject.h.
Referenced by getRenderToScreenProgram(), and init().
1.5.4