Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouÁgatha De Almeida Alterado mais de 9 anos atrás
1
OGRE 3D Open Source Graphics Engine Seminário Introdução à Multimídia
2
Equipe Fábio Rocha - frp Paulo Aguila - psrda Thiago Arruda - tan Tiago Vinícius - tvrc
3
Roteiro O que é OGRE? Licença Arquitetura – Root – SceneManager – RenderSystem – Entity – SceneNode Facilidades Comunidade Exemplos de uso Página Prática
4
O que é OGRE? OGRE (Object-oriented Graphics Rendering Engine) Engine gráfico open source Vasta gama de plugins e ferramentas Desenvolvido em C++ Encapsula o uso de bibliotecas como OpenGL e Direct3D Provê orientação a objetos
5
Licença Licenciado sob os termos da GNU Lesser Public License (LGPL) Código fonte pode ser adquirido e utilizado em aplicações (comercialmente ou não) gratuitamente
6
Arquitetura Vários padrões de projeto Simples e fácil de usar Vários conceitos e abstrações
7
Root Ponto de entrada do OGRE Deve ser instanciado antes dos outros objetos, pois é responsável por dar origem a todo o sistema e administrar o acesso ao mesmo Root::showConfigDialog() – Configuração do sistema – Detecta as opções disponiblizadas pelos sistemas de renderização (OpenGL e DirectX)
8
Root A partir do root é possível obter a referência para outros objetos importantes do sistema Criando uma nova raiz – tempRoot = new Root(); Outras tarefas desempenhadas pelo Root – Habilitar o modo de renderização contínua (modo utilizado em jogos) – Uso de FrameListeners
9
SceneManager Reúne e organiza todo o conteúdo da cena – Objetos – Câmera – Luzes – Sombra... Podem ser criados pelo programador Após criada, a cena é enviada ao RenderSystem pelo SceneManager, quando necessário
10
SceneManager Diferentes tipos de cenas requerem diferentes algoritmos para decidir que objeto pode ser enviado ao RenderSystem O SceneManager foi projetado para ser especializado (subclasses) em um determinado tipo de cena Criando um novo SceneManager – Scmgr = tempRoot->createSceneManager(ST_GENERIC, “Name”);
11
RenderSystem Classe abstrata que define a interface entre o OGRE e a API gráfica utilizada. Responsável por executar comandos para renderização Não deve ser acessado diretamente
12
RenderSystem Inicialização do sistema – Root::initialise(); Acesso ao objeto RenderSystem – Root::getRenderSystem();
13
Entity Instância de um objeto móvel na cena Possui malha associada (mesh) Várias entidades podem referenciar o mesmo objeto mesh (mais de uma cópia de um objeto em uma cena)
14
Entity Para que uma entidade seja renderizada, é necessário associá-la a um SceneNode Informações relativas à posição, à orientação e à escala não são armazenadas diretamente na entidade Criação de uma entidade – Entity *entity = Scmgr->createEntity(“entidade”, “entidade.mesh”);
15
SceneNode Objeto utilizado para agrupar entidades, luzes, câmeras e objetos móveis Armazena informações relativas à posição, orientação e escala Associado a uma entidade para torná-la visível
16
SceneNode Gerencia rotação e redimensionamento de objetos Um SceneNode pode conter outros do mesmo tipo – Posições são relativas ao objeto Pai Criação de um SceneNode – SceneNode *teste = Scmgr->getRootSceneNode()- >createChildSceneNode(“testeNode”); Associação com uma entidade – teste -> attachObject (entity );
17
Facilidades Possibilitam aos desenvolvedores implementar aplicações mais agradáveis para o usuário – Visual – Interação Geração de sombras – Realismo de uma cena – Percepção da distância entre os objetos – Várias formas
18
Facilidades Render-to-Texture – Renderizar cenas em texturas – Tornar os materiais reflexivos Mouse Picking – Usada em aplicativos 3D – Seleção de objetos
19
Comunidade OGRE Wiki – Características – Instalação – Utilização – API Fórum Testimoniais IRC
20
Exemplos de uso Mapeamento com 3 luzes
21
Exemplos de uso Shading
22
Exemplos de uso Reflexão e Refração
23
Exemplos de uso
26
Demos – BSP – Water – FacialAnimation
27
Página www.ogre3d.org
28
Prática Como as malhas podem ser exportadas para utilização no OGRE? Diga como é feito o uso de Texturas no OGRE Cite uma facilidade do OGRE, descrevendo seu funcionamento
29
Prática Setar a variável de ambiente do usuário OGRE_HOME com o endereço C:\Temp\OgreSDK Abra o Visual Studio.NET 2003 Crie um novo Projeto – New->Project Na opção Visual C++, escolha OGRE SDK Application Escolha qualquer nome e a localidade em C:\Temp\OGRE
30
Prática Na tela OGRE Application Wizard, clique em Finish Dê um build em seu projeto Rode o projeto teste de C:\Temp\OgreSDK\bin\debug Em Rendering Subsystem, escolha a opção do OpenGL
31
Prática A partir do projeto exemplo, faça as seguintes alterações: – Mude a posição da câmera para uma visão superior do OGRE – Mude a cor da fonte de luz para vermelho – Mude a posição da fonte de luz para o lado direito do OGRE
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.