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

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

ure actuelle, ce qui est une façon assez commun pour générer une graine aléatoire.

 bool OgreEngineManager :: démarrage ( const std :: string pluginFileName, const std :: string configFileName, const std :: string logFileName) {//graines du srand de générateur de nombres aléatoires ((unsigned) time (NULL)); 

Ici nous créons un nouvel objet racine . Cela va être la première étape dans l'initialisation du moteur Ogre. Le pluginFileName est le nom du fichier texte qui contient les noms des plugins Ogre qui seront utilisés.

Le configFileName est le nom d'un fichier qui Ogre va utiliser pour enregistrer les détails à propos de la résolution de rendu et de l'écran. Le logFileName est le nom d'un fichier journal qui Ogre écrira à

 root.reset (nouvelle Root (pluginFileName, configFileName, logFileName));. 

Ce code provoque Ogre pour afficher une boîte de dialogue avec le options graphiques. . Si le joueur annule hors de la boîte de dialogue nous revenons fausse, ce qui entraînera l'application à quitter

 si return false (Configurer ()!); 

Le nombre par défaut de mipmaps sont spécifiés.

Vous pouvez trouver plus d'informations sur mipmaps ici

 TextureManager :: getSingleton () setDefaultNumMipmaps 

(5);..

Nous appelons les SetupInputDevices fonctionnent pour initialiser OIS (Système d'entrée Object-Oriented), qui est un bibliothèque externe qui est devenu le standard de facto pour accéder aux périphériques d'entrée à Ogre

 SetupInputDevices ();. 

Les ressources Ogre sont alors chargés.

Les échantillons Ogre chargent leurs ressources à partir d'un fichier texte, mais je préfère garder ces valeurs dans le code source (il est une chose de moins qui peut être modifiée par l'utilisateur final, et est donc une chose de moins à aller mal). Pour cette démonstration, nous ne serons pas en fait charger toutes les ressources, mais cela deviendra important plus tard

 SetupResources ();. 

Le OgreEngineManager doit recevoir les notifications de deux événements. Comme il étend la classe FrameListener, La fonction OgreEngineManagers frameStarted est appelée une fois par image.

Et en étendant la classe WindowEventListener nous sommes informés de la fermeture de la fenêtre avec la fonction windowClosed. Cependant, ces fonctions ne sont pas déclenchées automatiquement - nous devons d'abord enregistrer le OgreEngineManager avec les objets appropriés

 root-> addFrameListener (this);. WindowEventUtili

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