OpenSceneGraph 3.6.5
|
#include <VertexArrayState>
Classes | |
struct | ArrayDispatch |
Public Types | |
typedef std::vector< ref_ptr< ArrayDispatch > > | ArrayDispatchList |
typedef std::vector< ArrayDispatch * > | ActiveDispatchers |
Public Member Functions | |
VertexArrayState (osg::State *state) | |
void | setCurrentVertexBufferObject (osg::GLBufferObject *vbo) |
GLBufferObject * | getCurrentVertexBufferObject () |
void | bindVertexBufferObject (osg::GLBufferObject *vbo) |
void | unbindVertexBufferObject () |
void | setCurrentElementBufferObject (osg::GLBufferObject *ebo) |
GLBufferObject * | getCurrentElementBufferObject () |
void | bindElementBufferObject (osg::GLBufferObject *ebo) |
void | unbindElementBufferObject () |
void | resetBufferObjectPointers () |
bool | correctArrayDispatchAssigned (const ArrayDispatch *ad) |
void | assignAllDispatchers () |
void | assignVertexArrayDispatcher () |
void | assignNormalArrayDispatcher () |
void | assignColorArrayDispatcher () |
void | assignSecondaryColorArrayDispatcher () |
void | assignFogCoordArrayDispatcher () |
void | assignTexCoordArrayDispatcher (unsigned int numUnits) |
void | assignVertexAttribArrayDispatcher (unsigned int numUnits) |
void | setVertexBufferObjectSupported (bool flag) |
bool | isVertexBufferObjectSupported () const |
void | setArray (ArrayDispatch *vad, osg::State &state, const osg::Array *new_array) |
void | setArray (ArrayDispatch *vad, osg::State &state, GLint size, GLenum type, GLsizei stride, const GLvoid *ptr, GLboolean normalized) |
void | disable (ArrayDispatch *vad, osg::State &state) |
void | setInterleavedArrays (osg::State &state, GLenum format, GLsizei stride, const GLvoid *pointer) |
void | setVertexArray (osg::State &state, const osg::Array *array) |
void | setVertexArray (osg::State &state, GLint size, GLenum type, GLsizei stride, const GLvoid *ptr, GLboolean normalized=GL_FALSE) |
void | disableVertexArray (osg::State &state) |
void | setNormalArray (osg::State &state, const osg::Array *array) |
void | setNormalArray (osg::State &state, GLenum type, GLsizei stride, const GLvoid *ptr, GLboolean normalized=GL_FALSE) |
void | disableNormalArray (osg::State &state) |
void | setColorArray (osg::State &state, const osg::Array *array) |
void | setColorArray (osg::State &state, GLint size, GLenum type, GLsizei stride, const GLvoid *ptr, GLboolean normalized=GL_TRUE) |
void | disableColorArray (osg::State &state) |
void | setSecondaryColorArray (osg::State &state, const osg::Array *array) |
void | disableSecondaryColorArray (osg::State &state) |
void | setFogCoordArray (osg::State &state, const osg::Array *array) |
void | disableFogCoordArray (osg::State &state) |
void | setTexCoordArray (osg::State &state, unsigned int unit, const osg::Array *array) |
void | setTexCoordArray (osg::State &state, unsigned int unit, GLint size, GLenum type, GLsizei stride, const GLvoid *ptr, GLboolean normalized=GL_FALSE) |
void | disableTexCoordArray (osg::State &state, unsigned int unit) |
void | disableTexCoordArrayAboveAndIncluding (osg::State &state, unsigned int index) |
void | setVertexAttribArray (osg::State &state, unsigned int unit, const osg::Array *array) |
void | disableVertexAttribArray (osg::State &state, unsigned int unit) |
void | disableVertexAttribArrayAboveAndIncluding (osg::State &state, unsigned int index) |
void | lazyDisablingOfVertexAttributes () |
Mark all the vertex attributes as being disabled but leave the disabling till a later call to applyDisablingOfVertexAttributes. | |
void | applyDisablingOfVertexAttributes (osg::State &state) |
Disable all the vertex attributes that have been marked as to be disabled. | |
void | generateVertexArrayObject () |
void | deleteVertexArrayObject () |
GLuint | getVertexArrayObject () const |
void | setRequiresSetArrays (bool flag) |
bool | getRequiresSetArrays () const |
void | dirty () |
void | release () |
virtual | ~VertexArrayState () |
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 &) |
virtual void | setThreadSafeRefUnref (bool) |
Deprecated, Referenced is always theadsafe so there method now has no effect and does not need to be called. | |
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. |
Additional Inherited Members | |
Static Public Member Functions inherited from osg::Referenced | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
Get the optional global Referenced mutex, this can be shared between all osg::Referenced. | |
static void | setDeleteHandler (DeleteHandler *handler) |
Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. | |
static DeleteHandler * | getDeleteHandler () |
Get a DeleteHandler. | |
Protected Member Functions inherited from osg::Referenced | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Protected Attributes inherited from osg::Referenced | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
typedef std::vector<ArrayDispatch*> osg::VertexArrayState::ActiveDispatchers |
typedef std::vector< ref_ptr<ArrayDispatch> > osg::VertexArrayState::ArrayDispatchList |
osg::VertexArrayState::VertexArrayState | ( | osg::State * | state | ) |
|
virtual |
|
inline |
Disable all the vertex attributes that have been marked as to be disabled.
References _previous_activeDispatchers, osg::VertexArrayState::ArrayDispatch::active, osg::VertexArrayState::ArrayDispatch::array, osg::VertexArrayState::ArrayDispatch::disable(), and osg::VertexArrayState::ArrayDispatch::modifiedCount.
void osg::VertexArrayState::assignAllDispatchers | ( | ) |
void osg::VertexArrayState::assignColorArrayDispatcher | ( | ) |
void osg::VertexArrayState::assignFogCoordArrayDispatcher | ( | ) |
void osg::VertexArrayState::assignNormalArrayDispatcher | ( | ) |
void osg::VertexArrayState::assignSecondaryColorArrayDispatcher | ( | ) |
void osg::VertexArrayState::assignTexCoordArrayDispatcher | ( | unsigned int | numUnits | ) |
void osg::VertexArrayState::assignVertexArrayDispatcher | ( | ) |
void osg::VertexArrayState::assignVertexAttribArrayDispatcher | ( | unsigned int | numUnits | ) |
|
inline |
|
inline |
bool osg::VertexArrayState::correctArrayDispatchAssigned | ( | const ArrayDispatch * | ad | ) |
void osg::VertexArrayState::deleteVertexArrayObject | ( | ) |
void osg::VertexArrayState::dirty | ( | ) |
|
inline |
References osg::VertexArrayState::ArrayDispatch::active, osg::VertexArrayState::ArrayDispatch::array, osg::VertexArrayState::ArrayDispatch::disable(), and osg::VertexArrayState::ArrayDispatch::modifiedCount.
Referenced by disableColorArray(), disableFogCoordArray(), disableNormalArray(), disableSecondaryColorArray(), disableTexCoordArray(), disableTexCoordArrayAboveAndIncluding(), disableVertexArray(), disableVertexAttribArray(), and disableVertexAttribArrayAboveAndIncluding().
|
inline |
References _colorArray, and disable().
|
inline |
References _fogCoordArray, and disable().
|
inline |
References _normalArray, and disable().
|
inline |
References _secondaryColorArray, and disable().
|
inline |
References _texCoordArrays, disable(), and osg::get().
|
inline |
References _texCoordArrays, disable(), and osg::get().
|
inline |
References _vertexArray, and disable().
|
inline |
References _vertexAttribArrays, disable(), and osg::get().
|
inline |
References _vertexAttribArrays, disable(), and osg::get().
void osg::VertexArrayState::generateVertexArrayObject | ( | ) |
|
inline |
References _currentEBO.
|
inline |
References _currentVBO.
|
inline |
References _requiresSetArrays.
|
inline |
References _vertexArrayObject.
Referenced by osg::State::bindVertexArrayObject(), and osg::State::resetCurrentVertexArrayStateOnMatch().
|
inline |
References _isVertexBufferObjectSupported.
|
inline |
Mark all the vertex attributes as being disabled but leave the disabling till a later call to applyDisablingOfVertexAttributes.
References _activeDispatchers, _previous_activeDispatchers, and osg::VertexArrayState::ArrayDispatch::active.
void osg::VertexArrayState::release | ( | ) |
|
inline |
References _currentEBO, and _currentVBO.
void osg::VertexArrayState::setArray | ( | ArrayDispatch * | vad, |
osg::State & | state, | ||
const osg::Array * | new_array ) |
void osg::VertexArrayState::setArray | ( | ArrayDispatch * | vad, |
osg::State & | state, | ||
GLint | size, | ||
GLenum | type, | ||
GLsizei | stride, | ||
const GLvoid * | ptr, | ||
GLboolean | normalized ) |
|
inline |
References _colorArray, and setArray().
|
inline |
References _colorArray, and setArray().
|
inline |
References _currentEBO.
|
inline |
References _currentVBO.
|
inline |
References _fogCoordArray, and setArray().
void osg::VertexArrayState::setInterleavedArrays | ( | osg::State & | state, |
GLenum | format, | ||
GLsizei | stride, | ||
const GLvoid * | pointer ) |
|
inline |
References _normalArray, and setArray().
|
inline |
References _normalArray, and setArray().
|
inline |
References _requiresSetArrays.
Referenced by osg::Drawable::draw().
|
inline |
References _secondaryColorArray, and setArray().
|
inline |
References _texCoordArrays, osg::get(), and setArray().
|
inline |
References _texCoordArrays, osg::get(), and setArray().
|
inline |
References _vertexArray, and setArray().
|
inline |
References _vertexArray, and setArray().
|
inline |
References _vertexAttribArrays, osg::get(), and setArray().
|
inline |
References _isVertexBufferObjectSupported.
|
inline |
References _currentEBO, _ext, and GL_ELEMENT_ARRAY_BUFFER_ARB.
|
inline |
References _currentVBO, _ext, and GL_ARRAY_BUFFER_ARB.
ActiveDispatchers osg::VertexArrayState::_activeDispatchers |
Referenced by lazyDisablingOfVertexAttributes().
osg::ref_ptr<ArrayDispatch> osg::VertexArrayState::_colorArray |
Referenced by disableColorArray(), setColorArray(), and setColorArray().
GLBufferObject* osg::VertexArrayState::_currentEBO |
GLBufferObject* osg::VertexArrayState::_currentVBO |
osg::ref_ptr<osg::GLExtensions> osg::VertexArrayState::_ext |
Referenced by unbindElementBufferObject(), and unbindVertexBufferObject().
osg::ref_ptr<ArrayDispatch> osg::VertexArrayState::_fogCoordArray |
Referenced by disableFogCoordArray(), and setFogCoordArray().
bool osg::VertexArrayState::_isVertexBufferObjectSupported |
Referenced by isVertexBufferObjectSupported(), and setVertexBufferObjectSupported().
osg::ref_ptr<ArrayDispatch> osg::VertexArrayState::_normalArray |
Referenced by disableNormalArray(), setNormalArray(), and setNormalArray().
ActiveDispatchers osg::VertexArrayState::_previous_activeDispatchers |
Referenced by applyDisablingOfVertexAttributes(), and lazyDisablingOfVertexAttributes().
bool osg::VertexArrayState::_requiresSetArrays |
Referenced by getRequiresSetArrays(), and setRequiresSetArrays().
osg::ref_ptr<ArrayDispatch> osg::VertexArrayState::_secondaryColorArray |
Referenced by disableSecondaryColorArray(), and setSecondaryColorArray().
osg::State* osg::VertexArrayState::_state |
osg::ref_ptr<ObserverSet> osg::VertexArrayState::_stateObserverSet |
ArrayDispatchList osg::VertexArrayState::_texCoordArrays |
Referenced by disableTexCoordArray(), disableTexCoordArrayAboveAndIncluding(), setTexCoordArray(), and setTexCoordArray().
osg::ref_ptr<ArrayDispatch> osg::VertexArrayState::_vertexArray |
Referenced by disableVertexArray(), setVertexArray(), and setVertexArray().
GLuint osg::VertexArrayState::_vertexArrayObject |
Referenced by getVertexArrayObject().
ArrayDispatchList osg::VertexArrayState::_vertexAttribArrays |
Referenced by disableVertexAttribArray(), disableVertexAttribArrayAboveAndIncluding(), and setVertexAttribArray().
![]() | Generated at Sun Jul 27 2025 00:00:00 for the OpenSceneGraph by doxygen 1.14.0. |