ss.setTextureMode(unit,mode,value);
ss.setTextureAttributeAndModes( unit, tex.get() );
osg/StateSet.cpp
void StateSet::setTextureMode(unsigned int unit,StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
{
if (getTextureGLModeSet().isTextureMode(mode))
{
setMode(getOrCreateTextureModeList(unit),mode,value);
}
else
{
setMode(mode,value);
}
}
void StateSet::setTextureAttributeAndModes(unsigned int unit,StateAttribute *attribute, StateAttribute::GLModeValue value)
{
if (attribute)
{
if (attribute->isTextureAttribute())
{
if (value&StateAttribute::INHERIT)
{
removeTextureAttribute(unit,attribute->getType());
}
else
{
setAttribute(getOrCreateTextureAttributeList(unit),attribute,value);
setAssociatedTextureModes(unit,attribute,value);
}
}
else
{
setAttributeAndModes(attribute,value);
}
}
}