diff --git a/components/sceneutil/util.cpp b/components/sceneutil/util.cpp index b71de4c2a3..ce48702a74 100644 --- a/components/sceneutil/util.cpp +++ b/components/sceneutil/util.cpp @@ -37,27 +37,27 @@ namespace SceneUtil } const std::array glowTextureNames = generateGlowTextureNames(); + + struct FindLowestUnusedTexUnitVisitor : public osg::NodeVisitor + { + FindLowestUnusedTexUnitVisitor() + : osg::NodeVisitor(TRAVERSE_ALL_CHILDREN) + { + } + + void apply(osg::Node& node) override + { + if (osg::StateSet* stateset = node.getStateSet()) + mLowestUnusedTexUnit + = std::max(mLowestUnusedTexUnit, int(stateset->getTextureAttributeList().size())); + + traverse(node); + } + + int mLowestUnusedTexUnit = 0; + }; } - class FindLowestUnusedTexUnitVisitor : public osg::NodeVisitor - { - public: - FindLowestUnusedTexUnitVisitor() - : osg::NodeVisitor(TRAVERSE_ALL_CHILDREN) - , mLowestUnusedTexUnit(0) - { - } - - void apply(osg::Node& node) override - { - if (osg::StateSet* stateset = node.getStateSet()) - mLowestUnusedTexUnit = std::max(mLowestUnusedTexUnit, int(stateset->getTextureAttributeList().size())); - - traverse(node); - } - int mLowestUnusedTexUnit; - }; - GlowUpdater::GlowUpdater(int texUnit, const osg::Vec4f& color, const std::vector>& textures, osg::Node* node, float duration, Resource::ResourceSystem* resourcesystem)