Пример #1
0
 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();
 }