OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
osg::GLBufferObject Class Reference

#include <BufferObject.h>

Inheritance diagram for osg::GLBufferObject:
Inheritance graph
[legend]
Collaboration diagram for osg::GLBufferObject:
Collaboration graph
[legend]

Classes

struct  BufferEntry
 

Public Member Functions

 GLBufferObject (unsigned int contextID, BufferObject *bufferObject, unsigned int glObjectID=0)
 
void setProfile (const BufferObjectProfile &profile)
 
const BufferObjectProfilegetProfile () const
 
void setBufferObject (BufferObject *bufferObject)
 
BufferObjectgetBufferObject ()
 
unsigned int getContextID () const
 
GLuint & getGLObjectID ()
 
GLuint getGLObjectID () const
 
GLsizeiptr getOffset (unsigned int i) const
 
void bindBuffer ()
 
void unbindBuffer ()
 
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::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
virtual void setThreadSafeRefUnref (bool threadSafe)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () const
 
void addObserver (Observer *observer) const
 
void removeObserver (Observer *observer) const
 

Static Public Member Functions

static osg::ref_ptr
< GLBufferObject
createGLBufferObject (unsigned int contextID, const BufferObject *bufferObject)
 
static void deleteAllBufferObjects (unsigned int contextID)
 
static void discardAllBufferObjects (unsigned int contextID)
 
static void flushAllDeletedBufferObjects (unsigned int contextID)
 
static void discardAllDeletedBufferObjects (unsigned int contextID)
 
static void flushDeletedBufferObjects (unsigned int contextID, double currentTime, double &availbleTime)
 
static void releaseGLBufferObject (unsigned int contextID, GLBufferObject *to)
 
- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 

Public Attributes

GLBufferObjectSet_set
 
GLBufferObject_previous
 
GLBufferObject_next
 
unsigned int _frameLastUsed
 
GLExtensions_extensions
 

Protected Types

typedef std::vector< BufferEntryBufferEntries
 

Protected Member Functions

virtual ~GLBufferObject ()
 
unsigned int computeBufferAlignment (unsigned int pos, unsigned int bufferAlignment) const
 
- 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
 

Detailed Description

Definition at line 154 of file BufferObject.h.

Member Typedef Documentation

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

Definition at line 256 of file BufferObject.h.

Constructor & Destructor Documentation

osg::GLBufferObject::GLBufferObject ( unsigned int  contextID,
BufferObject bufferObject,
unsigned int  glObjectID = 0 
)
virtual osg::GLBufferObject::~GLBufferObject ( )
protectedvirtual

Member Function Documentation

void osg::GLBufferObject::assign ( BufferObject bufferObject)
void osg::GLBufferObject::bindBuffer ( )
inline

Definition at line 755 of file BufferObject.h.

Here is the call graph for this function:

Here is the caller graph for this function:

void osg::GLBufferObject::clear ( )
void osg::GLBufferObject::compileBuffer ( )

Here is the caller graph for this function:

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

Definition at line 241 of file BufferObject.h.

static osg::ref_ptr<GLBufferObject> osg::GLBufferObject::createGLBufferObject ( unsigned int  contextID,
const BufferObject bufferObject 
)
static

Here is the caller graph for this function:

static void osg::GLBufferObject::deleteAllBufferObjects ( unsigned int  contextID)
static
void osg::GLBufferObject::deleteGLObject ( )
void osg::GLBufferObject::dirty ( )
inline

Definition at line 212 of file BufferObject.h.

static void osg::GLBufferObject::discardAllBufferObjects ( unsigned int  contextID)
static
static void osg::GLBufferObject::discardAllDeletedBufferObjects ( unsigned int  contextID)
static
static void osg::GLBufferObject::flushAllDeletedBufferObjects ( unsigned int  contextID)
static
static void osg::GLBufferObject::flushDeletedBufferObjects ( unsigned int  contextID,
double  currentTime,
double &  availbleTime 
)
static
BufferObject* osg::GLBufferObject::getBufferObject ( )
inline

Definition at line 164 of file BufferObject.h.

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

Definition at line 197 of file BufferObject.h.

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

Definition at line 199 of file BufferObject.h.

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

Definition at line 200 of file BufferObject.h.

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

Definition at line 201 of file BufferObject.h.

Here is the caller graph for this function:

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

Definition at line 161 of file BufferObject.h.

bool osg::GLBufferObject::hasAllBufferDataBeenRead ( ) const
bool osg::GLBufferObject::isDirty ( ) const
inline

Definition at line 210 of file BufferObject.h.

Here is the caller graph for this function:

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

Definition at line 222 of file BufferObject.h.

static void osg::GLBufferObject::releaseGLBufferObject ( unsigned int  contextID,
GLBufferObject to 
)
static
void osg::GLBufferObject::setBufferDataHasBeenRead ( const osg::BufferData bd)
void osg::GLBufferObject::setBufferObject ( BufferObject bufferObject)
void osg::GLBufferObject::setProfile ( const BufferObjectProfile profile)
inline

Definition at line 160 of file BufferObject.h.

void osg::GLBufferObject::unbindBuffer ( )
inline

Definition at line 205 of file BufferObject.h.

Member Data Documentation

unsigned int osg::GLBufferObject::_allocatedSize
protected

Definition at line 252 of file BufferObject.h.

BufferEntries osg::GLBufferObject::_bufferEntries
protected

Definition at line 257 of file BufferObject.h.

BufferObject* osg::GLBufferObject::_bufferObject
protected

Definition at line 259 of file BufferObject.h.

unsigned int osg::GLBufferObject::_contextID
protected

Definition at line 248 of file BufferObject.h.

bool osg::GLBufferObject::_dirty
protected

Definition at line 254 of file BufferObject.h.

GLExtensions* osg::GLBufferObject::_extensions

Definition at line 269 of file BufferObject.h.

unsigned int osg::GLBufferObject::_frameLastUsed

Definition at line 266 of file BufferObject.h.

GLuint osg::GLBufferObject::_glObjectID
protected

Definition at line 249 of file BufferObject.h.

GLBufferObject* osg::GLBufferObject::_next

Definition at line 265 of file BufferObject.h.

GLBufferObject* osg::GLBufferObject::_previous

Definition at line 264 of file BufferObject.h.

BufferObjectProfile osg::GLBufferObject::_profile
protected

Definition at line 251 of file BufferObject.h.

GLBufferObjectSet* osg::GLBufferObject::_set

Definition at line 263 of file BufferObject.h.


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