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); \
#define DISPATCH_OR_ACTIVATE(array, dispatcher)
Definition AttributeDispatchers:49
The core osg library provides the basic scene graph classes such as Nodes, State and Drawables,...
Definition AlphaFunc:19
Definition AttributeDispatchers:28
virtual void operator()(unsigned int)
Definition AttributeDispatchers:30
virtual void assign(const GLvoid *)
Definition AttributeDispatchers:29
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
Base class for providing reference counted objects.
Definition Referenced:44
Encapsulates the current applied OpenGL modes, attributes and vertex arrays settings,...
Definition State:80
#define OSG_EXPORT
Definition Export:39