|
OSG
3.4.0
|
#include <BufferObject.h>
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 ©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. More... | |
| unsigned int | getDataSize () const |
| Get data size of the used buffer. More... | |
| virtual void | compileBuffer (State &state) const |
| Compile the buffer (reallocate the memory if buffer is dirty) More... | |
| 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) More... | |
| 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) More... | |
| virtual void | unbindBuffer (unsigned int contextID) const |
| Unbind the buffer. More... | |
| 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 ©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 |
Public Member Functions inherited from osg::Object | |
| 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 |
| std::string | getCompoundClassName () const |
| virtual Node * | asNode () |
| virtual const Node * | asNode () const |
| virtual NodeVisitor * | asNodeVisitor () |
| virtual const NodeVisitor * | asNodeVisitor () const |
| virtual StateAttribute * | asStateAttribute () |
| virtual const StateAttribute * | asStateAttribute () const |
| virtual Uniform * | asUniform () |
| virtual const Uniform * | asUniform () 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) |
| 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) |
| 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 | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
| static bool | getThreadSafeReferenceCounting () |
| static void | setDeleteHandler (DeleteHandler *handler) |
| static DeleteHandler * | getDeleteHandler () |
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.
Definition at line 680 of file BufferObject.h.
|
protected |
Definition at line 727 of file BufferObject.h.
| Enumerator | |
|---|---|
| NONE |
A normal mode of this data buffer. |
| READ |
Buffer is in read mode (.
|
| WRITE |
Buffer is in write mode (.
|
Definition at line 709 of file BufferObject.h.
| osg::PixelDataBufferObject::PixelDataBufferObject | ( | ) |
| osg::PixelDataBufferObject::PixelDataBufferObject | ( | const PixelDataBufferObject & | pbo, |
| const CopyOp & | copyop = CopyOp::SHALLOW_COPY |
||
| ) |
|
protectedvirtual |
Bind the buffer in read mode, which means that data can be downloaded from the buffer (note: GL_PIXEL_UNPACK_BUFFER_ARB)
Bind the buffer in write mode, which means following OpenGL instructions will write data into the buffer (note: GL_PIXEL_PACK_BUFFER_ARB)
Compile the buffer (reallocate the memory if buffer is dirty)
|
inline |
Get data size of the used buffer.
Definition at line 692 of file BufferObject.h.
|
inline |
Definition at line 721 of file BufferObject.h.
| osg::PixelDataBufferObject::META_Object | ( | osg | , |
| PixelDataBufferObject | |||
| ) |
|
virtual |
Resize any per context GLObject buffers to specified size.
Reimplemented from osg::BufferObject.
|
inline |
Set new size of the buffer object. This will reallocate the memory on the next compile.
Definition at line 689 of file BufferObject.h.
|
virtual |
Unbind the buffer.
|
mutableprotected |
Definition at line 729 of file BufferObject.h.
1.8.8