|
Este tutorial tem por objetivo auxiliar aqueles que pretendem utilizar a engine OGRE 3D para desenvolver aplicações gráficas, no nosso caso jogos usando o Visual C++ 2008 (VC++), demonstrando como instalar e configurar o OGRE 3D para uso com este ambiente.Este tutorial foi executado em Windows XP SP3, qualquer outro Sistema Operacional poderá estar sujeito a falhas.
O que é OGRE?
OGRE 3D (Object-oriented Graphics Rendering Engine) é um motor gráfico 3D orientado a objetos e de código aberto com muitos recursos. A principal linguagem para se programar com OGRE é o C++, porém existem versões de testes para Python, Java e .Net.
Motor gráfico (ou motor de renderização, ou motor 3D), do inglês graphics engine, ou rendering engine, é um tipo de motor de jogo especializado em renderização de cenas 2D e/ou 3D. Comumente são construídos sobre uma biblioteca gráfica, como OpenGL e DirectX, porém também são construídos sem a intervenção dessas bibliotecas. Basicamente, todos os motores gráficos são considerados motores de jogos, porém, são referidos como bibliotecas voltadas para apenas renderização. Por esse motivo, seus criadores os denominam motores 3D ou motores de renderização, ao invés de motores de jogo.
Este motor gráfico possui um sistema de scripts, que permite declarar materiais, pós-processadores, sistemas de partículas e shaders. Deste modo, a compilação do código fonte não é necessária, bastando apensa alterar o script correspondente. Sendo altamente orientada a objetos e com a portabilidade em primeiro plano, a mudança entre sistemas de renderização (OpenGL/DirectX), sistemas operacionais (Windows/Linux/Mac OS) e gerenciadores de cenário ocorre de forma automatizada, graças a uma arquitetura de layers que permite que essas trocas se tornem transparentes.
Shaders são pequenos programas que podem compilados independentemente e executam diretamente na GPU. É uma tecnologia recente e que tem experimentado uma grande evolução destinada a proporcionar ao programador uma interação com a GPU até recentemente impossível. Os shaders são utilizados para realizar transformações e criar efeitos especiais, como por exemplo, iluminação, fogo ou nevoeiro. Para sua programação os shaders utilizam linguagens específicos de alto nível que permitam a independência do hardware como: HLSL (High Level Shader Language), Cg (C for Graphics) e GLSL (OpenGL Shading Language).
OGRE é muito utilizado para criação de jogos, simuladores, softwares educativos, arte interativa, visualização científica e até mesmo em comerciais.
Download e Instalação
Para aqueles que não têm os softwares necessários para prosseguir neste tutorial, segue a lista abaixo que deve ser instalado de preferência seguindo a ordem.
- DirectX Software Development Kit: Download aqui
- Visual C++ 2008 Express Edition: Download aqui, um guia para a instalação do Visual C++ pode ser encontrado aqui.
- OGRE 1.7.1 SDK for Visual C++ .Net 2008 (32 bits): Download aqui
- OGRE VC90 Express App Wizard 1.7.1_2 : Download aqui
No meu caso eu instalei a OGRE na pasta C:\OgreSDK. A instalação do DirectX é recomendada para evitar problemas com execução e distorções na execução dos programas futuros.
Criando uma variável de ambiente para a OGRE
1º Passo: Após ter instalado a OGRE, iremos criar uma variável de ambiente para facilitar a atualização de versões futuras da engine. Para isso clique com o botão direito do mouse em Meu Computador –> Propriedades. Na janela que se abrir clique na aba Avançado e depois em Variáveis de Ambiente. Na próxima, clique em Nova e entre com o nome da variável OGRE_HOME, e o valor da variável é o diretório da OGRE, ou seja, C:\OgreSDK\OgreSDK_vc9_v1-7-1 no meu caso (Fig. 1).
Figura 1. Etapas do sétimo passo, (a) Avançado à Variáveis de Ambiente. (b) criando a variável de ambiente
Configurando o VC++
2º Passo: Agora abra o VC++ (se você criou as variáveis com o Visual C++ aberto, feche-o e abra novamente). Dentro do Visual C++ acesse o menu Tools –> Options e expanda Projects and Solutions –> VC++ Directories.
3º Passo: Com a janela aberta, selecione Executable files na caixa Show directories for e adicione os seguintes caminhos. (Fig. 2)
- $(OGRE_HOME)\bin
- $(OGRE_HOME)\bin\debug
- $(OGRE_HOME)\bin\release
Figura 2. Executable files
4º Passo: Agora selecione Include files e adicione os seguintes caminhos para que o VC++ possa utilizar os cabeçalhos durante o build do seu programa. (Fig. 3)
- $(OGRE_HOME)\include
- $(OGRE_HOME)\include\OIS
- $(OGRE_HOME)\include\OGRE
- $(OGRE_HOME)\Samples\Common\include
- $(OGRE_HOME)\boost_1_42
Figura 3. Include files
5º Passo: Por fim é necessário configurar o diretório das bibliotecas, selecione então Library files e entre com os seguintes caminhos (Fig. 4)
- $(OGRE_HOME)\lib\debug
- $(OGRE_HOME)\lib\release
- $(OGRE_HOME)\boost_1_42\lib
Figura 4. Library files
Criando e configurando um novo projeto (Vazio)
Se você não quiser configurar um projeto do zero, você pode usar o Wizard instalado, para isso pule para o passo 14. Caso contrário continue seguindo.
6º Passo: Abra o VC++ e crie um novo projeto Win32 Console Application. Um assistente será aberto, clique no botão next e marque a opção Empty Project desmarcando a opção Precompiled Header. Clique em Finish. O nome que eu coloquei no projeto foi TutorialApplication.
7º Passo: Faça os downloads dos arquivos de exemplo clicando aqui e salve os arquivos na pasta do seu projeto.
8º Passo: Após fazer o download adicione os arquivos em seu projeto clicando com o botão direito do mouse no projeto e Add –> Existing Item (Fig. 5)
Figura 5. Adicionando arquivos existentes ao projeto
9º Passo: Clique com o botão direito do mouse no nome do projeto em Solution Explorer e selecione Properties e selecione All Configurations conforme Fig. 6
Figura 6. Propriedades do projeto, (a) seleção das propriedades do projeto e (b) seleção de todas as configurações
10º Passo: Execute as configurações no modo “All Configurations” conforme a tabela 1.
11º Passo: Execute as configurações no modo “Debug” conforme a tabela 2.
12º Passo: Execute as configurações no modo “Release” conforme a tabela 3.
13º Passo: Salve as modificações e compile seu projeto, se o código compilou sem nenhum problema, sendo assim, a instalação e o projeto foram realizados com sucesso. (Fig 7)
Figura 7. Programa teste em execução
Criando um projeto usando o Wizard
14º Passo: Abra o VC++ e crie um novo projeto OGRE Application Um assistente será aberto, clique no botão next e marque a opção Standard Application. Clique em Finish. O nome que eu coloquei no projeto foi TutorialApplication (Fig. 8)
Figura 8. Criação de um programa usando o Wizard do OGRE
15º Passo: Agora é só compilar o projeto para ver o mesmo resultado anterior. (Fig. 7)
Referências
MOTOR GRÁFICO Wiki.
OGRE 3D. Open source graphics engine.
OGRE Wiki (2010), Setting Up Na Application With Visual Studio
-
21/01/2011 07:34:47 | Bruno Crivelari Sanches

