openscenegraph
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
osg::GLBufferObjectManager Class Reference

#include <BufferObject>

Inheritance diagram for osg::GLBufferObjectManager:
osg::GraphicsObjectManager osg::Referenced

Public Member Functions

 GLBufferObjectManager (unsigned int contextID)
 
void setNumberActiveGLBufferObjects (unsigned int size)
 
unsigned int & getNumberActiveGLBufferObjects ()
 
unsigned int getNumberActiveGLBufferObjects () const
 
void setNumberOrphanedGLBufferObjects (unsigned int size)
 
unsigned int & getNumberOrphanedGLBufferObjects ()
 
unsigned int getNumberOrphanedGLBufferObjects () const
 
void setCurrGLBufferObjectPoolSize (unsigned int size)
 
unsigned int & getCurrGLBufferObjectPoolSize ()
 
unsigned int getCurrGLBufferObjectPoolSize () const
 
void setMaxGLBufferObjectPoolSize (unsigned int size)
 
unsigned int getMaxGLBufferObjectPoolSize () const
 
bool hasSpace (unsigned int size) const
 
bool makeSpace (unsigned int size)
 
osg::ref_ptr< GLBufferObjectgenerateGLBufferObject (const osg::BufferObject *bufferObject)
 
void handlePendingOrphandedGLBufferObjects ()
 
void deleteAllGLObjects ()
 
void discardAllGLObjects ()
 
void flushAllDeletedGLObjects ()
 
void discardAllDeletedGLObjects ()
 
void flushDeletedGLObjects (double currentTime, double &availableTime)
 
GLBufferObjectSetgetGLBufferObjectSet (const BufferObjectProfile &profile)
 
void newFrame (osg::FrameStamp *fs)
 
void resetStats ()
 
void reportStats (std::ostream &out)
 
void recomputeStats (std::ostream &out) const
 
unsigned int & getFrameNumber ()
 
unsigned int & getNumberFrames ()
 
unsigned int & getNumberDeleted ()
 
double & getDeleteTime ()
 
unsigned int & getNumberGenerated ()
 
double & getGenerateTime ()
 
unsigned int & getNumberApplied ()
 
double & getApplyTime ()
 
- Public Member Functions inherited from osg::GraphicsObjectManager
 GraphicsObjectManager (const std::string &name, unsigned int contextID)
 
unsigned int getContextID () const
 
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
virtual void setThreadSafeRefUnref (bool)
 
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
 

Protected Types

typedef std::map< BufferObjectProfile, osg::ref_ptr< GLBufferObjectSet > > GLBufferObjectSetMap
 

Protected Member Functions

virtual ~GLBufferObjectManager ()
 
- Protected Member Functions inherited from osg::GraphicsObjectManager
virtual ~GraphicsObjectManager ()
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

unsigned int _numActiveGLBufferObjects
 
unsigned int _numOrphanedGLBufferObjects
 
unsigned int _currGLBufferObjectPoolSize
 
unsigned int _maxGLBufferObjectPoolSize
 
GLBufferObjectSetMap _glBufferObjectSetMap
 
unsigned int _frameNumber
 
unsigned int _numFrames
 
unsigned int _numDeleted
 
double _deleteTime
 
unsigned int _numGenerated
 
double _generateTime
 
unsigned int _numApplied
 
double _applyTime
 
- Protected Attributes inherited from osg::GraphicsObjectManager
std::string _name
 
unsigned int _contextID
 
- 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::MutexgetGlobalReferencedMutex ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 

Member Typedef Documentation

◆ GLBufferObjectSetMap

Constructor & Destructor Documentation

◆ GLBufferObjectManager()

osg::GLBufferObjectManager::GLBufferObjectManager ( unsigned int  contextID)

◆ ~GLBufferObjectManager()

virtual osg::GLBufferObjectManager::~GLBufferObjectManager ( )
protectedvirtual

Member Function Documentation

◆ deleteAllGLObjects()

void osg::GLBufferObjectManager::deleteAllGLObjects ( )
virtual

Do a GL delete all OpenGL objects. Note, must be called from a thread which has current the graphics context associated with contextID.

Implements osg::GraphicsObjectManager.

◆ discardAllDeletedGLObjects()

void osg::GLBufferObjectManager::discardAllDeletedGLObjects ( )

◆ discardAllGLObjects()

void osg::GLBufferObjectManager::discardAllGLObjects ( )
virtual

Discard all OpenGL objects. Note, unlike deleteAllGLjects discard does not do any OpenGL calls so can be called from any thread, but as a consequence it also doesn't remove the associated OpenGL resource so discard should only be called when the associated graphics context is being/has been closed.

Implements osg::GraphicsObjectManager.

◆ flushAllDeletedGLObjects()

void osg::GLBufferObjectManager::flushAllDeletedGLObjects ( )
virtual

Flush all deleted OpenGL objects. Note, must be called from a thread which has current the graphics context associated with contextID.

Implements osg::GraphicsObjectManager.

◆ flushDeletedGLObjects()

void osg::GLBufferObjectManager::flushDeletedGLObjects ( double  currentTime,
double &  availableTime 
)
virtual

Flush all deleted OpenGL objects within the specified availableTime. Note, must be called from a thread which has current the graphics context associated with contextID.

Implements osg::GraphicsObjectManager.

◆ generateGLBufferObject()

osg::ref_ptr< GLBufferObject > osg::GLBufferObjectManager::generateGLBufferObject ( const osg::BufferObject bufferObject)

