OpenSceneGraph
3.0.1
|
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. | |
void | setTarget (GLenum target) |
GLenum | getTarget () const |
void | setUsage (GLenum usage) |
Set what type of usage the buffer object will have. | |
GLenum | getUsage () const |
Get the type of usage the buffer object has been set up for. | |
BufferObjectProfile & | getProfile () |
const BufferObjectProfile & | getProfile () const |
void | setCopyDataAndReleaseGLBufferObject (bool copyAndRelease) |
Set whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately so that it may be reused. | |
bool | getCopyDataAndReleaseGLBufferObject () const |
Get whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately. | |
void | dirty () |
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
Resize any per context GLObject buffers to specified size. | |
void | releaseGLObjects (State *state=0) const |
If State is non-zero, this function releases OpenGL objects for the specified graphics context. | |
unsigned int | addBufferData (BufferData *bd) |
void | removeBufferData (unsigned int index) |
void | removeBufferData (BufferData *bd) |
void | setBufferData (unsigned int index, BufferData *bd) |
BufferData * | getBufferData (unsigned int index) |
const BufferData * | getBufferData (unsigned int index) const |
unsigned int | getNumBufferData () const |
void | setGLBufferObject (unsigned int contextID, GLBufferObject *glbo) |
GLBufferObject * | getGLBufferObject (unsigned int contextID) const |
GLBufferObject * | getOrCreateGLBufferObject (unsigned int contextID) const |
unsigned int | computeRequiredBufferSize () const |
Static Public Member Functions | |
static void | deleteBufferObject (unsigned int contextID, GLuint globj) |
deprecated, provided for backwards compatibility. | |
Protected Types | |
typedef std::vector< BufferData * > | BufferDataList |
typedef osg::buffered_object < osg::ref_ptr< GLBufferObject > > | GLBufferObjects |
Protected Member Functions | |
~BufferObject () | |
Protected Attributes | |
BufferObjectProfile | _profile |
bool | _copyDataAndReleaseGLBufferObject |
BufferDataList | _bufferDataList |
GLBufferObjects | _glBufferObjects |
typedef std::vector< BufferData* > osg::BufferObject::BufferDataList [protected] |
typedef osg::buffered_object< osg::ref_ptr<GLBufferObject> > osg::BufferObject::GLBufferObjects [protected] |
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.
osg::BufferObject::~BufferObject | ( | ) | [protected] |
unsigned int osg::BufferObject::addBufferData | ( | BufferData * | bd | ) |
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.
unsigned int osg::BufferObject::computeRequiredBufferSize | ( | ) | const |
static void osg::BufferObject::deleteBufferObject | ( | unsigned int | contextID, |
GLuint | globj | ||
) | [static] |
deprecated, provided for backwards compatibility.
void osg::BufferObject::dirty | ( | ) |
BufferData* osg::BufferObject::getBufferData | ( | unsigned int | index | ) | [inline] |
const BufferData* osg::BufferObject::getBufferData | ( | unsigned int | index | ) | const [inline] |
bool osg::BufferObject::getCopyDataAndReleaseGLBufferObject | ( | ) | const [inline] |
Get whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately.
GLBufferObject* osg::BufferObject::getGLBufferObject | ( | unsigned int | contextID | ) | const [inline] |
unsigned int osg::BufferObject::getNumBufferData | ( | ) | const [inline] |
GLBufferObject* osg::BufferObject::getOrCreateGLBufferObject | ( | unsigned int | contextID | ) | const [inline] |
References osg::GLBufferObject::createGLBufferObject().
BufferObjectProfile& osg::BufferObject::getProfile | ( | ) | [inline] |
const BufferObjectProfile& osg::BufferObject::getProfile | ( | ) | const [inline] |
GLenum osg::BufferObject::getTarget | ( | ) | const [inline] |
GLenum osg::BufferObject::getUsage | ( | ) | const [inline] |
Get the type of usage the buffer object has been set up for.
virtual bool osg::BufferObject::isSameKindAs | ( | const Object * | obj | ) | const [inline, virtual] |
Reimplemented from osg::Object.
References NULL.
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.
void osg::BufferObject::releaseGLObjects | ( | State * | state = 0 | ) | const [virtual] |
If State is non-zero, this function releases OpenGL objects for the specified graphics context.
Otherwise, releases OpenGL objects for all graphics contexts.
Reimplemented from osg::Object.
void osg::BufferObject::removeBufferData | ( | unsigned int | index | ) |
void osg::BufferObject::removeBufferData | ( | BufferData * | bd | ) |
virtual void osg::BufferObject::resizeGLObjectBuffers | ( | unsigned int | maxSize | ) | [virtual] |
Resize any per context GLObject buffers to specified size.
Reimplemented from osg::Object.
Reimplemented in osg::PixelDataBufferObject.
void osg::BufferObject::setBufferData | ( | unsigned int | index, |
BufferData * | bd | ||
) |
void osg::BufferObject::setCopyDataAndReleaseGLBufferObject | ( | bool | copyAndRelease | ) | [inline] |
Set whether the BufferObject should use a GLBufferObject just for copying the BufferData and release it immmediately so that it may be reused.
void osg::BufferObject::setGLBufferObject | ( | unsigned int | contextID, |
GLBufferObject * | glbo | ||
) | [inline] |
void osg::BufferObject::setTarget | ( | GLenum | target | ) | [inline] |
void osg::BufferObject::setUsage | ( | GLenum | usage | ) | [inline] |
Set what type of usage the buffer object will have.
Options are: GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
BufferDataList osg::BufferObject::_bufferDataList [protected] |
bool osg::BufferObject::_copyDataAndReleaseGLBufferObject [protected] |
GLBufferObjects osg::BufferObject::_glBufferObjects [mutable, protected] |
BufferObjectProfile osg::BufferObject::_profile [protected] |
![]() | Generated at Mon Oct 3 2011 12:39:41 for the OpenSceneGraph by doxygen 1.7.5. |