A C++ class to abstract OpenGL pixel buffer objects.
More...
#include <pixelBufferObject.h>
A C++ class to abstract OpenGL pixel buffer objects.
If multiple PBOs of the same read/write type are used in the same glContext they should be bound/mapped and unbound/unmapped sequentially.
If thread-safe mode is used, buffer binding and mapping is locked until the corresponding unbind/unmap happened.
On correct PBO usage see: http://www.songho.ca/opengl/gl_pbo.html
Definition at line 44 of file pixelBufferObject.h.
eq::util::PixelBufferObject::PixelBufferObject |
( |
const GLEWContext * |
glewContext, |
|
|
const bool |
threadSafe |
|
) |
| |
Construct a new pixel buffer object.
- Parameters
-
glewContext | the OpenGL function table. |
threadSafe | true if PBO shall use locks to synchronize access. |
- Version
- 1.3
virtual bool eq::util::PixelBufferObject::bind |
( |
| ) |
const |
|
virtual |
virtual void eq::util::PixelBufferObject::destroy |
( |
| ) |
|
|
virtual |
Unbind and de-initialize the pixel buffer object.
- Version
- 1.3
- Returns
- the reason for the last failed operation.
- Version
- 1.3
unsigned eq::util::PixelBufferObject::getID |
( |
| ) |
const |
- Returns
- OpenGL ID
- Version
- 1.3.2
size_t eq::util::PixelBufferObject::getSize |
( |
| ) |
const |
- Returns
- the allocated size of the PBO.
- Version
- 1.3
bool eq::util::PixelBufferObject::isInitialized |
( |
| ) |
const |
- Returns
- true if the pbo is intialized.
- Version
- 1.3
bool eq::util::PixelBufferObject::isThreadSafe |
( |
| ) |
const |
- Returns
- true if the access to pbo is blocking.
- Version
- 1.3
virtual const void* eq::util::PixelBufferObject::mapRead |
( |
| ) |
const |
|
virtual |
Bind the PBO and map its data for reading.
- Returns
- pointer to the PBO memory
- Version
- 1.3
virtual void* eq::util::PixelBufferObject::mapWrite |
( |
| ) |
|
|
virtual |
Bind the PBO and map its data for writing.
- Returns
- pointer to the PBO memory
- Version
- 1.3
virtual bool eq::util::PixelBufferObject::setup |
( |
const size_t |
size, |
|
|
const unsigned |
type |
|
) |
| |
|
virtual |
Initialize the pixel buffer object.
The PBO is bound after a successful operation.
- Parameters
-
size | total number of bytes (not 0) |
type | the access type: GL_READ_ONLY_ARB or GL_WRITE_ONLY_ARB |
- Returns
- true on success, false otherwise
- Version
- 1.3
virtual void eq::util::PixelBufferObject::unbind |
( |
| ) |
const |
|
virtual |
Unbind the PBO.
- Version
- 1.3
virtual void eq::util::PixelBufferObject::unmap |
( |
| ) |
const |
|
virtual |
Unmap and unbind the PBO.
- Returns
- pointer to the PBO memory
- Version
- 1.3
The documentation for this class was generated from the following file: