bool Game::setup(){ mOgreRoot = new Ogre::Root(mOgrePluginsCfg); setupResources(); chooseSceneManager(); if(!configure()) return false; // Create any resource listeners (for loading screens) createResourceListener(); // Load resources loadResources(); // Create the frame listener createFrameListener(); bulletSetup(); if(mOnlineMode) networkSetup(); else offlineSetup(); if(mInput->hasOculusRift()) mGameWindow->setViewMode(OCULUS); else mGameWindow->setViewMode(SIMPLE); return true; }
//------------------------------------------------------------------------------------- void Game::createScene(void) { log(TAG, "Creating scene..."); // Setup Bullet bulletSetup(); // CEGUI setup mGUIRenderer = &CEGUI::OgreRenderer::bootstrapSystem(); CEGUI::Imageset::setDefaultResourceGroup("Imagesets"); CEGUI::Font::setDefaultResourceGroup("Fonts"); CEGUI::Scheme::setDefaultResourceGroup("Schemes"); CEGUI::WidgetLookManager::setDefaultResourceGroup("LookNFeel"); CEGUI::WindowManager::setDefaultResourceGroup("Layouts"); // Mouse CEGUI::SchemeManager::getSingleton().create("TaharezLook.scheme"); CEGUI::System::getSingleton().setDefaultFont("DejaVuSans-10"); CEGUI::System::getSingleton().setDefaultMouseCursor("TaharezLook", "MouseArrow"); CEGUI::Window* mRootWindow = CEGUI::WindowManager::getSingleton().createWindow("DefaultWindow", "_MasterRoot"); CEGUI::System::getSingleton().setGUISheet(mRootWindow); CEGUI::MouseCursor::getSingleton().setImage( CEGUI::System::getSingleton().getDefaultMouseCursor()); // Chunkmanager mChunkManager = new ChunkManager(this); // Ambient light mSceneMgr->setAmbientLight(Ogre::ColourValue(0.0f, 0.0f, 0.0f)); // Sky mSceneMgr->setSkyDome(true, "Examples/CloudySky", 5, 8, 300); //mSceneMgr->setSkyBox(true, "Examples/EveningSkyBox",100, false); // Fog // mSceneMgr->setFog(Ogre::FOG_LINEAR, Ogre::ColourValue(0.8, 0.8, 1), 0.0, 10, 200); // Sun Ogre::Light* directionalLight = mSceneMgr->createLight("directionalLight"); directionalLight->setType(Ogre::Light::LT_DIRECTIONAL); //directionalLight->setDiffuseColour(Ogre::ColourValue(.8, .8, .8)); //directionalLight->setSpecularColour(Ogre::ColourValue(.8, .8, .8)); directionalLight->setDirection(Ogre::Vector3(0, -1, -1)); // Shadow // mSceneMgr->setShadowTechnique(Ogre::SHADOWTYPE_STENCIL_MODULATIVE); mChunkManager->createChunk(0,0,0); // mChunkManager->createChunk(SIZES::CHUNK_SIZE,0,0); // mChunkManager->createChunk(0,0,SIZES::CHUNK_SIZE); mPlayer = new Player(mCamera, this); mPlayer->init(Ogre::Vector3(SIZES::CHUNK_SIZE/2,110,SIZES::CHUNK_SIZE/2)); log(TAG, "Done creating scene..."); }