diff --git a/components/sceneutil/util.cpp b/components/sceneutil/util.cpp index 6ff366f76e..b71de4c2a3 100644 --- a/components/sceneutil/util.cpp +++ b/components/sceneutil/util.cpp @@ -1,6 +1,7 @@ #include "util.hpp" #include +#include #include #include @@ -17,6 +18,26 @@ namespace SceneUtil { + namespace + { + std::array generateGlowTextureNames() + { + std::array result; + for (std::size_t i = 0; i < result.size(); ++i) + { + std::stringstream stream; + stream << "textures/magicitem/caust"; + stream << std::setw(2); + stream << std::setfill('0'); + stream << i; + stream << ".dds"; + result[i] = std::move(stream).str(); + } + return result; + } + + const std::array glowTextureNames = generateGlowTextureNames(); + } class FindLowestUnusedTexUnitVisitor : public osg::NodeVisitor { @@ -197,16 +218,9 @@ namespace SceneUtil const osg::Vec4f& glowColor, float glowDuration) { std::vector> textures; - for (int i = 0; i < 32; ++i) + for (const std::string& name : glowTextureNames) { - std::stringstream stream; - stream << "textures/magicitem/caust"; - stream << std::setw(2); - stream << std::setfill('0'); - stream << i; - stream << ".dds"; - - osg::ref_ptr image = resourceSystem->getImageManager()->getImage(stream.str()); + osg::ref_ptr image = resourceSystem->getImageManager()->getImage(name); osg::ref_ptr tex(new osg::Texture2D(image)); tex->setName("envMap"); tex->setWrap(osg::Texture::WRAP_S, osg::Texture2D::REPEAT);