Equalizer
1.2.1
|
A C++ class to abstract an accumulation buffer. More...
#include <accum.h>
Public Member Functions | |
Accum (const GLEWContext *const glewContext) | |
Construct a new accumulation buffer. | |
~Accum () | |
Destruct the accumulation buffer. | |
bool | init (const PixelViewport &pvp, GLuint textureFormat) |
Initialize the accumulation buffer. | |
void | exit () |
Exit the accum buffer. | |
bool | resize (const int width, const int height) |
Resize the accumulation buffer. | |
void | clear () |
Clear the accumulation buffer. | |
void | accum () |
Accumulate a frame from the read buffer into the accumulation buffer. | |
void | display () |
Copy the result of the accumulation to the current draw buffer. | |
uint32_t | getMaxSteps () const |
Get the maximum number of accumulation steps possible. | |
uint32_t | getNumSteps () const |
Get the current number of accumulation steps done. | |
void | setTotalSteps (uint32_t totalSteps) |
Set the total number of accumulation steps that will be done. | |
uint32_t | getTotalSteps () |
bool | usesFBO () const |
Test if the accumulation uses the FBO implementation. | |
const GLEWContext * | glewGetContext () const |
Static Public Member Functions | |
static bool | usesFBO (const GLEWContext *glewContext) |
A C++ class to abstract an accumulation buffer.
Depending on the OpenGL version, an FBO or glAccum() is used.
Remark: MacOS systems seem to have a buggy implementation of glAccum(), and use a workaround which needs setTotalSteps() to set up the total number of accumulations done.
eq::util::Accum::Accum | ( | const GLEWContext *const | glewContext | ) |
Construct a new accumulation buffer.
Destruct the accumulation buffer.
void eq::util::Accum::accum | ( | ) |
Accumulate a frame from the read buffer into the accumulation buffer.
void eq::util::Accum::clear | ( | ) |
Clear the accumulation buffer.
void eq::util::Accum::display | ( | ) |
Copy the result of the accumulation to the current draw buffer.
void eq::util::Accum::exit | ( | ) |
Exit the accum buffer.
uint32_t eq::util::Accum::getMaxSteps | ( | ) | const |
Get the maximum number of accumulation steps possible.
uint32_t eq::util::Accum::getNumSteps | ( | ) | const [inline] |
uint32_t eq::util::Accum::getTotalSteps | ( | ) | [inline] |
bool eq::util::Accum::init | ( | const PixelViewport & | pvp, |
GLuint | textureFormat | ||
) |
Initialize the accumulation buffer.
pvp | the pixel viewport. |
textureFormat | the texture format. |
bool eq::util::Accum::resize | ( | const int | width, |
const int | height | ||
) |
Resize the accumulation buffer.
width | the new width. |
height | the new height. |
void eq::util::Accum::setTotalSteps | ( | uint32_t | totalSteps | ) | [inline] |
bool eq::util::Accum::usesFBO | ( | ) | const |
Test if the accumulation uses the FBO implementation.