OpenSceneGraph 3.6.5
|
The MultiDrawArraysIndirect PrimitiveSet. More...
#include <PrimitiveSetIndirect>
Public Member Functions | |
DrawArraysIndirect (GLenum mode=0, unsigned int firstcommand=0, GLsizei stride=0) | |
DrawArraysIndirect (const DrawArraysIndirect &dal, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual osg::Object * | cloneType () const |
Clone the type of an object, with Object* return type. | |
virtual osg::Object * | clone (const osg::CopyOp ©op) const |
Clone an object, with Object* return type. | |
virtual bool | isSameKindAs (const osg::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. | |
virtual void | draw (State &state, bool useVertexBufferObjects) const |
virtual void | accept (PrimitiveFunctor &functor) const |
virtual void | accept (PrimitiveIndexFunctor &functor) const |
virtual unsigned int | getNumIndices () const |
virtual unsigned int | index (unsigned int pos) const |
virtual void | offsetIndices (int offset) |
virtual unsigned int | getNumPrimitives () const |
void | setStride (GLsizei i) |
stride (to set if you use custom CommandArray) | |
GLsizei | getStride () const |
stride (to set if you use custom CommandArray) | |
void | setFirstCommandToDraw (unsigned int i) |
set offset of the first command in the IndirectCommandDrawArrays | |
unsigned int | getFirstCommandToDraw () const |
get offset of the first command in the IndirectCommandDrawArrays | |
void | setIndirectCommandArray (IndirectCommandDrawArrays *idc) |
const IndirectCommandDrawArrays * | getIndirectCommandArray () const |
IndirectCommandDrawArrays * | getIndirectCommandArray () |
Public Member Functions inherited from osg::PrimitiveSet | |
PrimitiveSet (Type primType=PrimitiveType, GLenum mode=0, int numInstances=0) | |
PrimitiveSet (const PrimitiveSet &prim, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
Type | getType () const |
virtual osg::PrimitiveSet * | asPrimitiveSet () |
virtual const osg::PrimitiveSet * | asPrimitiveSet () const |
virtual const GLvoid * | getDataPointer () const |
virtual unsigned int | getTotalDataSize () const |
virtual bool | supportsBufferObject () const |
virtual DrawElements * | getDrawElements () |
virtual const DrawElements * | getDrawElements () const |
void | setNumInstances (int n) |
int | getNumInstances () const |
void | setMode (GLenum mode) |
GLenum | getMode () const |
virtual void | computeRange () const |
Public Member Functions inherited from osg::BufferData | |
BufferData () | |
BufferData (const BufferData &bd, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
Copy constructor using CopyOp to manage deep vs shallow copy. | |
virtual osg::Array * | asArray () |
virtual const osg::Array * | asArray () const |
virtual osg::Image * | asImage () |
Convert 'this' into a Image pointer if Object is a Image, otherwise return 0. | |
virtual const osg::Image * | asImage () const |
Convert 'this' into a Image pointer if Object is a Image, otherwise return 0. | |
void | setBufferObject (BufferObject *bufferObject) |
BufferObject * | getBufferObject () |
const BufferObject * | getBufferObject () const |
void | setBufferIndex (unsigned int index) |
unsigned int | getBufferIndex () const |
GLBufferObject * | getGLBufferObject (unsigned int contextID) const |
GLBufferObject * | getOrCreateGLBufferObject (unsigned int contextID) const |
void | setModifiedCallback (ModifiedCallback *md) |
ModifiedCallback * | getModifiedCallback () |
const ModifiedCallback * | getModifiedCallback () const |
void | dirty () |
Dirty the primitive, which increments the modified count, to force buffer objects to update. | |
void | setModifiedCount (unsigned int value) |
Set the modified count value. | |
unsigned int | getModifiedCount () const |
Get modified count value. | |
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 | getNumClients () const |
void | addClient (osg::Object *) |
void | removeClient (osg::Object *) |
Public Member Functions inherited from osg::Object | |
Object () | |
Construct an object. | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data. | |
std::string | getCompoundClassName () const |
return the compound class name that combines the library name and class name. | |
virtual Node * | asNode () |
Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. | |
virtual const Node * | asNode () const |
convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. | |
virtual NodeVisitor * | asNodeVisitor () |
Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. | |
virtual const NodeVisitor * | asNodeVisitor () const |
convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. | |
virtual StateSet * | asStateSet () |
Convert 'this' into a StateSet pointer if Object is a StateSet, otherwise return 0. | |
virtual const StateSet * | asStateSet () const |
convert 'const this' into a const StateSet pointer if Object is a StateSet, otherwise return 0. | |
virtual StateAttribute * | asStateAttribute () |
Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. | |
virtual const StateAttribute * | asStateAttribute () const |
convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. | |
virtual Uniform * | asUniform () |
Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. | |
virtual const Uniform * | asUniform () const |
convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. | |
virtual Camera * | asCamera () |
Convert 'this' into a Camera pointer if Node is a Camera, otherwise return 0. | |
virtual const Camera * | asCamera () const |
convert 'const this' into a const Camera pointer if Node is a Camera, otherwise return 0. | |
virtual Drawable * | asDrawable () |
Convert 'this' into a Drawable pointer if Object is a Drawable, otherwise return 0. | |
virtual const Drawable * | asDrawable () const |
convert 'const this' into a const Drawable pointer if Object is a Drawable, otherwise return 0. | |
virtual Callback * | asCallback () |
Convert 'this' into a Callback pointer if Object is a Callback, otherwise return 0. | |
virtual const Callback * | asCallback () const |
convert 'const this' into a const Callback pointer if Object is a Callback, otherwise return 0. | |
virtual CallbackObject * | asCallbackObject () |
Convert 'this' into a CallbackObject pointer if Object is a CallbackObject, otherwise return 0. | |
virtual const CallbackObject * | asCallbackObject () const |
convert 'const this' into a const CallbackObject pointer if Object is a CallbackObject, otherwise return 0. | |
virtual UserDataContainer * | asUserDataContainer () |
Convert 'this' into a UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0. | |
virtual const UserDataContainer * | asUserDataContainer () const |
convert 'const this' into a const UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0. | |
virtual ValueObject * | asValueObject () |
Convert 'this' into a ValueObject pointer if Object is a ValueObject, otherwise return 0. | |
virtual const ValueObject * | asValueObject () const |
Convert 'this' into a ValueObject pointer if Object is a ValueObject, otherwise return 0. | |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. | |
virtual void | setName (const std::string &name) |
Set the name of object using C++ style string. | |
void | setName (const char *name) |
Set the name of object using a C style string. | |
const std::string & | getName () const |
Get the name of object. | |
void | setDataVariance (DataVariance dv) |
Set the data variance of this object. | |
DataVariance | getDataVariance () const |
Get the data variance of this object. | |
virtual void | computeDataVariance () |
Compute the DataVariance based on an assessment of callback etc. | |
void | setUserDataContainer (osg::UserDataContainer *udc) |
set the UserDataContainer object. | |
template<class T> | |
void | setUserDataContainer (const ref_ptr< T > &udc) |
osg::UserDataContainer * | getUserDataContainer () |
get the UserDataContainer attached to this object. | |
const osg::UserDataContainer * | getUserDataContainer () const |
get the const UserDataContainer attached to this object. | |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
Convenience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns a DefaultUserDataContainer to the Object and then return this new UserDataContainer. | |
virtual void | setUserData (Referenced *obj) |
Set user data, data must be subclassed from Referenced to allow automatic memory handling. | |
template<class T> | |
void | setUserData (const ref_ptr< T > &ud) |
virtual Referenced * | getUserData () |
Get user data. | |
virtual const Referenced * | getUserData () const |
Get const user data. | |
template<typename T> | |
bool | getUserValue (const std::string &name, T &value) const |
Convenience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value. | |
template<typename T> | |
void | setUserValue (const std::string &name, const T &value) |
Convenience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject. | |
template<typename T> | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
provide implementation of osg::Object::getUserValue(..) template | |
Public Member Functions inherited from osg::Referenced | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead. | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. | |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). | |
int | ref () const |
Increment the reference count by one, indicating that this object has another pointer which is referencing it. | |
int | unref () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. | |
int | referenceCount () const |
Return the number of pointers currently referencing this object. | |
ObserverSet * | getObserverSet () const |
Get the ObserverSet if one is attached, otherwise return NULL. | |
ObserverSet * | getOrCreateObserverSet () const |
Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. | |
void | addObserver (Observer *observer) const |
Add a Observer that is observing this object, notify the Observer when this object gets deleted. | |
void | removeObserver (Observer *observer) const |
Remove Observer that is observing this object. |
Protected Attributes | |
unsigned int | _firstCommand |
GLsizei | _stride |
ref_ptr< IndirectCommandDrawArrays > | _indirectCommandArray |
Protected Attributes inherited from osg::PrimitiveSet | |
Type | _primitiveType |
int | _numInstances |
GLenum | _mode |
Protected Attributes inherited from osg::BufferData | |
unsigned int | _modifiedCount |
unsigned int | _bufferIndex |
osg::ref_ptr< BufferObject > | _bufferObject |
osg::ref_ptr< ModifiedCallback > | _modifiedCallback |
unsigned int | _numClients |
Protected Attributes inherited from osg::Object | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
Protected Attributes inherited from osg::Referenced | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
|
inline |
References _firstCommand, _stride, osg::PrimitiveSet::DrawArraysIndirectPrimitiveType, osg::PrimitiveSet::PrimitiveSet(), and setIndirectCommandArray().
Referenced by clone(), cloneType(), DrawArraysIndirect(), isSameKindAs(), osg::MultiDrawArraysIndirect::MultiDrawArraysIndirect(), and osg::MultiDrawArraysIndirect::MultiDrawArraysIndirect().
|
inline |
|
virtual |
Implements osg::PrimitiveSet.
Reimplemented in osg::MultiDrawArraysIndirect.
|
virtual |
Implements osg::PrimitiveSet.
Reimplemented in osg::MultiDrawArraysIndirect.
|
inlinevirtual |
return the name of the object's class type.
Must be defined by derived classes.
Reimplemented from osg::PrimitiveSet.
Reimplemented in osg::MultiDrawArraysIndirect.
|
inlinevirtual |
Clone an object, with Object* return type.
Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osg::MultiDrawArraysIndirect.
References DrawArraysIndirect().
|
inlinevirtual |
Clone the type of an object, with Object* return type.
Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osg::MultiDrawArraysIndirect.
References DrawArraysIndirect().
|
virtual |
Implements osg::PrimitiveSet.
Reimplemented in osg::MultiDrawArraysIndirect.
|
inline |
get offset of the first command in the IndirectCommandDrawArrays
References _firstCommand.
|
inline |
References _indirectCommandArray.
|
inline |
References _indirectCommandArray.
|
virtual |
Implements osg::PrimitiveSet.
Reimplemented in osg::MultiDrawArraysIndirect.
|
virtual |
Reimplemented from osg::PrimitiveSet.
Reimplemented in osg::MultiDrawArraysIndirect.
|
inline |
stride (to set if you use custom CommandArray)
References _stride.
|
virtual |
Implements osg::PrimitiveSet.
Reimplemented in osg::MultiDrawArraysIndirect.
|
inlinevirtual |
Reimplemented from osg::PrimitiveSet.
Reimplemented in osg::MultiDrawArraysIndirect.
References DrawArraysIndirect(), and NULL.
|
inlinevirtual |
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.
Reimplemented from osg::PrimitiveSet.
|
virtual |
Implements osg::PrimitiveSet.
Reimplemented in osg::MultiDrawArraysIndirect.
|
inline |
set offset of the first command in the IndirectCommandDrawArrays
References _firstCommand.
|
inline |
References _indirectCommandArray.
Referenced by DrawArraysIndirect().
|
inline |
stride (to set if you use custom CommandArray)
References _stride.
|
protected |
Referenced by DrawArraysIndirect(), DrawArraysIndirect(), getFirstCommandToDraw(), and setFirstCommandToDraw().
|
protected |
Referenced by DrawArraysIndirect(), getIndirectCommandArray(), getIndirectCommandArray(), and setIndirectCommandArray().
|
protected |
Referenced by DrawArraysIndirect(), DrawArraysIndirect(), getStride(), and setStride().
![]() | Generated at Wed Jul 23 2025 00:00:00 for the OpenSceneGraph by doxygen 1.14.0. |