void GroundFog::findFogPassesByName (const Ogre::String& passName) { Ogre::MaterialManager *matManager = Ogre::MaterialManager::getSingletonPtr(); Ogre::MaterialManager::ResourceMapIterator matIt = matManager->getResourceIterator(); while (matIt.hasMoreElements()) { #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) Ogre::MaterialPtr mat = matIt.getNext(); #else Ogre::MaterialPtr mat = Ogre::static_pointer_cast<Ogre::Material>(matIt.getNext()); #endif for (Ogre::Technique* tech : mat->getTechniques()) { for (auto* pass : tech->getPasses()) { if (pass->getName() == passName) { mPasses.insert(pass); } } } } forceUpdate(); }