root.reset (uusi Root (pluginFileName, configFileName, lokitiedoston_nimi));Tämä koodi saa Ogre näyttämään valintaikkuna näytönohjaimista. Jos pelaaja peruuttaa pois valintaikkunan palaamme vääriä, mikä aiheuttaa sovelluksen lopettaa.
jos (! Configure ()) return false;Oletuksena määrä mipmapien on määritelty. Löydät lisää tietoa mipmapien täällä.
TextureManager :: getSingleton (). SetDefaultNumMipmaps(5);
Vaadimme SetupInputDevices toimivat alustus OIS (Object-Oriented Input System), joka on ulkoinen kirjasto, joka on tullut de facto standardi saatavuuden syöttölaitteita Ogre.
SetupInputDevices ();Ogre resurssit ladataan sitten. Ogre Näytteet lataavat resursseja tekstitiedosto, mutta olen mieluummin säilyttää näitä arvoja lähdekoodi (se on yksi vähemmän asia, joka voidaan muuttaa loppukäyttäjälle, ja niin on yksi vähemmän asia mennä pieleen).
Tämän demo emme oikeastaan ladata mitään resursseja, mutta tämä tulee tärkeä myöhemmin.
SetupResources ();OgreEngineManager tarvitsee vastaanottaa ilmoituksia kaksi tapahtumaa. Koska se ulottuu FrameListener luokka, OgreEngineManagers frameStarted toimintoa kutsutaan kerran kehystä kohti. Ja laajentamalla WindowEventListener luokan meille ilmoitetaan ikkunan sulkeminen kanssa windowClosed toiminto. Nämä toiminnot eivät käynnistyvät automaattisesti - meidän on ensin rekisteröityä OgreEngineManager asianmukaiset esineitä.
root-> addFrameListener (tämä); WindowEventUtilities :: addWindowEventListener (ikkuna, tämä),Lopuksi palaamme totta osoittamaan, että Ogre on onnistuneesti alustettu.
return true;}shutdown toiminto puhdistaa kaikki Ogre resursseja. Aloitamme poistamalla OgreEngineManager kohde luettelosta FrameListeners ja WindowEventListeners. Tämä on hieman tarpeeton, koska tuhoaa juuri objekti tehdä niin, mutta se ei satuta kautta.
mitätöidä OgreEngineManager :: sammutus () {root-> removeFrameListener (tämä); WindowEventUtilities :: removeWindowEventListener (ikkuna, tämä),Ogre viitteenä sitten poistetaan.
root.reset ();Ja loput muuttujat asetetaan takaisin NULL
genericCamera = NULL; ikkuna = null;}tee silmukka on jatkuva silmukka, joka laskee seura