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.