1 / 35

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

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

nellis
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related