OSG
3.4.0
|
#include <BufferObject.h>
Public Member Functions | |
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 () |
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
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 |
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 |
![]() | |
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 |
Static Public Member Functions | |
static void | deleteBufferObject (unsigned int contextID, GLuint globj) |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
static bool | getThreadSafeReferenceCounting () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
Protected Types | |
typedef std::vector< BufferData * > | BufferDataList |
typedef osg::buffered_object < osg::ref_ptr< GLBufferObject > > | GLBufferObjects |
Protected Member Functions | |
~BufferObject () | |
![]() | |
virtual | ~Object () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Protected Attributes | |
BufferObjectProfile | _profile |
bool | _copyDataAndReleaseGLBufferObject |
BufferDataList | _bufferDataList |
GLBufferObjects | _glBufferObjects |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Additional Inherited Members | |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Definition at line 413 of file BufferObject.h.
|
protected |
Definition at line 489 of file BufferObject.h.
|
protected |
Definition at line 490 of file BufferObject.h.
osg::BufferObject::BufferObject | ( | ) |
osg::BufferObject::BufferObject | ( | const BufferObject & | bo, |
const CopyOp & | copyop = CopyOp::SHALLOW_COPY |
||
) |
Copy constructor using CopyOp to manage deep vs shallow copy.
|
protected |
unsigned int osg::BufferObject::addBufferData | ( | BufferData * | bd | ) |
|
inlinevirtual |
return the name of the object's class type. Must be defined by derived classes.
Implements osg::Object.
Definition at line 424 of file BufferObject.h.
unsigned int osg::BufferObject::computeRequiredBufferSize | ( | ) | const |
|
static |
deprecated, provided for backwards compatibility.
void osg::BufferObject::dirty | ( | ) |
|
inline |
Definition at line 465 of file BufferObject.h.
|
inline |
Definition at line 466 of file BufferObject.h.
|
inline |
Get whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately.
Definition at line 447 of file BufferObject.h.
|
inline |
Definition at line 472 of file BufferObject.h.
|
inline |
Definition at line 468 of file BufferObject.h.
|
inline |
|
inline |
Definition at line 439 of file BufferObject.h.
|
inline |
Definition at line 440 of file BufferObject.h.
|
inline |
Definition at line 427 of file BufferObject.h.
|
inline |
Get the type of usage the buffer object has been set up for.
Definition at line 437 of file BufferObject.h.
|
inlinevirtual |
Reimplemented from osg::Object.
Definition at line 422 of file BufferObject.h.
|
inlinevirtual |
return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.
Implements osg::Object.
Definition at line 423 of file BufferObject.h.
If State is non-zero, this function releases OpenGL objects for the specified graphics context. Otherwise, releases OpenGL objects for all graphics contexts.
Reimplemented from osg::Object.
void osg::BufferObject::removeBufferData | ( | unsigned int | index | ) |
void osg::BufferObject::removeBufferData | ( | BufferData * | bd | ) |
|
virtual |
Resize any per context GLObject buffers to specified size.
Reimplemented from osg::Object.
Reimplemented in osg::PixelDataBufferObject.
void osg::BufferObject::setBufferData | ( | unsigned int | index, |
BufferData * | bd | ||
) |
|
inline |
Set whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately so that it may be reused.
Definition at line 444 of file BufferObject.h.
|
inline |
Definition at line 470 of file BufferObject.h.
|
inline |
Definition at line 426 of file BufferObject.h.
|
inline |
Set what type of usage the buffer object will have. Options are: GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
Definition at line 434 of file BufferObject.h.
|
protected |
Definition at line 496 of file BufferObject.h.
|
protected |
Definition at line 494 of file BufferObject.h.
|
mutableprotected |
Definition at line 498 of file BufferObject.h.
|
protected |
Definition at line 492 of file BufferObject.h.