Helper class for managing the dispatch to OpenGL of various attribute arrays such as stored in osg::Geometry.
More...
Public Member Functions |
| | ArrayDispatchers () |
| | ~ArrayDispatchers () |
| void | setState (osg::State *state) |
| AttributeDispatch * | vertexDispatcher (Array *array, IndexArray *indices) |
| AttributeDispatch * | normalDispatcher (Array *array, IndexArray *indices) |
| AttributeDispatch * | colorDispatcher (Array *array, IndexArray *indices) |
| AttributeDispatch * | secondaryColorDispatcher (Array *array, IndexArray *indices) |
| AttributeDispatch * | fogCoordDispatcher (Array *array, IndexArray *indices) |
| AttributeDispatch * | texCoordDispatcher (unsigned int unit, Array *array, IndexArray *indices) |
| AttributeDispatch * | vertexAttribDispatcher (unsigned int unit, Array *array, IndexArray *indices) |
| void | reset () |
| void | setUseGLBeginEndAdapter (bool flag) |
| bool | getUseGLBeginEndAdapter () const |
| void | setUseVertexAttribAlias (bool flag) |
| bool | getUseVertexAttribAlias () const |
| void | activate (unsigned int binding, AttributeDispatch *at) |
| void | activateVertexArray (unsigned int binding, osg::Array *array, osg::IndexArray *indices) |
| void | activateColorArray (unsigned int binding, osg::Array *array, osg::IndexArray *indices) |
| void | activateNormalArray (unsigned int binding, osg::Array *array, osg::IndexArray *indices) |
| void | activateSecondaryColorArray (unsigned int binding, osg::Array *array, osg::IndexArray *indices) |
| void | activateFogCoordArray (unsigned int binding, osg::Array *array, osg::IndexArray *indices) |
| void | activateTexCoordArray (unsigned int binding, unsigned int unit, osg::Array *array, osg::IndexArray *indices) |
| void | activateVertexAttribArray (unsigned int binding, unsigned int unit, osg::Array *array, osg::IndexArray *indices) |
| void | dispatch (unsigned int binding, unsigned int index) |
| bool | active (unsigned int binding) const |
| void | Begin (GLenum mode) |
| void | End () |
Protected Types |
typedef std::vector
< AttributeDispatchMap * > | AttributeDispatchMapList |
typedef std::vector
< AttributeDispatch * > | AttributeDispatchList |
typedef std::vector
< AttributeDispatchList > | ActiveDispatchList |
Protected Member Functions |
| void | init () |
| void | assignTexCoordDispatchers (unsigned int unit) |
| void | assignVertexAttribDispatchers (unsigned int unit) |
Protected Attributes |
| bool | _initialized |
| State * | _state |
| GLBeginEndAdapter * | _glBeginEndAdapter |
| AttributeDispatchMap * | _vertexDispatchers |
| AttributeDispatchMap * | _normalDispatchers |
| AttributeDispatchMap * | _colorDispatchers |
| AttributeDispatchMap * | _secondaryColorDispatchers |
| AttributeDispatchMap * | _fogCoordDispatchers |
| AttributeDispatchMapList | _texCoordDispatchers |
| AttributeDispatchMapList | _vertexAttribDispatchers |
| ActiveDispatchList | _activeDispatchList |
| bool | _useVertexAttribAlias |
| bool | _useGLBeginEndAdapter |
Helper class for managing the dispatch to OpenGL of various attribute arrays such as stored in osg::Geometry.