Public Member Functions | |
BufferObject () | |
BufferObject (const BufferObject &bo, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual bool | isSameKindAs (const Object *obj) const |
virtual const char * | libraryName () const |
virtual const char * | className () const |
void | setTarget (GLenum target) |
GLenum | getTarget () const |
void | setUsage (GLenum usage) |
GLenum | getUsage () const |
BufferObjectProfile & | getProfile () |
const BufferObjectProfile & | getProfile () const |
void | dirty () |
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
void | releaseGLObjects (State *state=0) const |
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) |
Protected Types | |
typedef std::vector< BufferData * > | BufferDataList |
typedef osg::buffered_object < osg::ref_ptr< GLBufferObject > > | GLBufferObjects |
Protected Member Functions | |
~BufferObject () | |
Protected Attributes | |
BufferObjectProfile | _profile |
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] |
virtual bool osg::BufferObject::isSameKindAs | ( | const Object * | obj | ) | const [inline, virtual] |
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 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.
void osg::BufferObject::setTarget | ( | GLenum | target | ) | [inline] |
GLenum osg::BufferObject::getTarget | ( | ) | const [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.
GLenum osg::BufferObject::getUsage | ( | ) | const [inline] |
Get the type of usage the buffer object has been set up for.
BufferObjectProfile& osg::BufferObject::getProfile | ( | ) | [inline] |
const BufferObjectProfile& osg::BufferObject::getProfile | ( | ) | const [inline] |
void osg::BufferObject::dirty | ( | ) |
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::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.
unsigned int osg::BufferObject::addBufferData | ( | BufferData * | bd | ) |
void osg::BufferObject::removeBufferData | ( | unsigned int | index | ) |
void osg::BufferObject::removeBufferData | ( | BufferData * | bd | ) |
void osg::BufferObject::setBufferData | ( | unsigned int | index, | |
BufferData * | bd | |||
) |
BufferData* osg::BufferObject::getBufferData | ( | unsigned int | index | ) | [inline] |
const BufferData* osg::BufferObject::getBufferData | ( | unsigned int | index | ) | const [inline] |
unsigned int osg::BufferObject::getNumBufferData | ( | ) | const [inline] |
void osg::BufferObject::setGLBufferObject | ( | unsigned int | contextID, | |
GLBufferObject * | glbo | |||
) | [inline] |
GLBufferObject* osg::BufferObject::getGLBufferObject | ( | unsigned int | contextID | ) | const [inline] |
GLBufferObject* osg::BufferObject::getOrCreateGLBufferObject | ( | unsigned int | contextID | ) | const [inline] |
References osg::GLBufferObject::createGLBufferObject().
unsigned int osg::BufferObject::computeRequiredBufferSize | ( | ) | const |
static void osg::BufferObject::deleteBufferObject | ( | unsigned int | contextID, | |
GLuint | globj | |||
) | [static] |
deprecated, provided for backwards compatibility.
BufferObjectProfile osg::BufferObject::_profile [protected] |
BufferDataList osg::BufferObject::_bufferDataList [protected] |
GLBufferObjects osg::BufferObject::_glBufferObjects [mutable, protected] |