osg::GLBufferObject Class Reference

`#include <BufferObject>`

Inheritance diagram for osg::GLBufferObject:

## Classes

struct | BufferEntry

## Public Member Functions

| GLBufferObject (unsigned int contextID, BufferObject *bufferObject, unsigned int glObjectID=0)
void | setProfile (const BufferObjectProfile &profile)
const BufferObjectProfile & | getProfile () const
void | setBufferObject (BufferObject *bufferObject)
BufferObject * | getBufferObject ()
unsigned int | getContextID () const
GLuint & | getGLObjectID ()
GLuint | getGLObjectID () const
GLsizeiptr | getOffset (unsigned int i) const
void | bindBuffer ()
void | unbindBuffer ()
void | release ()
bool | isDirty () const
void | dirty ()
void | clear ()
void | compileBuffer ()
void | deleteGLObject ()
void | assign (BufferObject *bufferObject)
bool | isPBOSupported () const
bool | hasAllBufferDataBeenRead () const
void | setBufferDataHasBeenRead (const osg::BufferData *bd)
Public Member Functions inherited from osg::GraphicsObject
| GraphicsObject ()
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
virtual void | setThreadSafeRefUnref (bool)
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

## Public Attributes

GLBufferObjectSet * | _set
GLBufferObject * | _previous
GLBufferObject * | _next
unsigned int | _frameLastUsed
GLExtensions * | _extensions

## Protected Types

typedef std::vector< BufferEntry > | BufferEntries

## Protected Member Functions

virtual | ~GLBufferObject ()
unsigned int | computeBufferAlignment (unsigned int pos, unsigned int bufferAlignment) const
Protected Member Functions inherited from osg::GraphicsObject
virtual | ~GraphicsObject ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Protected Attributes

unsigned int | _contextID
GLuint | _glObjectID
BufferObjectProfile | _profile
unsigned int | _allocatedSize
bool | _dirty
BufferEntries | _bufferEntries
BufferObject * | _bufferObject
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Member Typedef Documentation

## BufferEntries

typedef std::vector<BufferEntry> osg::GLBufferObject::BufferEntries

protected

## Constructor & Destructor Documentation

## GLBufferObject()

osg::GLBufferObject::GLBufferObject | ( | unsigned int | contextID,
|  | BufferObject * | bufferObject,
|  | unsigned int | glObjectID = 0 )

## ~GLBufferObject()

virtual osg::GLBufferObject::~GLBufferObject | ( |  | ) |

protected virtual

## Member Function Documentation

## assign()

void osg::GLBufferObject::assign | ( | BufferObject * | bufferObject | ) |

## bindBuffer()

void osg::GLBufferObject::bindBuffer | ( |  | ) |

inline

References _extensions, _glObjectID, _profile, and _set.

Referenced by osg::State::bindDrawIndirectBufferObject(), osg::VertexArrayState::bindElementBufferObject(), osg::State::bindPixelBufferObject(), and osg::VertexArrayState::bindVertexBufferObject().

## clear()

void osg::GLBufferObject::clear | ( |  | ) |

## compileBuffer()

void osg::GLBufferObject::compileBuffer | ( |  | ) |

Referenced by osg::State::bindDrawIndirectBufferObject(), osg::VertexArrayState::bindElementBufferObject(), osg::State::bindPixelBufferObject(), and osg::VertexArrayState::bindVertexBufferObject().

## computeBufferAlignment()

unsigned int osg::GLBufferObject::computeBufferAlignment | ( | unsigned int | pos,
|  | unsigned int | bufferAlignment ) const

inline protected

References osg::computeBufferAlignment().

## deleteGLObject()

void osg::GLBufferObject::deleteGLObject | ( |  | ) |

## dirty()

void osg::GLBufferObject::dirty | ( |  | ) |

inline

References _dirty.

## getBufferObject()

BufferObject * osg::GLBufferObject::getBufferObject | ( |  | ) |

inline

References _bufferObject.

## getContextID()

unsigned int osg::GLBufferObject::getContextID | ( |  | ) | const

inline

References _contextID.

## getGLObjectID() [1/2]

GLuint & osg::GLBufferObject::getGLObjectID | ( |  | ) |

inline

References _glObjectID.

## getGLObjectID() [2/2]

GLuint osg::GLBufferObject::getGLObjectID | ( |  | ) | const

inline

References _glObjectID.

## getOffset()

GLsizeiptr osg::GLBufferObject::getOffset | ( | unsigned int | i | ) | const

inline

References _bufferEntries.

## getProfile()

const BufferObjectProfile & osg::GLBufferObject::getProfile | ( |  | ) | const

inline

References _profile.

## hasAllBufferDataBeenRead()

bool osg::GLBufferObject::hasAllBufferDataBeenRead | ( |  | ) | const

## isDirty()

bool osg::GLBufferObject::isDirty | ( |  | ) | const

inline

References _dirty.

Referenced by osg::State::bindDrawIndirectBufferObject(), osg::VertexArrayState::bindElementBufferObject(), osg::State::bindPixelBufferObject(), and osg::VertexArrayState::bindVertexBufferObject().

## isPBOSupported()

bool osg::GLBufferObject::isPBOSupported | ( |  | ) | const

inline

References _extensions.

## release()

void osg::GLBufferObject::release | ( |  | ) |

release GLBufferObject to the orphan list to be reused or deleted.

## setBufferDataHasBeenRead()

void osg::GLBufferObject::setBufferDataHasBeenRead | ( | const osg::BufferData * | bd | ) |

## setBufferObject()

void osg::GLBufferObject::setBufferObject | ( | BufferObject * | bufferObject | ) |

## setProfile()

void osg::GLBufferObject::setProfile | ( | const BufferObjectProfile & | profile | ) |

inline

References _profile.

## unbindBuffer()

void osg::GLBufferObject::unbindBuffer | ( |  | ) |

inline

References _extensions, and _profile.

## Member Data Documentation

## _allocatedSize

unsigned int osg::GLBufferObject::_allocatedSize

protected

## _bufferEntries

BufferEntries osg::GLBufferObject::_bufferEntries

protected

Referenced by getOffset().

## _bufferObject

BufferObject* osg::GLBufferObject::_bufferObject

protected

Referenced by getBufferObject().

## _contextID

unsigned int osg::GLBufferObject::_contextID

protected

Referenced by getContextID().

## _dirty

bool osg::GLBufferObject::_dirty

protected

Referenced by dirty(), and isDirty().

## _extensions

GLExtensions* osg::GLBufferObject::_extensions

Referenced by bindBuffer(), isPBOSupported(), and unbindBuffer().

## _frameLastUsed

unsigned int osg::GLBufferObject::_frameLastUsed

## _glObjectID

GLuint osg::GLBufferObject::_glObjectID

protected

Referenced by bindBuffer(), getGLObjectID(), and getGLObjectID().

## _next

GLBufferObject* osg::GLBufferObject::_next

## _previous

GLBufferObject* osg::GLBufferObject::_previous

## _profile

BufferObjectProfile osg::GLBufferObject::_profile

protected

Referenced by bindBuffer(), getProfile(), setProfile(), and unbindBuffer().

## _set

GLBufferObjectSet* osg::GLBufferObject::_set

Referenced by bindBuffer().

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

- BufferObject