Equalizer
1.6.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. More... | |
~Accum () | |
Destruct the accumulation buffer. More... | |
bool | init (const PixelViewport &pvp, unsigned textureFormat) |
Initialize the accumulation buffer. More... | |
void | exit () |
Exit the accum buffer. More... | |
bool | resize (const PixelViewport &pvp) |
Resize the accumulation buffer. More... | |
bool | resize (const int width, const int height) |
void | clear () |
Clear the accumulation buffer. More... | |
void | accum () |
Accumulate a frame from the read buffer into the accumulation buffer. More... | |
void | display () |
Copy the result of the accumulation to the current draw buffer. More... | |
uint32_t | getMaxSteps () const |
Get the maximum number of accumulation steps possible. More... | |
uint32_t | getNumSteps () const |
Get the current number of accumulation steps done. More... | |
void | setTotalSteps (uint32_t totalSteps) |
Set the total number of accumulation steps that will be done. More... | |
uint32_t | getTotalSteps () |
bool | usesFBO () const |
Test if the accumulation uses the FBO implementation. More... | |
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.
eq::util::Accum::~Accum | ( | ) |
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 |
Get the current number of accumulation steps done.
uint32_t eq::util::Accum::getTotalSteps | ( | ) |
bool eq::util::Accum::init | ( | const PixelViewport & | pvp, |
unsigned | textureFormat | ||
) |
Initialize the accumulation buffer.
pvp | the pixel viewport. |
textureFormat | the texture format. |
bool eq::util::Accum::resize | ( | const PixelViewport & | pvp | ) |
Resize the accumulation buffer.
pvp | The pixel viewport where the accumulation buffer will be displayed |
bool eq::util::Accum::resize | ( | const int | width, |
const int | height | ||
) |
void eq::util::Accum::setTotalSteps | ( | uint32_t | totalSteps | ) |
Set the total number of accumulation steps that will be done.
This is used only for Darwin systems due to a specific glAccum() workaround.
totalSteps | the total number of steps to do. |
bool eq::util::Accum::usesFBO | ( | ) | const |
Test if the accumulation uses the FBO implementation.