Hi Aurelien,
I have now modified osg::State::apply() and osg::State::apply(const
StateSet*) to allow the _currentShaderCompositionUniformList to be
checked and applied even when shader composition isn't active. This
will enable custom StateAttribute to call
state.applyShaderCompositionUniform() i.e.
MyMatierial::apply(osg::State& state)
{
if (_frontAndBack)
{
state.applyShaderCompositionUniform(_ambiientFrontAndBack.get());
state.applyShaderCompositionUniform(_diffuseFrontAndBack.get());
state.applyShaderCompositionUniform(_emissionFrontAndBack.get());
state.applyShaderCompositionUniform(_shininessFrontAndBack.get());
}
else
{
state.applyShaderCompositionUniform(_ambiientFront.get());
state.applyShaderCompositionUniform(_ambiientBack.get());
state.applyShaderCompositionUniform(_diffuseFront.get());
state.applyShaderCompositionUniform(_diffuseBack.get());
state.applyShaderCompositionUniform(_emissionFront.get());
state.applyShaderCompositionUniform(_emissionBack.get());
state.applyShaderCompositionUniform(_shininessFront.get());
state.applyShaderCompositionUniform(_shininessBack.get());
}
}
Or what ever you want to go for.
Robert.
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org