|
|
@ -8,6 +8,7 @@
|
|
|
|
#include <osg/PositionAttitudeTransform>
|
|
|
|
#include <osg/PositionAttitudeTransform>
|
|
|
|
#include <osg/TexEnvCombine>
|
|
|
|
#include <osg/TexEnvCombine>
|
|
|
|
#include <osg/TexMat>
|
|
|
|
#include <osg/TexMat>
|
|
|
|
|
|
|
|
#include <osg/Version>
|
|
|
|
|
|
|
|
|
|
|
|
#include <osgParticle/ParticleSystem>
|
|
|
|
#include <osgParticle/ParticleSystem>
|
|
|
|
#include <osgParticle/ParticleSystemUpdater>
|
|
|
|
#include <osgParticle/ParticleSystemUpdater>
|
|
|
@ -721,12 +722,16 @@ public:
|
|
|
|
if (stateset->getAttribute(osg::StateAttribute::MATERIAL))
|
|
|
|
if (stateset->getAttribute(osg::StateAttribute::MATERIAL))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
SceneUtil::CompositeStateSetUpdater* composite = NULL;
|
|
|
|
SceneUtil::CompositeStateSetUpdater* composite = NULL;
|
|
|
|
osg::NodeCallback* callback = dynamic_cast<osg::NodeCallback*>(node.getUpdateCallback());
|
|
|
|
#if OSG_MIN_VERSION_REQUIRED(3,3,3)
|
|
|
|
|
|
|
|
osg::Callback* callback = node.getUpdateCallback();
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
osg::NodeCallback* callback = node.getUpdateCallback();
|
|
|
|
|
|
|
|
#endif
|
|
|
|
while (callback)
|
|
|
|
while (callback)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if ((composite = dynamic_cast<SceneUtil::CompositeStateSetUpdater*>(callback)))
|
|
|
|
if ((composite = dynamic_cast<SceneUtil::CompositeStateSetUpdater*>(callback)))
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
callback = dynamic_cast<osg::NodeCallback*>(callback->getNestedCallback());
|
|
|
|
callback = callback->getNestedCallback();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (composite)
|
|
|
|
if (composite)
|
|
|
|