Equalizer  1.2.1
Public Member Functions
eq::util::PixelBufferObject Class Reference

A C++ class to abstract OpenGL pixel buffer objects. More...

#include <pixelBufferObject.h>

List of all members.

Public Member Functions

 PixelBufferObject (const GLEWContext *glewContext, const bool threadSafe)
 Construct a new Pixel Buffer Object.
virtual ~PixelBufferObject ()
 Destruct the Frame Buffer Object.
virtual bool setup (const ssize_t size, const GLuint type)
 Initialize the Pixel Buffer Object.
virtual void destroy ()
 De-initialize the pixel buffer object.
virtual const void * mapRead () const
 Bind the PBO and map its data for reading.
virtual void * mapWrite ()
 Bind the PBO and mappe its data for writing.
virtual void unmap () const
 Unmap and unbind the PBO.
virtual bool bind () const
 Bind the PBO.
virtual void unbind () const
 Unbind the PBO.
ssize_t getSize () const
const co::ErrorgetError () const
bool isInitialized () const
bool isThreadSafe () const
GLuint getID () const

Detailed Description

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 binded/mapped and unbinded/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.


Constructor & Destructor Documentation

eq::util::PixelBufferObject::PixelBufferObject ( const GLEWContext *  glewContext,
const bool  threadSafe 
)

Construct a new Pixel Buffer Object.

Parameters:
glewContextthe OpenGL function table.
threadSafetrue if PBO shall use locks to synchronize access.
Version:
1.3

Member Function Documentation

virtual bool eq::util::PixelBufferObject::bind ( ) const [virtual]

Bind the PBO.

Version:
1.3
virtual void eq::util::PixelBufferObject::destroy ( ) [virtual]

De-initialize the pixel buffer object.

Version:
1.3
Returns:
the reason for the last failed operation.
Version:
1.3
Returns:
OpenGL ID
Version:
1.3.2
Returns:
the allocated size of the PBO.
Version:
1.3
Returns:
true if the pbo is intialized.
Version:
1.3
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 mappe its data for writing.

Returns:
pointer to the PBO memory
Version:
1.3
virtual bool eq::util::PixelBufferObject::setup ( const ssize_t  size,
const GLuint  type 
) [virtual]

Initialize the Pixel Buffer Object.

Parameters:
sizetotal number of bytes (has to be > 0)
typethe 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:
Generated on Fri Jun 8 2012 15:44:36 for Equalizer 1.2.1 by  doxygen 1.8.0