slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Equipe: Adones Cunha Adriano Damascena Almir Gomes Fábio Melo Gileno Alves Tiago Mendonça PowerPoint Presentation
Download Presentation
Equipe: Adones Cunha Adriano Damascena Almir Gomes Fábio Melo Gileno Alves Tiago Mendonça

play fullscreen
1 / 35
Download Presentation

Equipe: Adones Cunha Adriano Damascena Almir Gomes Fábio Melo Gileno Alves Tiago Mendonça - PowerPoint PPT Presentation

nellis
84 Views
Download Presentation

Equipe: Adones Cunha Adriano Damascena Almir Gomes Fábio Melo Gileno Alves Tiago Mendonça

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Equipe: • Adones Cunha • Adriano Damascena • Almir Gomes • Fábio Melo • Gileno Alves • Tiago Mendonça

  2. Homenagens • "O Ogre é um brilhante sinal do desenvolvimento em código-aberto.Ostentando uma engine de renderização rápida e versátil, uma API elegante e simples e uma comunidade encorajadora que não deixa questões sem resposta, Ogre oferece um produto que vai além das engines de renderização comerciais. Ogre provou por a si mesmo como um habilitador de rápido desenvolvimento de aplicativos em 3D."Time de Desenvolvimento da 3DNA • "Para o desenvolvedor temperado o OGRE parece diferente. É como a faca de aço de carbono que meu amigo usa para cortar sushi no restaurante dele. Enganosamente simples, e ainda sim uma ferramenta muito potente na mão de um artesão. Uma única lâmina, um único propósito. O Zen das engines em 3D. "Kai-Peter BackmanShortHike.com

  3. Responsáveis • Steve 'sinbad' Streeting • Brian 'praetor' Johnstone • Assaf Raman

  4. O que é OGRE? OGRE (Object-oriented Graphics Rendering Engine) Engine Gráfica 3D Open-Source orientada à cena Não é um Game Engine, mas sim um Rendering Engine Versões teste em Python, Java e .NET

  5. Licença • OGRE foi concebida sob uma licença open source • O OGRE tem como licença default a GNU Lesser Public License (LGPL) • Pode ser utilizado sob a OGRE Unrestricted License (OUL)

  6. Características Básicas • Orientada a objetos • Provê Ferramentas, Plug-ins e Add-ons • É compatível com inúmeras configurações de Hardware 3D • Interface de programação oferecida nativamente é escrita em C++ • Multiplataforma • Encapsula o uso de bibliotecas como OpenGL e Direct3D • Comunidade muito ativa

  7. Produtividade • Interface simples e fácil de usar • Framework de exemplo extensiva • Requisitos comuns • Design limpo e organizado

  8. Suporte a plataformas e APIs 3D • Suporte a Direct3D e OpenGL. • Suporte a Windows (todas as principais versões), Linux e Mac OSX. • Compila no Visual C++ e Code::Blocks no Windows. • Compila no GCC 3+ no Linux / Mac OSX (usando XCode).

  9. Suporte a Material / Shader • Poderosa linguagem de declaração de materiais • Suporta Vertex e Fragment programs (shaders), suporta tanto assembler quanto Cg, DirectX9 HLSL, ou GLSL • Suporte a Material LOD • Carregar texturas de arquivos PNG, JPEG, TGA, BMP ou DDS • Texturas podem ser providas em tempo real por plugins

  10. Meshes (Malhas) • Formatos de malhas flexíveis são aceitos, separação dos conceitos de vertex buffers, index buffers, vertex declarations e buffer mappings. • Malhas progressivas (LOD), geradas manualmente ou automaticamente. • Biquadric Bezier patches para superfícies curvadas • Agrupamento de Geometria Estática

  11. Animação • Suporte sofisticado de animação por esqueletos. • Suporte de animação de formas flexíveis. • Animação de SceneNodes para caminho de câmeras e técnicas similares, usando interpolação de spline quando necessário. • Trilhas de animação genéricas podem aceitar objetos plugáveis

  12. Características de Cena • Administração flexível de cenas • Vários plugins-exemplo (ex: BSP, Octree). • Gráfico de cena hierárquico • Várias técnicas de renderização de sombras

  13. Efeitos Especiais • Sistema de “Compositor” • Sistema de Partículas, affectors e renderizadores • Fácil suporte á Skyboxes, Skyplanes e Skydomes • Ribbon trails (rastro)

  14. Outras Características • Arquitetura de plugins flexível permite a engine ser estendida sem precisar recompilar • ReferenceAppLayer provê um exemplo de como combinar o OGRE com outras libraries (ex: ODE, para colisões) • Infraestrutura comum de resources para administração de memória e carregar de arquivos comprimidos

  15. Exemplos de Uso • Ankh – Jogo de aventura no Egito • 1° produto comercial usando OGRE – nov/2005

  16. Exemplos de Uso • Featured Projects: http://www.ogre3d.org/index.php?set_albumName=album07&option=com_gallery&Itemid=55&include=view_album.php

  17. Root RenderSystem SceneManager Enumerator Material Entity SceneNode Camera TexturaLayer Mesh Arquitetura

  18. Objeto RenderSystem Inteface entre a API gráfica e o OGRE Executa a renderização Configura opções da API gráfica Não deve ser acessada diretamente

  19. Objeto Entity É uma instância de um objeto móvel Possui um malha associada (mesh) Para ser renderizada, é associada um SceneNode SceneManager::createEntity()

  20. Objeto SceneNode Utilizado para agrupar entidades, luzes, câmeras e objetos móveis Armazena posição,escala e orientação SceneManager::getRootSceneNode() SceneNode::createChildSceneNode()

  21. Objeto Câmera Um ponto de vista da cena, representado por um nó de propriedades Frustum

  22. Objeto Câmera Criada no SceneManager Camera* camera = sceneMgr->createCamera("Camera"); Deve ser associada a um RenderTarget (que pode ser uma janela ou textura) Normalmente,se associa uma câmera a um RenderWindow ao qual se associa um ViewPort

  23. Overlays Estruturas para renderização de elementos na frente da cena Pode ser criado através de um script ou do OverlayManager OverlayManager::createOverlayElement() Overlay::show()

  24. Viewports O Viewports tem informações de altura, largura,cor de fundo e posição do alvo Recurso usado para obter visualizações diferentes Através de Câmeras e Viewports pode-se criar efeitos de reflexão no ambiente pelo RenderTexture

  25. Desenvolver aplicação mais agradável ao usuário Visual Realismo Interação Geração de Sombras Mouse Picking Render-to-Texture Facilidades do Engine

  26. Geração de Sombras • Realismo • Distâncias • Iluminação • Formas • Mais Realismo = Mais Custo

  27. Geração de Sombras • A engine possui três tipos de cálculo de sombras: • Texture Modulative • Stencil Modulative • Stencil Additive

  28. Geração de Sombras • Texture Modulative • Menos custosa das três • Render-to-Texture • Stencil Additive • Mais custosa • Stencil Modulative • Menos precisa que a anterior, porém mais rápida

  29. Geração de Sombras • SceneManager::setShadowTechnique() • Uma ou mais luzes devem ser criadas • Sem luz = Sem sombra • Desabilita-se a projeção de sombra nos objetos que não devem projetá-las • Entity::setCastShadows() • Define-se quais objetos receberão sombra ou não • Material  Script ou Código

  30. Geração de Sombras

  31. Mouse Picking • O que é? • Aplicativos 3D • Seleção de Objetos • Suportada nativamente pelo OGRE, de modo que aplicações (principalmente editores 3D) que necessitem desse tipo de requisito possam ser desenvolvidas.

  32. Mouse Picking É realizado através do objeto raySceneQuery, criado pelo método sceneManager->createRayQuery(), que recebe um raio como parâmetro. Após a definição do raio, o objeto será executado.

  33. Mouse Picking • O picking padrão do OGRE detecta objetos com base em seus AxisAlignedBox • Resultados imprecisos e rápidos • A implementação padrão do Picking no OGRE, por ser mais rápida, pode ser utilizada como um filtro inicial! • AxisAlignedBox é um tipo de BoundingBox que está sempre alinhado com o eixo de coordenadas do mundo

  34. Mouse Picking

  35. Comunidade • OGRE Wiki • Características • Utilização • API • Instalação • Fórum • Testimoniais • IRC