É uma boa sacada, mas tem que tomar cuidado caso no projeto em questão alguém tenha mudado o nome das configurações
.Não sei porque no Ogre eles insistem em deixar as dlls e lib em diretórios separados, pois eles já usam nomes diferentes nos arquivos debug e release.
-
03/03/2011 17:25:21 |200.166.149.xxx| Andrey Wallace

O link de 4shared que contém o exemplo está com o link inativo. E infelizmente para mim o Wizard não consegue achar o visual studio 2008.
-
03/03/2011 17:30:26 | Bruno Crivelari Sanches

Esse link aqui funcionou para mim: http://code.google.com/p/ogreappwizards/downloads/detail?name=Ogre_VC9 _Express_AppWizard_1.7.1_2.exe
Qual link deu erro ai?
-
04/03/2011 08:50:42 |187.17.0.xxx| Andrey Wallace

O do 4shared: http://www.4shared.com/file/d5Lo-qHj/Arquivos_de_Exemplo_OGRE.html que de acordo com o editor do tutorial contém arquivos de exemplo. Obrigado pela rápida atenção.
-
04/03/2011 09:32:02 | Kleber Andrade

Olá amigo, realmente o link estava errado, desculpe o transtorno, mas agora já corrigi e você pode baixá-lo por la mesmo!
Abraços,
-
04/03/2011 16:53:20 |189.71.251.xxx| Andrey Wallace

Valeu mesmo consegui fazer tudo de forma bem fácil. Só tive uma pequena dor de cabeça pois estava usando uma versão Professional do Visual Studio 2008 e na hora de instalar o Wizard o mesmo não achava o Visual C++. Mas valeu mesmo !!!
-
29/03/2011 00:53:40 | Jonathan Araujo - Atualizações

