| 
    Equalizer
    1.4.1
    
   
   | 
  
  
  
 
A C++ class to abstract OpenGL pixel buffer objects. More...
#include <pixelBufferObject.h>
Public Member Functions | |
| PixelBufferObject (const GLEWContext *glewContext, const bool threadSafe) | |
| Construct a new pixel buffer object.   | |
| virtual | ~PixelBufferObject () | 
| Destruct the pixel buffer object.  | |
| virtual bool | setup (const size_t size, const unsigned type) | 
| Initialize the pixel buffer object.   | |
| virtual void | destroy () | 
| Unbind and 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 map 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.   | |
| size_t | getSize () const | 
| const co::Error & | getError () const | 
| bool | isInitialized () const | 
| bool | isThreadSafe () const | 
| unsigned | getID () const | 
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 43 of file pixelBufferObject.h.
| eq::util::PixelBufferObject::PixelBufferObject | ( | const GLEWContext * | glewContext, | 
| const bool | threadSafe | ||
| ) | 
Construct a new pixel buffer object.
| glewContext | the OpenGL function table. | 
| threadSafe | true if PBO shall use locks to synchronize access. | 
| virtual bool eq::util::PixelBufferObject::bind | ( | ) |  const [virtual] | 
        
Bind the PBO.
| virtual void eq::util::PixelBufferObject::destroy | ( | ) |  [virtual] | 
        
Unbind and de-initialize the pixel buffer object.
| const co::Error& eq::util::PixelBufferObject::getError | ( | ) | const | 
| unsigned eq::util::PixelBufferObject::getID | ( | ) | const | 
| size_t eq::util::PixelBufferObject::getSize | ( | ) | const | 
| bool eq::util::PixelBufferObject::isInitialized | ( | ) | const | 
| bool eq::util::PixelBufferObject::isThreadSafe | ( | ) | const | 
| virtual const void* eq::util::PixelBufferObject::mapRead | ( | ) |  const [virtual] | 
        
Bind the PBO and map its data for reading.
| virtual void* eq::util::PixelBufferObject::mapWrite | ( | ) |  [virtual] | 
        
Bind the PBO and map its data for writing.
| 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.
| size | total number of bytes (not 0) | 
| type | the access type: GL_READ_ONLY_ARB or GL_WRITE_ONLY_ARB | 
| virtual void eq::util::PixelBufferObject::unbind | ( | ) |  const [virtual] | 
        
Unbind the PBO.
| virtual void eq::util::PixelBufferObject::unmap | ( | ) |  const [virtual] | 
        
Unmap and unbind the PBO.
 1.4.1 by 
    
      
     1.7.6.1