Categorias

Exibir | Ocultar

Arquivos

Exibir | Ocultar

Tags

Estatísticas

Patrocinadores

Ogre3D – Template de projeto

Olá a todos! Ontem conheci um blogueiro, Max Teslenko, ele possui em seu blog, muitas dicas semelhantes às que eu gosto de publicar. Uma delas é esta que irei expor aqui.

Para os que usam Ogre3D e acham chato sempre ter que definir os parâmetros de projeto, ou mesmo para aqueles que não sabem como fazê-lo, aqui vai uma dica bem legal: Max Tyslenko fez um template bem simples para Ogre3D.

O arquivo pode ser baixado aqui: OgreTemplate.rar.

Para reduzir o tamanho do arquivo, os arquivos de mídia foram removidos do projeto, para tornar o projeto funcional, faz-se necessário copiar essa pasta do diretorio do Ogre para OgreTemplate/OgreTemplate.

Essa informação deve estar no site oficial, contudo não consegui encontrar versoes funcionais. Por isso estou a escrever esse artigo e divulgar esse arquivo.

Para que esta solução funcione, a variabel de ambiende “OGRE_HOME” tem de estar corretamente configurada, caso tenha alguma dúvida sobre este assunto, tente aqui: http://tinyurl.com/ylxcfzz

Vou expilcar o processo utilizado para gerar o template acima:

Para começar, crie um novo projeto, clicamos no Solution Explorer, botão direito do mouse e escolha Propriedades:

Na imagem que aparecer:

Na aba à esquerda, clique em Linker/Input e coloque campo Additional Dependencies OgreMain_d.lib OIS_d.lib assim como o mostrado na figura abaixo.

Na aba à esquerda, clique em Linker, e no campo Additional Library Directories, escreva $(OGRE_HOME)\lib , o mesmo que o que a imagem abaixo mostra.

Na aba à esquerda, clique em C/C++ e no campo Additional Include Directories, digite “$(OGRE_HOME)\include”;..\include;”$(OGRE_HOME)\samples\include” , o mesmo conteudo mostrado na imagem abaixo:


O código de exemplo que posso dar é o abaixo, pode colocá-lo como o main.cpp do seu projeto.

#include "ExampleApplication.h"

// Declare a subclass of the ExampleFrameListener class
class MyListener : public ExampleFrameListener
{
public:
    MyListener(RenderWindow* win, Camera* cam) : ExampleFrameListener(win, cam)
    {
    }

    bool frameStarted(const FrameEvent& evt)
    {
        return ExampleFrameListener::frameStarted(evt);
    }

    bool frameEnded(const FrameEvent& evt)
    {
        return ExampleFrameListener::frameEnded(evt);
    }
};

// Declare a subclass of the ExampleApplication class
class SampleApp : public ExampleApplication
{
public:
   SampleApp()
   {
   }

protected:
   // Define what is in the scene
   void createScene(void)
   {
       // put your scene creation in here
   }

   // Create new frame listener
   void createFrameListener(void)
   {
       mFrameListener = new MyListener(mWindow, mCamera);
       mRoot->addFrameListener(mFrameListener);
   }
};

#ifdef __cplusplus
extern "C" {
#endif

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include "windows.h"
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT)
#else
int main(int argc, char **argv)
#endif
{
    // Instantiate our subclass
    SampleApp myApp;

    try {
        // ExampleApplication provides a go method, which starts the rendering.
        myApp.go();
    }
    catch (Ogre::Exception& e) {
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
        MessageBoxA(NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
#else
        std::cerr << "Exception:\n";
        std::cerr << e.getFullDescription().c_str() << "\n";
#endif
        return 1;
    }

return 0;
}

#ifdef __cplusplus
}
#endif

O último passo é copiar as bibliotecas necessárias e os arquivos de mídia na pasta do projeto. No nosso caso, tudo isso deve ser copiado para uma subpasta do projeto com o mesmo nome.

Qualquér dúvida, basta perguntar aqui, que terei prazer em responder.

Para reduzir o tamanho do arquivo, pastas de mídia são removidos do projeto. Чтобы сделать проект работоспособным, нужно скопировать эту папку из кореневого каталога Ogre в папку проекта Ogre Template/Ogre Template. Para tornar o projeto viável, precisa copiar essa pasta a partir do catálogo Koreneva Ogre na pasta do projeto Ogre Template / Ogre Template.Знаю, что эту информацию можно достать на официальном сайте, но я перерыл пару версий, пока нашёл работоспособную для 2008 версии студии (express). Eu sei que esta informação pode entrar no site oficial, mas eu vasculhou um casal de versões, até 2008 para encontrar uma versão funcional do estúdio (expresso).
Для начала, создаем новый проект, в Solution Explorer кликаем правой кнопкой и выбираем пункт Properties : Para começar, crie um novo projeto, clicamos no Solution Explorer, botão direito do mouse e escolha Propriedades:

VN:F [1.9.0_1079]
Rating: 0.0/10 (0 votes cast)
Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Live
  • MyShare
  • MySpace
  • Yahoo! Buzz
  • YahooMyWeb
  • Twitter

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Get Adobe Flash playerPlugin by wpburn.com wordpress themes