osg::BufferObject Class Reference

Inheritance diagram for osg::BufferObject:

osg::Object osg::Referenced osg::PixelBufferObject List of all members.

Public Member Functions

 BufferObject ()
 BufferObject (const BufferObject &bo, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual bool isSameKindAs (const Object *obj) const
virtual const char * libraryName () const
virtual const char * className () const
bool isBufferObjectSupported (unsigned int contextID) const
bool isPBOSupported (unsigned int contextID) const
GLuint & buffer (unsigned int contextID) const
void bindBuffer (unsigned int contextID) const
void unbindBuffer (unsigned int contextID) const
virtual bool needsCompile (unsigned int contextID) const =0
virtual void compileBuffer (State &state) const =0
void releaseBuffer (State *state) const
void flushDeletedBufferObjects (unsigned int contextID, double, double &availableTime)

Static Public Member Functions

static void deleteBufferObject (unsigned int contextID, GLuint globj)
static ExtensionsgetExtensions (unsigned int contextID, bool createIfNotInitalized)
static void setExtensions (unsigned int contextID, Extensions *extensions)

Protected Types

typedef osg::buffered_value<
GLuint > 
GLObjectList
typedef std::pair< BufferEntry,
ref_ptr< Array > > 
BufferEntryArrayPair
typedef std::pair< BufferEntry,
ref_ptr< PrimitiveSet > > 
BufferEntryPrimitiveSetPair

Protected Member Functions

virtual ~BufferObject ()

Protected Attributes

GLObjectList _bufferObjectList
GLenum _target
GLenum _usage
unsigned int _totalSize

Classes

struct  BufferEntry
class  Extensions

Member Typedef Documentation

typedef std::pair< BufferEntry, ref_ptr<Array> > osg::BufferObject::BufferEntryArrayPair [protected]
 

typedef std::pair< BufferEntry, ref_ptr<PrimitiveSet> > osg::BufferObject::BufferEntryPrimitiveSetPair [protected]
 

typedef osg::buffered_value<GLuint> osg::BufferObject::GLObjectList [protected]
 


Constructor & Destructor Documentation

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.

virtual osg::BufferObject::~BufferObject  )  [protected, virtual]
 


Member Function Documentation

void osg::BufferObject::bindBuffer unsigned int  contextID  )  const [inline]
 

GLuint& osg::BufferObject::buffer unsigned int  contextID  )  const [inline]
 

virtual const char* osg::BufferObject::className  )  const [inline, virtual]
 

return the name of the object's class type. Must be defined by derived classes.

Implements osg::Object.

virtual void osg::BufferObject::compileBuffer State state  )  const [pure virtual]
 

Implemented in osg::PixelBufferObject.

static void osg::BufferObject::deleteBufferObject unsigned int  contextID,
GLuint  globj
[static]
 

Use deleteVertexBufferObject instead of glDeleteBuffers to allow OpenGL buffer objects to be cached until they can be deleted by the OpenGL context in which they were created, specified by contextID.

void osg::BufferObject::flushDeletedBufferObjects unsigned int  contextID,
double  ,
double &  availableTime
 

flush all the cached display list which need to be deleted in the OpenGL context related to contextID.

static Extensions* osg::BufferObject::getExtensions unsigned int  contextID,
bool  createIfNotInitalized
[static]
 

Function to call to get the extension of a specified context. If the Exentsion object for that context has not yet been created and the 'createIfNotInitalized' flag been set to false then returns NULL. If 'createIfNotInitalized' is true then the Extensions object is automatically created. However, in this case the extension object is only created with the graphics context associated with ContextID..

bool osg::BufferObject::isBufferObjectSupported unsigned int  contextID  )  const [inline]
 

bool osg::BufferObject::isPBOSupported unsigned int  contextID  )  const [inline]
 

virtual bool osg::BufferObject::isSameKindAs const Object obj  )  const [inline, virtual]
 

Reimplemented from osg::Object.

virtual const char* osg::BufferObject::libraryName  )  const [inline, virtual]
 

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.

virtual bool osg::BufferObject::needsCompile unsigned int  contextID  )  const [pure virtual]
 

Implemented in osg::PixelBufferObject.

void osg::BufferObject::releaseBuffer State state  )  const
 

static void osg::BufferObject::setExtensions unsigned int  contextID,
Extensions extensions
[static]
 

setExtensions allows users to override the extensions across graphics contexts. typically used when you have different extensions supported across graphics pipes but need to ensure that they all use the same low common denominator extensions.

void osg::BufferObject::unbindBuffer unsigned int  contextID  )  const [inline]
 


Member Data Documentation

GLObjectList osg::BufferObject::_bufferObjectList [mutable, protected]
 

GLenum osg::BufferObject::_target [protected]
 

unsigned int osg::BufferObject::_totalSize [mutable, protected]
 

GLenum osg::BufferObject::_usage [protected]
 


The documentation for this class was generated from the following file:
Generated on Wed Nov 29 06:29:41 2006 for OpenSceneGraph by  doxygen 1.4.6