VFramebufferObject Class Reference

#include <VFramebufferObject.h>

List of all members.

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


Detailed Description

class capsulating a simple framebufferobject for simple render - to textures

Definition at line 12 of file VFramebufferObject.h.


Constructor & Destructor Documentation

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]

default destructor

Definition at line 38 of file VFramebufferObject.h.

References destroy().


Member Function Documentation

void VFramebufferObject::checkFramebufferObjectStatus (  )  [static]

static method for fbo errorchecking

Definition at line 27 of file VFramebufferObject.cpp.

Referenced by bind(), init(), and unbind().

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

Returns:
unsigned int containing the handle

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

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

Parameters:
number number to computate power of 2
Returns:
the next power of two

Definition at line 108 of file VFramebufferObject.h.

Referenced by VFramebufferObject().


Member Data Documentation

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.

Referenced by bind(), destroy(), and init().

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]

Definition at line 123 of file VFramebufferObject.h.

Referenced by init().

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


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