#include <VFramebufferObject.h>
Public Member Functions | |
| VFramebufferObject (int width, int height, unsigned int texturetype) | |
| ~VFramebufferObject () | |
| void | init () |
| void | destroy () |
| void | bind () |
| void | bindWithoutClear () |
| void | unbind () |
| unsigned int | getFboHandle () |
| unsigned int | getTextureHandle () |
| void | saveImage (std::string filename) |
| void | renderToFullScreen () |
| void | renderToLowerRightQuad () |
| void | renderToLowerLeftQuad () |
| int | getHeight () |
| int | getWidth () |
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.
Referenced by bind(), bindWithoutClear(), init(), and unbind().
| VProgram * VFramebufferObject::getRenderToScreenProgram | ( | ) | [static] |
Definition at line 54 of file VFramebufferObject.cpp.
References m_ProgramLoaded, and m_RenderToScreen.
Referenced by VImage::renderOuterScreen(), and 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 bind(), checkFramebufferObjectStatus(), m_FboHandle, m_Height, m_ProgramLoaded, m_RenderBufferHandle, m_RenderToScreen, m_TextureHandle, m_TextureType, m_Width, and unbind().
Referenced by VTransferFunction::interpolateTransferPoints(), QVolRendCanvas::mousePressEvent(), QVolRendCanvas::mouseReleaseEvent(), QVolRendCanvas::paintGL(), QVolRendCanvas::resizeGL(), and QVolRendCanvas::saveBigImage().
| void VFramebufferObject::destroy | ( | ) |
destroys the FBO
Definition at line 132 of file VFramebufferObject.cpp.
References m_FboHandle, m_RenderBufferHandle, and m_TextureHandle.
Referenced by QVolRendCanvas::paintGL(), ~VFramebufferObject(), and vTimeStep::~vTimeStep().
| void VFramebufferObject::bind | ( | ) |
binds the FBO
Definition at line 146 of file VFramebufferObject.cpp.
References checkFramebufferObjectStatus(), m_FboHandle, m_Height, m_RenderBufferHandle, m_TextureHandle, and m_Width.
Referenced by init(), VTransferFunction::interpolateTransferPoints(), QVolRendCanvas::paintGL(), and QVolRendCanvas::saveBigImage().
| void VFramebufferObject::bindWithoutClear | ( | ) |
binds the FBO without clearing
Definition at line 161 of file VFramebufferObject.cpp.
References checkFramebufferObjectStatus(), m_FboHandle, m_Height, m_RenderBufferHandle, m_TextureHandle, and m_Width.
| void VFramebufferObject::unbind | ( | ) |
unbinds the FBO
Definition at line 173 of file VFramebufferObject.cpp.
References checkFramebufferObjectStatus().
Referenced by init(), VTransferFunction::interpolateTransferPoints(), QVolRendCanvas::paintGL(), and QVolRendCanvas::saveBigImage().
| unsigned int VFramebufferObject::getFboHandle | ( | ) | [inline] |
returns the handle to the Fbo
Definition at line 73 of file VFramebufferObject.h.
References m_FboHandle.
Referenced by VTransferFunction::interpolateTransferPoints().
| unsigned int VFramebufferObject::getTextureHandle | ( | ) | [inline] |
returns the handle to the Texture
Definition at line 81 of file VFramebufferObject.h.
References m_TextureHandle.
Referenced by VTransferFunction::getGLHandle(), and vTimeStep::grabFBOData().
| void VFramebufferObject::saveImage | ( | std::string | filename | ) |
saves the Current Image to Disc
| filename | filename of Image |
Definition at line 184 of file VFramebufferObject.cpp.
References devIlInitialised, initialiseDevIl(), m_Height, m_TextureHandle, and m_Width.
Referenced by QVolRendCanvas::paintGL(), and QVolRendCanvas::saveImage().
| void VFramebufferObject::renderToFullScreen | ( | ) |
renders the FBO to Fullscreen
Definition at line 226 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 288 of file VFramebufferObject.cpp.
References VProgram::bind(), VProgram::getUniformLocation(), m_RenderToScreen, and VProgram::release().
| void VFramebufferObject::renderToLowerLeftQuad | ( | ) |
renders the FBO to a Lower Left Quad
Definition at line 257 of file VFramebufferObject.cpp.
References VProgram::bind(), VProgram::getUniformLocation(), m_RenderToScreen, and VProgram::release().
Referenced by VTransferFunction::renderTest().
| int VFramebufferObject::getHeight | ( | ) | [inline] |
returns the Height of the FBO
Definition at line 110 of file VFramebufferObject.h.
References m_Height.
Referenced by VIcon::computeIcon(), and vTimeStep::grabFBOData().
| int VFramebufferObject::getWidth | ( | ) | [inline] |
returns the Width of the FBO
Definition at line 118 of file VFramebufferObject.h.
References m_Width.
Referenced by VIcon::computeIcon(), and vTimeStep::grabFBOData().
| 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 130 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 138 of file VFramebufferObject.h.
Referenced by bind(), bindWithoutClear(), destroy(), getFboHandle(), and init().
unsigned int VFramebufferObject::m_TextureHandle [private] |
Handle to Texture.
Definition at line 141 of file VFramebufferObject.h.
Referenced by bind(), bindWithoutClear(), destroy(), getTextureHandle(), init(), and saveImage().
unsigned int VFramebufferObject::m_RenderBufferHandle [private] |
Handle to Renderbuffer.
Definition at line 142 of file VFramebufferObject.h.
Referenced by bind(), bindWithoutClear(), destroy(), and init().
int VFramebufferObject::m_Width [private] |
Width of FBO.
Definition at line 143 of file VFramebufferObject.h.
Referenced by bind(), bindWithoutClear(), getWidth(), init(), saveImage(), and VFramebufferObject().
int VFramebufferObject::m_Height [private] |
Height of FBO.
Definition at line 144 of file VFramebufferObject.h.
Referenced by bind(), bindWithoutClear(), getHeight(), init(), saveImage(), and VFramebufferObject().
unsigned int VFramebufferObject::m_TextureType [private] |
VProgram VFramebufferObject::m_RenderToScreen [static, private] |
Program to Render To Screen.
Definition at line 147 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 149 of file VFramebufferObject.h.
Referenced by getRenderToScreenProgram(), and init().
1.5.4