eq::util::AccumBufferObject Class Reference

A class to emulate an OpenGL accumulation buffer using an FBO. More...

#include <accumBufferObject.h>

Inheritance diagram for eq::util::AccumBufferObject:
Inheritance graph
[legend]
Collaboration diagram for eq::util::AccumBufferObject:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AccumBufferObject (GLEWContext *const glewContext)
 Construct a new Accumulation Buffer Object.
 ~AccumBufferObject ()
 Destruct the Accumulation Buffer Object.
bool init (const PixelViewport &pvp, GLuint format)
 Initialize the Accumulation Buffer Object.
void exit ()
 De-initialize the Accumulation Buffer Object.
void load (GLfloat value)
 Load the current read buffer into the accumulation buffer.
void accum (GLfloat value)
 Accumulate the current read buffer into the accumulation buffer.
void display (GLfloat value)
 Transfers accumulation buffer values to the write buffer.

Detailed Description

A class to emulate an OpenGL accumulation buffer using an FBO.

See also:
glAccum()

Definition at line 34 of file accumBufferObject.h.


Member Function Documentation

bool eq::util::AccumBufferObject::init ( const PixelViewport pvp,
GLuint  format 
)

Initialize the Accumulation Buffer Object.

The ABO uses a 32-bit float texture.

Parameters:
width the initial width of the rendering buffer.
height the initial height of the rendering buffer.
format the texture format corresponding to the source color read buffer.
Returns:
true on success, false otherwise
See also:
Window::getColorFormat(), glReadBuffer()

Definition at line 38 of file accumBufferObject.cpp.

References exit(), eq::util::FrameBufferObject::init(), eq::util::FrameBufferObject::setColorFormat(), eq::util::Texture::setFormat(), and eq::util::FrameBufferObject::unbind().

Referenced by eq::util::Accum::init().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::util::AccumBufferObject::exit (  ) 

De-initialize the Accumulation Buffer Object.

Reimplemented from eq::util::FrameBufferObject.

Definition at line 56 of file accumBufferObject.cpp.

References eq::util::Texture::flush().

Referenced by eq::util::Accum::exit(), init(), and ~AccumBufferObject().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::util::AccumBufferObject::load ( GLfloat  value  ) 

Load the current read buffer into the accumulation buffer.

The values of the current read buffer are multiplied with value and copied into the accumulation buffer.

Parameters:
value a floating-point value multiplying the source values during the load operation.

Definition at line 67 of file accumBufferObject.cpp.

References eq::util::FrameBufferObject::bind(), eq::util::Texture::copyFromFrameBuffer(), eq::util::FrameBufferObject::getPixelViewport(), and eq::util::FrameBufferObject::unbind().

Referenced by eq::util::Accum::accum().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::util::AccumBufferObject::accum ( GLfloat  value  ) 

Accumulate the current read buffer into the accumulation buffer.

The read buffer is multiplied by value and added to the accumulation buffer.

Parameters:
value a floating-point value multiplying the source values during the accum operation.

Definition at line 78 of file accumBufferObject.cpp.

References eq::util::FrameBufferObject::bind(), eq::util::Texture::copyFromFrameBuffer(), eq::util::FrameBufferObject::getPixelViewport(), and eq::util::FrameBufferObject::unbind().

Referenced by eq::util::Accum::accum().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::util::AccumBufferObject::display ( GLfloat  value  ) 

Transfers accumulation buffer values to the write buffer.

Each accumulation buffer is multiplied by value during the transfer.

Parameters:
value a floating-point value multiplying the accumulation values during the operation.

Definition at line 93 of file accumBufferObject.cpp.

References eq::util::FrameBufferObject::getColorTextures().

Referenced by eq::util::Accum::display().

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this class was generated from the following files:
Generated on Sat Feb 6 13:15:00 2010 for Equalizer 0.9.1 by  doxygen 1.6.1