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

Fazendo um jogo 3D com Ogre - Abrindo uma janela

ame corda, const logFilename std :: string) {//semente do gerador de números aleatórios srand ((não assinado) tempo (NULL));

Aqui criamos um novo objeto de raiz . Este vai ser o primeiro passo para inicializar o motor de Ogre. O pluginFileName é o nome do arquivo de texto que contém os nomes dos plugins Ogre que serão utilizados. O configfilename é o nome de um arquivo que Ogre irá usar para salvar os detalhes sobre a resolução processador e tela. O logfilename é o nome de um arquivo de log que Ogre vai escrever para

 root.

reset (novo Root (pluginFileName, configFilename, logFilename));.

Esse código faz com que Ogre para exibir uma caixa de diálogo com o opções de gráficos. . Se o jogador cancela fora da caixa de diálogo que retornar falsa, o que fará com que a aplicação a sair

 se return false (Configure ()!); 

O número padrão de mipmaps são especificados. Você pode encontrar mais informações sobre mipmaps aqui

 TextureManager :: getSingleton () setDefaultNumMipmaps 

(5);..

Nós chamamos os SetupInputDevices funcionar para inicializar OIS (Sistema de Input Orientada a Objetos), que é um biblioteca externa que se tornou o padrão de facto para aceder aos dispositivos de entrada em Ogre

 SetupInputDevices ();. 

Os recursos Ogre são então carregados. As amostras Ogre carregar seus recursos a partir de um arquivo de texto, mas eu prefiro manter esses valores no código-fonte (ele é menos uma coisa que pode ser modificado pelo usuário final, e por isso é uma coisa a menos para dar errado).

Por esta demo que realmente não vai carregar qualquer recurso, mas isso vai se tornar importante mais tarde

 SetupResources ();. 

O OgreEngineManager precisa receber notificações de dois eventos. Desde que estende a classe FrameListener, A função OgreEngineManagers frameStarted é chamado uma vez por quadro. E estendendo a classe WindowEventListener formos notificados do encerramento da janela com a função windowClosed.

No entanto, essas funções não são acionados automaticamente - primeiro precisamos registrar o OgreEngineManager com os objetos apropriados

 raiz-> addFrameListener (this);. WindowEventUtilities :: addWindowEventListener (janela, this);. 

Finalmente, return true para indicar que Ogre foi inicializado com sucesso

 return true;} 

A função de desligamento limpa todos os recursos Ogre. Começa-se por remoção do objecto OgreEngineManager a partir da lista de FrameListeners e

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