◆ getApplyTime()

double & osg::GLBufferObjectManager::getApplyTime ( )
inline

◆ getCurrGLBufferObjectPoolSize() [1/2]

unsigned int & osg::GLBufferObjectManager::getCurrGLBufferObjectPoolSize ( )
inline

◆ getCurrGLBufferObjectPoolSize() [2/2]

unsigned int osg::GLBufferObjectManager::getCurrGLBufferObjectPoolSize ( ) const
inline

◆ getDeleteTime()

double & osg::GLBufferObjectManager::getDeleteTime ( )
inline

◆ getFrameNumber()

unsigned int & osg::GLBufferObjectManager::getFrameNumber ( )
inline

◆ getGenerateTime()

double & osg::GLBufferObjectManager::getGenerateTime ( )
inline

◆ getGLBufferObjectSet()

GLBufferObjectSet * osg::GLBufferObjectManager::getGLBufferObjectSet ( const BufferObjectProfile profile)

◆ getMaxGLBufferObjectPoolSize()

unsigned int osg::GLBufferObjectManager::getMaxGLBufferObjectPoolSize ( ) const
inline

◆ getNumberActiveGLBufferObjects() [1/2]

unsigned int & osg::GLBufferObjectManager::getNumberActiveGLBufferObjects ( )
inline

◆ getNumberActiveGLBufferObjects() [2/2]

unsigned int osg::GLBufferObjectManager::getNumberActiveGLBufferObjects ( ) const
inline

◆ getNumberApplied()

unsigned int & osg::GLBufferObjectManager::getNumberApplied ( )
inline

◆ getNumberDeleted()

unsigned int & osg::GLBufferObjectManager::getNumberDeleted ( )
inline

◆ getNumberFrames()

unsigned int & osg::GLBufferObjectManager::getNumberFrames ( )
inline

◆ getNumberGenerated()

unsigned int & osg::GLBufferObjectManager::getNumberGenerated ( )
inline

◆ getNumberOrphanedGLBufferObjects() [1/2]

unsigned int & osg::GLBufferObjectManager::getNumberOrphanedGLBufferObjects ( )
inline

◆ getNumberOrphanedGLBufferObjects() [2/2]

unsigned int osg::GLBufferObjectManager::getNumberOrphanedGLBufferObjects ( ) const
inline

◆ handlePendingOrphandedGLBufferObjects()

void osg::GLBufferObjectManager::handlePendingOrphandedGLBufferObjects ( )

◆ hasSpace()

bool osg::GLBufferObjectManager::hasSpace ( unsigned int  size) const
inline

◆ makeSpace()

bool osg::GLBufferObjectManager::makeSpace ( unsigned int  size)

◆ newFrame()

void osg::GLBufferObjectManager::newFrame ( osg::FrameStamp )
virtual

Signal that a new frame has started.

Reimplemented from osg::GraphicsObjectManager.

◆ recomputeStats()

void osg::GLBufferObjectManager::recomputeStats ( std::ostream &  out) const
virtual

Reimplemented from osg::GraphicsObjectManager.

◆ reportStats()

void osg::GLBufferObjectManager::reportStats ( std::ostream &  out)
virtual

Reimplemented from osg::GraphicsObjectManager.

◆ resetStats()

void osg::GLBufferObjectManager::resetStats ( )
virtual

Reimplemented from osg::GraphicsObjectManager.

◆ setCurrGLBufferObjectPoolSize()

void osg::GLBufferObjectManager::setCurrGLBufferObjectPoolSize ( unsigned int  size)
inline

◆ setMaxGLBufferObjectPoolSize()

void osg::GLBufferObjectManager::setMaxGLBufferObjectPoolSize ( unsigned int  size)

◆ setNumberActiveGLBufferObjects()

void osg::GLBufferObjectManager::setNumberActiveGLBufferObjects ( unsigned int  size)
inline

◆ setNumberOrphanedGLBufferObjects()

void osg::GLBufferObjectManager::setNumberOrphanedGLBufferObjects ( unsigned int  size)
inline

Member Data Documentation

◆ _applyTime

double osg::GLBufferObjectManager::_applyTime
protected

◆ _currGLBufferObjectPoolSize

unsigned int osg::GLBufferObjectManager::_currGLBufferObjectPoolSize
protected

◆ _deleteTime

double osg::GLBufferObjectManager::_deleteTime
protected

◆ _frameNumber

unsigned int osg::GLBufferObjectManager::_frameNumber
protected

◆ _generateTime

double osg::GLBufferObjectManager::_generateTime
protected

◆ _glBufferObjectSetMap

GLBufferObjectSetMap osg::GLBufferObjectManager::_glBufferObjectSetMap
protected

◆ _maxGLBufferObjectPoolSize

unsigned int osg::GLBufferObjectManager::_maxGLBufferObjectPoolSize
protected

◆ _numActiveGLBufferObjects

unsigned int osg::GLBufferObjectManager::_numActiveGLBufferObjects
protected

◆ _numApplied

unsigned int osg::GLBufferObjectManager::_numApplied
protected

◆ _numDeleted

unsigned int osg::GLBufferObjectManager::_numDeleted
protected

◆ _numFrames

unsigned int osg::GLBufferObjectManager::_numFrames
protected

◆ _numGenerated

unsigned int osg::GLBufferObjectManager::_numGenerated
protected

◆ _numOrphanedGLBufferObjects

unsigned int osg::GLBufferObjectManager::_numOrphanedGLBufferObjects
protected

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