*   >> Leitura Educação Artigos >> science >> programação

Fazendo um jogo 3D com Ogre - Abrindo uma janela

WindowEventListeners. Isto é um pouco redundante, porque destruir o objeto raiz vai fazer isso de qualquer maneira, mas não faz mal ao meio

 anular OgreEngineManager :: Shutdown () {raiz-> removeFrameListener (this).; WindowEventUtilities :: removeWindowEventListener (janela, this); 

O Ogre Root é excluído

 root.reset ();. 

E as restantes variáveis ​​são definidas novamente para NULL

 genericCamera = NULL; window = NULL;} 

O loop de processamento é um ciclo contínuo que calcula o próximo quadro e, em seguida, exibe na tela.

O loop de processamento é iniciado com a função StartRenderLoop

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

A função OIS SetupInputDevices inicializa. Este código é feita a partir de uma página Wiki sobre OIS, que tem uma análise detalhada do processo de inicialização

 nulos OgreEngineManager :: SetupInputDevices () {OIS :: ParamList pl.

; size_t windowHnd = 0; std :: ostringstream windowHndStr; Janela-> GetCustomAttribute ("Janela", e windowHnd;); windowHndStr 0) mKeyboard = static_cast (mInputManager-> createInputObject (OIS :: OISKeyboard, false)); if (mInputManager-> getNumberOfDevices (OIS :: OISMouse)> 0) mmouse = static_cast (mInputManager-> createInputObject (OIS :: OISMouse, false));}

O ShutdownInput limpa OIS. .

Mais uma vez, consulte a página de Wiki para mais informações sobre este código

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

A função SetupResources é o lugar onde todos os arquivos de recursos Ogre são carregados.

Esses arquivos de recursos são definidos pela função AddNewResourceLocation, que será usado em tutoriais posteriores

 anular OgreEngineManager :: SetupResources () {for (ResourceLocationDefinitionVector :: const_iterator iter = resourceLocationDefinitionVector.begin ();.! Iter = resourceLocationDefinitionVector .end (); iter ++) {ResourceGroupManager :: getSingleton () addResourceLocation ((* iter.) .location, (* iter) .type, (* iter) .section); } ResourceGroupManager :: getSingleton () initialiseAllResourceGroups ();.

}

A função de configuração exibe a caixa de diálogo inicial, onde as opções de vídeo são especificados. Se o usuário cancelou fora

Page   <<  [1] [2] [3] [4] [5] [6] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.