19 #ifndef EQUTIL_ACCUM_H
20 #define EQUTIL_ACCUM_H
22 #include <eq/util/types.h>
28 namespace detail {
class Accum; }
39 class Accum :
public boost::noncopyable
43 EQ_API
Accum(
const GLEWContext*
const glewContext );
56 EQ_API
bool init(
const PixelViewport& pvp,
unsigned textureFormat );
69 EQ_API
bool resize(
const PixelViewport& pvp );
70 EQ_API
bool resize(
const int width,
const int height );
132 EQ_API
static bool usesFBO(
const GLEWContext* glewContext );
134 EQ_API
const GLEWContext* glewGetContext()
const;
137 detail::Accum*
const _impl;
142 #endif // EQUTIL_ACCUM_H
EQ_API bool resize(const PixelViewport &pvp)
Resize the accumulation buffer.
EQ_API uint32_t getTotalSteps()
EQ_API bool init(const PixelViewport &pvp, unsigned textureFormat)
Initialize the accumulation buffer.
A C++ class to abstract an accumulation buffer.
EQ_API void setTotalSteps(uint32_t totalSteps)
Set the total number of accumulation steps that will be done.
EQ_API ~Accum()
Destruct the accumulation buffer.
EQ_API bool usesFBO() const
Test if the accumulation uses the FBO implementation.
EQ_API uint32_t getMaxSteps() const
Get the maximum number of accumulation steps possible.
EQ_API void exit()
Exit the accum buffer.
EQ_API Accum(const GLEWContext *const glewContext)
Construct a new accumulation buffer.
EQ_API void display()
Copy the result of the accumulation to the current draw buffer.
EQ_API uint32_t getNumSteps() const
Get the current number of accumulation steps done.
EQ_API void clear()
Clear the accumulation buffer.
EQ_API void accum()
Accumulate a frame from the read buffer into the accumulation buffer.