Recentemente montei um ambiente para o desenvolvimento Ogre, e algumas coisas mudaram.
1 - A partir do Ogre 1.7.X o diretório: $(OGRE_HOME)\Samples\Common\include não é estritamente necessário, lá tem arquivos como frameworks de exemplo do Ogre como o ExampleApplication
2 - Na versão 1.7.2 a biblioteca boost foi atualizada para versão 1.44, sendo assim mude tudo de 1_42 para 1_44
Espero que ajude.
Qualquer outro problema, poste um comentário.
-
22/04/2011 22:59:22 |201.13.58.xxx| Antonio Candido Morais - Agradecimento

Agradeço a vocês por este tutorial com ao Kleber e as dicas do Jonathan, e o CTHUGA escrito por ele, e um email a mim respondido com uma dica legal consegui configurar a Ogre no Linux (Ubuntu e Slackware) estou executando tanto no CodeBlock e no KDevelop e no Windows (XP detesto os atuais) estou executando no VC++ 2010 e codeblocks, e bom um compilador multiplataforma.
Valeu Gente agora tenho que rachar muito para entender a Ogre.
Abraços
-
24/04/2011 20:58:24 | Kleber Andrade

Por nada amigo,... gostamos muito quando sabemos que nossos artigos conseguem realmente ensinar alguém.
Agora é só estudar mais a fundo a OGRE e partir para o desenvolvimento de jogos legais para jogarmos!
Abraços,
-
04/09/2011 11:39:53 |189.82.167.xxx| Jairo Marquea - Muito bom

Ajudou-me bastante com relação ao path e o Ogre wizard. Obrigado.
-
25/02/2012 19:39:42 |189.127.166.xxx| Rafael Nunes - Erro ao compilar

Olá.
Instalei o OgreSDK-vc9.... no meu VC++ 2008
abri o AppWizard e tentei compilar, o log diz que existem 2 erros, mais eu acho que os dois erros são a consequência de um um variável de ambiente "OGRE_HOME" ,cujo eu mesmo já tratei de faze-la !variável = OGRE_HOME = "D:\Programas(R)\OgreSDK_vc9_v1-7-1"
no log de error ele diz:
Compiling...
TutorialAplication.cpp
c:\documents and settings\rafael nunes\meus documentos\visual studio 2008\projects\tutorialaplication\tutorialaplication\in clude\baseapplication.h(21) : fatal error C1083: Cannot open include file: 'OgreCamera.h': No such file or directory
BaseApplication.cpp
c:\documents and settings\rafael nunes\meus documentos\visual studio 2008\projects\tutorialaplication\tutorialaplication\in clude\baseapplication.h(21) : fatal error C1083: Cannot open include file: 'OgreCamera.h': No such file or directory
Generating Code...
Project : warning PRJ0018 : The following environment variables were not found:
$(OGRE_HOME)//
me ajudem a entender isso ! (:
-
28/02/2012 16:16:09 | Bruno Crivelari Sanches

Rafael, algumas respostas:
1 - Estava com o visual aberto quando criou a variável de ambiente? Se sim, experimentou sair do Visual e abrir de novo?2 - Apenas configurar a variável de ambiente não é o bastante, é preciso dizer ao compilador do visual onde estão os arquivos de include, isso é explicado no item "Configurando o VC++" deste artigo.
3 - Quais links?
-
29/02/2012 08:19:47 |189.127.166.xxx| Rafael Nunes

O.O' nem liga para os links, é que apareceu um novo comentário em uma seção errada, de um dos colaboradores rsrs..
Bom continuando, eu abri o VC++ abri um novo ogre app wizard, está çá, fechei e abri o solution desse Ogre no projeto, apareceu os Header file, Source File e Resource file, então botão direito e "Build" o mais incrível é que ele compilou sem erros ! Acredita ?!
-------------------------------------------//------------------------- ---------------------LOG:
Compiling...
BaseApplication.cpp
Ogre_appwizzard.cpp
Generating Code...
Compiling resources...
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation. All rights reserved.
Compiling manifest to resources...
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation. All rights reserved.
Linking...
LINK : bin\Debug\Ogre_appwizzard.exe not found or not built by the last incremental link; performing full link
Embedding manifest...
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation. All rights reserved.
Copying exe to samples bin directory ...
1 arquivo(s) copiado(s).
-------------------------------------------//---------------------- ------------------------
Bom outro detalhe é que eu não baixei o DirectX SDK que está lá encima nos links eu baixei um outro SDK do direct_x de 100MB !ele é de 2009. tem algum problema com relação a isso?
-
29/02/2012 09:26:54 | Bruno Crivelari Sanches

Que bom. Você só precisa do SDK se for compilar o Ogre.
T+











Parabens pelo otimo artigo...
Só uma dica
Pra nao precisar colocar /debug e /release como por exemplo em:
$(OGRE_HOME)\bin\debug
$(OGRE_HOME)\bin\release
Da para substituir por:
vs2008
$(OGRE_HOME)\bin\$(ConfigurationName)
e no vs2010
$(OGRE_HOME)\bin\$(Configuration)