void Homepage::SwitchDisplayMode() { mDisplayMode++; if (mDisplayMode > 2) { mDisplayMode = 0; } if (mDisplayMode == 0) { MagicCore::RenderSystem::Get()->GetMainCamera()->setPolygonMode(Ogre::PolygonMode::PM_SOLID); } else if (mDisplayMode == 1) { MagicCore::RenderSystem::Get()->GetMainCamera()->setPolygonMode(Ogre::PolygonMode::PM_WIREFRAME); } else if (mDisplayMode == 2) { MagicCore::RenderSystem::Get()->GetMainCamera()->setPolygonMode(Ogre::PolygonMode::PM_POINTS); } Ogre::Material* material = dynamic_cast<Ogre::Material*>(Ogre::MaterialManager::getSingleton().getByName("CookTorrance").getPointer()); if (material) { if (mDisplayMode == 0) { material->setCullingMode(Ogre::CullingMode::CULL_NONE); } else { material->setCullingMode(Ogre::CullingMode::CULL_CLOCKWISE); } } UpdateModelRendering(); }