return true;}La función de desconexión se limpia todos los recursos de Ogre. Empezamos quitando el objeto OgreEngineManager de la lista de FrameListeners y WindowEventListeners. Esto es un poco redundante, porque la destrucción del objeto raíz va a hacer esto de todos modos, pero no hace daño a la través
anulará OgreEngineManager :: apagado () {root-> removeFrameListener (esto).; WindowEventUtilities :: removeWindowEventListener (ventana, este);
El Ogro Root se elimina entonces
root.reset ();.Y el resto de variables se establecen de nuevo a NULL
genericCamera = NULL; ventana = NULL;}El bucle de render es un bucle continuo que calcula el siguiente fotograma y luego lo muestra en la pantalla. El bucle de render se inicia con la función StartRenderLoop
vacío OgreEngineManager :: StartRenderLoop () {if (root.get ()) Raíz> startRendering ();}.La función SetupInputDevices inicializa OIS.
Este código se toma de una página Wiki en OIS, que tiene un desglose detallado del proceso de inicialización
void OgreEngineManager :: SetupInputDevices () {OIS :: paramlist pl.; size_t windowHnd = 0; std :: ostringstream windowHndStr; ventana-> GetCustomAttribute ("ventana", y 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));}El ShutdownInput limpia OIS. .
Una vez más, consulte la página Wiki para más información sobre este código
anulará OgreEngineManager :: ShutdownInput () {if (mInputManager) {if (mMouse) mInputManager-> destroyInputObject (mMouse); si (mKeyboard) mInputManager-> destroyInputObject (mKeyboard); OIS :: InputManager :: destroyInputSystem (mInputManager); mInputManager = NULL; }}La función SetupResources es donde se cargan los archivos de recursos de Ogre.
Estos archivos de recursos se definen por la función AddNewResourceLocation, que se utilizará en tutoriales posteriores
anulará OgreEngineManager :: SetupResources () {for (ResourceLocationDefinitionVector :: const_iterator iter = resourceLocationDefinitionVector.begin ();.! Iter = resourceLocationDefinitionVector .end (); ++ iter) {ResourceGroupManager :: getSingleton () addResourceLocation ((* iter.) .locatiHacer un juego en 3D con Ogre - Carga de un Scene
- El uso de Javascript Cadena Expressions
- Rutinas y privilegios en Mysql
- Función de PHP Basics
- Marino Outsourcing
- Conocer la resolución de la del usuario Screen
- Amigos en C ++ Classes
- Creación de un juego de plataformas de Flash con Flixel y Flex - Sonido y Music
- Código Explicación Para Horizontal Comercial Página Web Menus
- ¿Cómo obtener la dirección MAC de nuestra máquina utilizando .net VB?
- Introducción a C ++ estándar Soporte de idiomas Library