Public Member Functions | |
BufferObject () | |
BufferObject (const BufferObject &bo, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
Copy constructor using CopyOp to manage deep vs shallow copy. | |
virtual bool | isSameKindAs (const Object *obj) const |
virtual const char * | libraryName () const |
return the name of the object's library. | |
virtual const char * | className () const |
return the name of the object's class type. | |
bool | isBufferObjectSupported (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) |
flush all the cached display list which need to be deleted in the OpenGL context related to contextID. | |
Static Public Member Functions | |
void | deleteBufferObject (unsigned int contextID, GLuint globj) |
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. | |
Extensions * | getExtensions (unsigned int contextID, bool createIfNotInitalized) |
Function to call to get the extension of a specified context. | |
void | setExtensions (unsigned int contextID, Extensions *extensions) |
setExtensions allows users to override the extensions across graphics contexts. | |
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 |
|
|
|
|
|
|
|
|
|
Copy constructor using CopyOp to manage deep vs shallow copy.
|
|
|
|
|
|
|
|
return the name of the object's class type. Must be defined by derived classes. Implements osg::Object. |
|
Implemented in osg::PixelBufferObject. |
|
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.
|
|
flush all the cached display list which need to be deleted in the OpenGL context related to contextID.
|
|
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.. |
|
|
|
Reimplemented from osg::Object. |
|
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. |
|
Implemented in osg::PixelBufferObject. |
|
|
|
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. |
|
|
|
|
|
|
|
|
|
|