Public Member Functions |
| PixelDataBufferObject () |
| PixelDataBufferObject (const PixelDataBufferObject &pbo, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
| META_Object (osg, PixelDataBufferObject) |
void | setDataSize (unsigned int size) |
| Set new size of the buffer object. This will reallocate the memory on the next compile.
|
unsigned int | getDataSize () const |
| Get data size of the used buffer.
|
virtual void | compileBuffer (State &state) const |
| Compile the buffer (reallocate the memory if buffer is dirty)
|
virtual void | bindBufferInReadMode (State &state) |
| Bind the buffer in read mode, which means that data can be downloaded from the buffer (note: GL_PIXEL_UNPACK_BUFFER_ARB)
|
virtual void | bindBufferInWriteMode (State &state) |
| Bind the buffer in write mode, which means following OpenGL instructions will write data into the buffer (note: GL_PIXEL_PACK_BUFFER_ARB)
|
virtual void | unbindBuffer (unsigned int contextID) const |
| Unbind the buffer.
|
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
Mode | getMode (unsigned int contextID) const |
| BufferObject () |
| BufferObject (const BufferObject &bo, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
virtual bool | isSameKindAs (const Object *obj) const |
virtual const char * | libraryName () const |
virtual const char * | className () const |
void | setTarget (GLenum target) |
GLenum | getTarget () const |
void | setUsage (GLenum usage) |
GLenum | getUsage () const |
BufferObjectProfile & | getProfile () |
const BufferObjectProfile & | getProfile () const |
void | setCopyDataAndReleaseGLBufferObject (bool copyAndRelease) |
bool | getCopyDataAndReleaseGLBufferObject () const |
void | dirty () |
void | releaseGLObjects (State *state=0) const |
unsigned int | addBufferData (BufferData *bd) |
void | removeBufferData (unsigned int index) |
void | removeBufferData (BufferData *bd) |
void | setBufferData (unsigned int index, BufferData *bd) |
BufferData * | getBufferData (unsigned int index) |
const BufferData * | getBufferData (unsigned int index) const |
unsigned int | getNumBufferData () const |
void | setGLBufferObject (unsigned int contextID, GLBufferObject *glbo) |
GLBufferObject * | getGLBufferObject (unsigned int contextID) const |
GLBufferObject * | getOrCreateGLBufferObject (unsigned int contextID) const |
unsigned int | computeRequiredBufferSize () const |
| Object () |
| Object (bool threadSafeRefUnref) |
| Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
virtual Object * | cloneType () const =0 |
virtual Object * | clone (const CopyOp &) const =0 |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
void | setDataVariance (DataVariance dv) |
DataVariance | getDataVariance () const |
virtual void | computeDataVariance () |
void | setUserDataContainer (osg::UserDataContainer *udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
virtual Referenced * | getUserData () |
virtual const Referenced * | getUserData () const |
template<typename T > |
bool | getUserValue (const std::string &name, T &value) const |
template<typename T > |
void | setUserValue (const std::string &name, const T &value) |
| Referenced () |
| Referenced (bool threadSafeRefUnref) |
| Referenced (const Referenced &) |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
This object represent a general class of pixel buffer objects, which are capable of allocating buffer object (memory) on the GPU. The memory can then be used either for CPU-GPU pixel transfer or directly for GPU-GPU transfer, without CPU intervention.