*   >> Lecture Éducation Articles >> science >> la programmation

Faire un jeu en 3D Avec Ogre - Ouverture d'un Window

ties :: addWindowEventListener (fenêtre, this);.

Enfin, nous retournons true pour indiquer que Ogre a été initialisé avec succès

 return true;} 

La fonction d'arrêt nettoie toutes les ressources Ogre. Nous commençons par enlever l'objet OgreEngineManager de la liste des FrameListeners et WindowEventListeners. Ceci est un peu redondant, car détruire l'objet racine le fera de toute façon, mais il ne fait pas mal au travers

 annuler OgreEngineManager :: shutdown () {root-> removeFrameListener (this).

; WindowEventUtilities :: removeWindowEventListener (fenêtre, this);

L'Ogre Racine est ensuite supprimé

 root.reset ();. 

Et les variables restantes sont remises à NULL

 genericCamera = NULL; window = NULL;} 

La boucle de rendu est une boucle continue qui calcule l'image suivante et puis l'affiche sur l'écran. La boucle de rendu est commencé avec la fonction StartRenderLoop

 vide OgreEngineManager :: StartRenderLoop () {if (root.get ()) root-> startRendering ();}. 

La fonction SetupInputDevices initialise OIS.

Ce code est pris d'une page Wiki sur OIS, qui a une ventilation détaillée du processus d'initialisation

 vides OgreEngineManager :: SetupInputDevices () {OIS :: ParamList pl.; size_t windowHnd = 0; std :: ostringstream windowHndStr; window-> GetCustomAttribute ("fenêtre", et windowHnd;); windowHndStr 0) mKeyboard = static_cast (mInputManager-> createInputObject (OIS :: OISKeyboard, false)); si (mInputManager-> getNumberOfDevices (OIS :: OISMouse)> 0) = mmouse static_cast (mInputManager-> createInputObject (OIS :: OISMouse, false));} 

Le ShutdownInput nettoie OIS. .

Encore une fois, reportez-vous à la page Wiki pour plus d'informations sur ce code

 annuler OgreEngineManager :: ShutdownInput () {if (mInputManager) {if (mmouse) mInputManager-> destroyInputObject (mmouse); if (mKeyboard) mInputManager-> destroyInputObject (mKeyboard); OIS :: :: InputManager destroyInputSystem (mInputManager); mInputManager = NULL; }} 

La fonction SetupResources est là tous les fichiers de ressources Ogre sont chargés.

Ces fichiers de ressources sont définis par la fonction de AddNewResourceLocation, qui sera utilisé dans les didacticiels plus tard

 annuler OgreEngineManager :: SetupResources () {for (ResourceLocationDefinitionVector :: const_iterator iter = resourceLocationDefinitionVector.begin ();.! Iter = resourceLocationDefinitionVector .end (); ++ iter) {ResourceGroupMa

Page   <<  [1] [2] [3] [4] [5] [6] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.