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