osg::PixelDataBufferObject Class Reference

`#include <BufferObject>`

Inheritance diagram for osg::PixelDataBufferObject:

## Public Types

enum | Mode { NONE = 0 , READ = 1 , WRITE = 2 }
Public Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }

## Public Member Functions

| PixelDataBufferObject ()
| PixelDataBufferObject (const PixelDataBufferObject &pbo, const CopyOp &copyop=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
Public Member Functions inherited from osg::BufferObject
| BufferObject ()
| BufferObject (const BufferObject &bo, const CopyOp &copyop=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
Public Member Functions inherited from osg::Object
| Object ()
| Object (bool threadSafeRefUnref)
| Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * | cloneType () const =0
virtual Object * | clone (const CopyOp &) const =0
std::string | getCompoundClassName () const
virtual Node * | asNode ()
virtual const Node * | asNode () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () const
virtual Image * | asImage ()
virtual const Image * | asImage () const
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)
template<class T>
void | setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
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)
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
| 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

## Protected Types

typedef osg::buffered_value< unsigned int > | ModeList
Protected Types inherited from osg::BufferObject
typedef std::vector< BufferData * > | BufferDataList
typedef osg::buffered_object< osg::ref_ptr< GLBufferObject > > | GLBufferObjects

## Protected Member Functions

virtual | ~PixelDataBufferObject ()
Protected Member Functions inherited from osg::BufferObject
| ~BufferObject ()
Protected Member Functions inherited from osg::Object
virtual | ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Protected Attributes

ModeList | _mode
Protected Attributes inherited from osg::BufferObject
BufferObjectProfile | _profile
bool | _copyDataAndReleaseGLBufferObject
BufferDataList | _bufferDataList
GLBufferObjects | _glBufferObjects
Protected Attributes inherited from osg::Object
std::string | _name
DataVariance | _dataVariance
osg::UserDataContainer * | _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Additional Inherited Members

Static Public Member Functions inherited from osg::BufferObject
static void | deleteBufferObject (unsigned int contextID, GLuint globj)
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Detailed Description

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.

## Member Typedef Documentation

## ModeList

typedef osg::buffered_value<unsigned int> osg::PixelDataBufferObject::ModeList

protected

## Member Enumeration Documentation

## Mode

enum osg::PixelDataBufferObject::Mode

Enumerator
NONE | A normal mode of this data buffer.

READ

Buffer is in read mode (.

See also
  bindBufferInReadMode)

WRITE

Buffer is in write mode (.

See also
  bindBufferInWriteMode)

## Constructor & Destructor Documentation

## PixelDataBufferObject() [1/2]

osg::PixelDataBufferObject::PixelDataBufferObject | ( |  | ) |

Referenced by META_Object(), and PixelDataBufferObject().

## PixelDataBufferObject() [2/2]

osg::PixelDataBufferObject::PixelDataBufferObject | ( | const PixelDataBufferObject & | pbo,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY )

References PixelDataBufferObject(), and osg::CopyOp::SHALLOW_COPY.

## ~PixelDataBufferObject()

virtual osg::PixelDataBufferObject::~PixelDataBufferObject | ( |  | ) |

protected virtual

## Member Function Documentation

## bindBufferInReadMode()

virtual void osg::PixelDataBufferObject::bindBufferInReadMode | ( | State & | state | ) |

virtual

Bind the buffer in read mode, which means that data can be downloaded from the buffer (note: GL_PIXEL_UNPACK_BUFFER_ARB).

## bindBufferInWriteMode()

virtual void osg::PixelDataBufferObject::bindBufferInWriteMode | ( | State & | state | ) |

virtual

Bind the buffer in write mode, which means following OpenGL instructions will write data into the buffer (note: GL_PIXEL_PACK_BUFFER_ARB).

## compileBuffer()

virtual void osg::PixelDataBufferObject::compileBuffer | ( | State & | state | ) | const

virtual

Compile the buffer (reallocate the memory if buffer is dirty).

## getDataSize()

unsigned int osg::PixelDataBufferObject::getDataSize | ( |  | ) | const

inline

Get data size of the used buffer.

References osg::BufferObject::_profile.

## getMode()

Mode osg::PixelDataBufferObject::getMode | ( | unsigned int | contextID | ) | const

inline

References _mode.

## META_Object()

osg::PixelDataBufferObject::META_Object | ( | osg | ,
|  | PixelDataBufferObject | )

References PixelDataBufferObject().

## resizeGLObjectBuffers()

virtual void osg::PixelDataBufferObject::resizeGLObjectBuffers | ( | unsigned int | maxSize | ) |

virtual

Resize any per context GLObject buffers to specified size.

Reimplemented from osg::BufferObject.

## setDataSize()

void osg::PixelDataBufferObject::setDataSize | ( | unsigned int | size | ) |

inline

Set new size of the buffer object. This will reallocate the memory on the next compile.

References osg::BufferObject::_profile, and osg::BufferObject::dirty().

## unbindBuffer()

virtual void osg::PixelDataBufferObject::unbindBuffer | ( | unsigned int | contextID | ) | const

virtual

Unbind the buffer.

## Member Data Documentation

## _mode

ModeList osg::PixelDataBufferObject::_mode

mutable protected

Referenced by getMode().

The documentation for this class was generated from the following file:

- BufferObject