19 #ifndef EQUTIL_PIXELBUFFEROBJECT_H 
   20 #define EQUTIL_PIXELBUFFEROBJECT_H 
   22 #include <lunchbox/lock.h> 
   32 namespace detail { 
class PixelBufferObject; }
 
   55                               const bool threadSafe );
 
   70     EQ_API 
virtual Error 
setup( 
const size_t size, 
const unsigned type );
 
   81     EQ_API 
virtual const void* 
mapRead() 
const;
 
   97     EQ_API 
virtual void unmap() 
const;
 
  100     EQ_API 
virtual bool bind() 
const;
 
  103     EQ_API 
virtual void unbind() 
const;
 
  115     unsigned getID() 
const;
 
  118     detail::PixelBufferObject* 
const _impl;
 
  123 #endif // EQUTIL_PIXELBUFFEROBJECT_H 
Defines export visibility macros for Equalizer. 
virtual EQ_API Error setup(const size_t size, const unsigned type)
Initialize the pixel buffer object. 
EQ_API size_t getSize() const 
A C++ class to abstract OpenGL pixel buffer objects. 
EQ_API bool isThreadSafe() const 
virtual EQ_API void * mapWrite()
Bind the PBO and map its data for writing. 
virtual EQ_API void unbind() const 
Unbind the PBO. 
EQ_API PixelBufferObject(const GLEWContext *glewContext, const bool threadSafe)
Construct a new pixel buffer object. 
virtual EQ_API bool bind() const 
Bind the PBO. 
EQ_API bool isInitialized() const 
virtual EQ_API const void * mapRead() const 
Bind the PBO and map its data for reading. 
virtual EQ_API ~PixelBufferObject()
Destruct the pixel buffer object. 
virtual EQ_API void unmap() const 
Unmap and unbind the PBO. 
virtual EQ_API void destroy()
Unbind and de-initialize the pixel buffer object.