14#ifndef OSG_ATTRIBUTEDISPATCHERS
15#define OSG_ATTRIBUTEDISPATCHERS 1
25class AttributeDispatchMap;
29 virtual void assign(
const GLvoid*) {}
49 #define DISPATCH_OR_ACTIVATE(array, dispatcher) \
51 unsigned int binding = array->getBinding(); \
52 if (binding==osg::Array::BIND_OVERALL) \
54 AttributeDispatch* at = dispatcher; \
57 else if (binding==osg::Array:: BIND_PER_PRIMITIVE_SET) \
59 AttributeDispatch* at = dispatcher; \
60 if (at) _activeDispatchList.push_back(at); \
79 for(AttributeDispatchList::iterator itr = _activeDispatchList.begin();
80 itr != _activeDispatchList.end();
87 bool active()
const {
return !_activeDispatchList.empty(); }
#define DISPATCH_OR_ACTIVATE(array, dispatcher)
Definition AttributeDispatchers:49
Definition AttributeDispatchers:35
AttributeDispatchMap * _secondaryColorDispatchers
Definition AttributeDispatchers:101
AttributeDispatch * colorDispatcher(Array *array)
void activateVertexAttribArray(unsigned int unit, osg::Array *array)
Definition AttributeDispatchers:69
AttributeDispatch * fogCoordDispatcher(Array *array)
AttributeDispatchList _activeDispatchList
Definition AttributeDispatchers:109
State * _state
Definition AttributeDispatchers:97
void dispatch(unsigned int index)
Definition AttributeDispatchers:77
void assignVertexAttribDispatchers(unsigned int unit)
void activateSecondaryColorArray(osg::Array *array)
Definition AttributeDispatchers:67
bool _useVertexAttribAlias
Definition AttributeDispatchers:111
AttributeDispatch * secondaryColorDispatcher(Array *array)
void activateNormalArray(osg::Array *array)
Definition AttributeDispatchers:66
void setUseVertexAttribAlias(bool flag)
Definition AttributeDispatchers:45
bool _initialized
Definition AttributeDispatchers:96
std::vector< AttributeDispatch * > AttributeDispatchList
Definition AttributeDispatchers:107
AttributeDispatchMap * _fogCoordDispatchers
Definition AttributeDispatchers:102
std::vector< AttributeDispatchMap * > AttributeDispatchMapList
Definition AttributeDispatchers:104
AttributeDispatch * normalDispatcher(Array *array)
AttributeDispatchMapList _vertexAttribDispatchers
Definition AttributeDispatchers:105
void assignTexCoordDispatchers(unsigned int unit)
AttributeDispatch * vertexAttribDispatcher(unsigned int unit, Array *array)
void activateFogCoordArray(osg::Array *array)
Definition AttributeDispatchers:68
void activateColorArray(osg::Array *array)
Definition AttributeDispatchers:65
bool getUseVertexAttribAlias() const
Definition AttributeDispatchers:46
void setState(osg::State *state)
AttributeDispatchMap * _colorDispatchers
Definition AttributeDispatchers:100
bool active() const
Definition AttributeDispatchers:87
AttributeDispatchMap * _normalDispatchers
Definition AttributeDispatchers:99
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
#define OSG_EXPORT
Definition osg/Export:39
Definition AttributeDispatchers:28
virtual void operator()(unsigned int)
Definition AttributeDispatchers:30
virtual void assign(const GLvoid *)
Definition AttributeDispatchers:29