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

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

description

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

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

  • Equipe:Adones CunhaAdriano DamascenaAlmir GomesFbio MeloGileno AlvesTiago Mendona

  • Homenagens

    "O Ogre um brilhante sinal do desenvolvimento em cdigo-aberto.Ostentando uma engine de renderizao rpida e verstil, uma API elegante e simples e uma comunidade encorajadora que no deixa questes sem resposta, Ogre oferece um produto que vai alm das engines de renderizao comerciais. Ogre provou por a si mesmo como um habilitador de rpido desenvolvimento de aplicativos em 3D." Time de Desenvolvimento da 3DNA

    "Para o desenvolvedor temperado o OGRE parece diferente. como a faca de ao de carbono que meu amigo usa para cortar sushi no restaurante dele. Enganosamente simples, e ainda sim uma ferramenta muito potente na mo de um arteso. Uma nica lmina, um nico propsito. O Zen das engines em 3D. " Kai-Peter Backman ShortHike.com

  • ResponsveisSteve 'sinbad' Streeting

    Brian 'praetor' Johnstone

    Assaf Raman

  • O que OGRE?OGRE (Object-oriented Graphics Rendering Engine)

    Engine Grfica 3D Open-Source orientada cena

    No um Game Engine, mas sim um Rendering Engine

    Verses teste em Python, Java e .NET

  • LicenaOGRE foi concebida sob uma licena open source

    O OGRE tem como licena default a GNU Lesser Public License (LGPL)

    Pode ser utilizado sob a OGRE Unrestricted License (OUL)

  • Caractersticas BsicasOrientada a objetosProv Ferramentas, Plug-ins e Add-ons compatvel com inmeras configuraes de Hardware 3DInterface de programao oferecida nativamente escrita em C++MultiplataformaEncapsula o uso de bibliotecas como OpenGL e Direct3DComunidade muito ativa

  • ProdutividadeInterface simples e fcil de usar

    Framework de exemplo extensiva

    Requisitos comuns

    Design limpo e organizado

  • Suporte a plataformas e APIs 3DSuporte a Direct3D e OpenGL.

    Suporte a Windows (todas as principais verses), Linux e Mac OSX.

    Compila no Visual C++ e Code::Blocks no Windows.

    Compila no GCC 3+ no Linux / Mac OSX (usando XCode).

  • Suporte a Material / Shader Poderosa linguagem de declarao 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

  • Meshes (Malhas)Formatos de malhas flexveis so aceitos, separao dos conceitos de vertex buffers, index buffers, vertex declarations e buffer mappings. Malhas progressivas (LOD), geradas manualmente ou automaticamente. Biquadric Bezier patches para superfcies curvadas Agrupamento de Geometria Esttica

  • AnimaoSuporte sofisticado de animao por esqueletos. Suporte de animao de formas flexveis. Animao de SceneNodes para caminho de cmeras e tcnicas similares, usando interpolao de spline quando necessrio. Trilhas de animao genricas podem aceitar objetos plugveis

  • Caractersticas de CenaAdministrao flexvel de cenas Vrios plugins-exemplo (ex: BSP, Octree).Grfico de cena hierrquicoVrias tcnicas de renderizao de sombras

  • Efeitos EspeciaisSistema de CompositorSistema de Partculas, affectors e renderizadores Fcil suporte Skyboxes, Skyplanes e Skydomes Ribbon trails (rastro)

  • Outras CaractersticasArquitetura de plugins flexvel permite a engine ser estendida sem precisar recompilar ReferenceAppLayer prov um exemplo de como combinar o OGRE com outras libraries (ex: ODE, para colises)Infraestrutura comum de resources para administrao de memria e carregar de arquivos comprimidos

  • Exemplos de UsoAnkh Jogo de aventura no Egito1 produto comercial usando OGRE nov/2005

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

  • Arquitetura

  • Objeto RenderSystemInteface entre a API grfica e o OGRE

    Executa a renderizao Configura opes da API grfica

    No deve ser acessada diretamente

  • Objeto Entity uma instncia de um objeto mvel

    Possui um malha associada (mesh)

    Para ser renderizada, associada um SceneNode

    SceneManager::createEntity()

  • Objeto SceneNodeUtilizado para agrupar entidades, luzes, cmeras e objetos mveis

    Armazena posio,escala e orientao

    SceneManager::getRootSceneNode()

    SceneNode::createChildSceneNode()

  • Objeto CmeraUm ponto de vista da cena, representado por um n de propriedades Frustum

  • Objeto CmeraCriada no SceneManagerCamera* camera = sceneMgr->createCamera("Camera");

    Deve ser associada a um RenderTarget (que pode ser uma janela ou textura)

    Normalmente,se associa uma cmera a um RenderWindow ao qual se associa um ViewPort

  • OverlaysEstruturas para renderizao de elementos na frente da cena

    Pode ser criado atravs de um script ou do OverlayManager

    OverlayManager::createOverlayElement()Overlay::show()

  • ViewportsO Viewports tem informaes de altura, largura,cor de fundo e posio do alvo

    Recurso usado para obter visualizaes diferentes

    Atravs de Cmeras e Viewports pode-se criar efeitos de reflexo no ambiente pelo RenderTexture

  • Facilidades do EngineDesenvolver aplicao mais agradvel ao usurioVisualRealismoInteraoGerao de SombrasMouse PickingRender-to-Texture

  • Gerao de SombrasRealismoDistnciasIluminaoFormas

    Mais Realismo = Mais Custo

  • Gerao de SombrasA engine possui trs tipos de clculo de sombras:

    Texture ModulativeStencil ModulativeStencil Additive

  • Gerao de SombrasTexture ModulativeMenos custosa das trsRender-to-Texture

    Stencil AdditiveMais custosa

    Stencil ModulativeMenos precisa que a anterior, porm mais rpida

  • Gerao de SombrasSceneManager::setShadowTechnique()Uma ou mais luzes devem ser criadasSem luz = Sem sombraDesabilita-se a projeo de sombra nos objetos que no devem projet-lasEntity::setCastShadows()Define-se quais objetos recebero sombra ou noMaterial Script ou Cdigo

  • Gerao de Sombras

  • Mouse PickingO que ?Aplicativos 3DSeleo de Objetos

    Suportada nativamente pelo OGRE, de modo que aplicaes (principalmente editores 3D) que necessitem desse tipo de requisito possam ser desenvolvidas.

  • Mouse Picking realizado atravs do objeto raySceneQuery, criado pelo mtodo sceneManager->createRayQuery(), que recebe um raio como parmetro. Aps a definio do raio, o objeto ser executado.

  • Mouse PickingO picking padro do OGRE detecta objetos com base em seus AxisAlignedBoxResultados imprecisos e rpidosA implementao padro do Picking no OGRE, por ser mais rpida, pode ser utilizada como um filtro inicial!AxisAlignedBox um tipo de BoundingBox que est sempre alinhado com o eixo de coordenadas do mundo

  • Mouse Picking

  • ComunidadeOGRE WikiCaractersticasUtilizaoAPIInstalao

    FrumTestimoniaisIRC