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 PresentationTRANSCRIPT
-
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