OGRE Grupo: Cleunio França Igino Chaves Lucas Andre Lúcio Ribeiro Styve Stallone Severino José SUMÁRIO O que é Ogre? Licença Características Gerais Vantagens Desvantagens Arquitetura Exemplos (demos) Aplicações O QUE É OGRE? OGRE(Object-oriented Graphics Rendering Engine); Motor gráfico 3D orientado a objetos; Orientado a Cena; É uma Game-Engine? OGRE Criada para proporcionar uma classe de soluções gráficas; Desde 2001, tem se tornado a mais popular OpenSource Engine gráfica; Considerada uma das melhores Engine de código aberto; Flexível; OGRE Usada em um grande número de projetos: Jogos; Software educacionais; Simuladores; Poucos escritores, muitos colaboradores; Usa principalmente C++; Possui versões de teste para Python, Java e .NET; LICENÇA Ogre Source é feito baseado na GNU LGPL(Lesser General Public License): Free; Com algumas restrições; Alternative License (OUL): Paga; Sem restrições; CARACTERÍSTICAS GERAIS Orientação a Objeto (C++) Multiplataforma Phyton, Java e .NET em teste Windows, Linux e MacOSX Desenvolvido para minimizar o esforço para renderizar cenas 3D. Comunidade muito ativa Gratruito VANTAGENS Implementação fácil e intuitiva Desenvolvimento independente da implementação 3D Direct3D ou OpenGL Documentação completa de todas as classes Flexibilidade: engine gráfico para uso abrangente Área médica, entretenimento, educacional, visualização científica. Arquitetura de plugin flexível Framework de exemplo extensivo DESVANTAGENS Não é uma engine de jogos necessidade de integração de bibliotecas - OgreODE (física) Ogrenewt (física de newton) OgreAL (som) CARACTERÍSTICAS A FUNDO Suporte a material / shader Poderosa linguagem de declaração de materiais Suporte a Vertex, Shaders, DirectX9 HSLS, GLSL Material LOD Texturas: PNG, JPEG, TGA, BMP e DDS Fornecidas e atualizadas em tempo real CARACTERÍSTICAS A FUNDO Meshes Formatos flexíveis Bezier biquadrada para superfícies curvadas LOD manual ou automático CARACTERÍSTICAS A FUNDO Animação Sofisticada animação por esqueleto Animação de formas flexíveis Animação para caminho de câmeras Trilhas de animação genéricas CARACTERÍSTICAS A FUNDO A Cena Administração de cenas customizável e flexível Gráficos de cenas hierárquico Técnicas de renderização de sombra CARACTERÍSTICAS A FUNDO Efeitos especiais Suporte à Skyboxes, Skyplanes e Skydomes Sistema de partículas Técnicas de renderização de sombra ARQUITETURA Baseada em árvore Objetos: Root RenderSystem SceneManagerEnumerator Entity Mesh Scenenode Material TexturaLayer Camera ARQUITETURA ROOT Ponto de entrada do Ogre Instancia. Root :: getSingleton() Ultimo a ser destruído Referenciamento RENDERSYSTEM Classe abstrata Comandos para renderização Importância Acesso RENDERSYSTEM Configura opções próprias da API gráfica. Necessidade de subclasses especificas Não deve ser acessado diretamente SCENEMANAGER Utilidade Renderização Ciclo de renderização Conteúdo da cena SCENEMANAGER Otimização Métodos SceneManager::createSceneNode/getSceneNode(); SceneManager::createCamera/getCamera(); SceneManager::createLight/getLight(). Tipos ST_GENERIC ST_EXTERIOR ST_INTERIOR ENTITY Objeto Móvel 3D Malha Geométrica SceneManager::createEntity() ENTITY Associado ao SceneNode Várias entidades Sub-Entity MESH Conjunto de Vértices Sub-Mesh SCENENODE Agrupamento Associação com Entity Hierarquia CAMERA Representa um ponto de vista da cena. É criada a partir de uma SceneManager com nome associado. Nó com propriedade de Frustum (área restrita de visualização: campos de vista, aspecto, delimitadores de volume). CAMERA Posição e orientação pode ser alteradas dinamicamente. MATERIAL Informa modo de renderização do objeto: . componentes do modelo de iluminação . camadas de texturas associadas, imagens e como devem interagir formando a superfície final. Identificados pelo nome e pode ser atribuído a Entity ou SubEntity. EXEMPLOS (DEMOS) Magic Of Stonehenge Gerenciamento automático da câmera Scene manager (terrain) Efeitos de luz e sombra Outros efeitos: oclusão, textura do material (rochas), controle de exposição EXEMPLOS (DEMOS) Compositor Efects Permite visualizar vários efeitos luminosos e de imagem (bloom, glass, gaussian blur, preto-e-branco, etc.) Permite também misturar um ou mais efeitos. EXEMPLOS (DEMOS) Ankh História se passa no antigo Egito Boa qualidade nos efeitos luminosos (fogo, sombra) Objetos não são muito polidos, talvez para preservar o desempenho do jogo. http://www.youtube.co m/watch?v=HUM5srw 0rDo EXEMPLOS (DEMOS) Arid Ocean Simula um oceano com muitos efeitos, principalmente os de água, um dos mais difíceis de implementar Mesmo com ausência de sombras, a qualidade de processamento dos objetos aumenta o realismo do programa. DÚDIDAS REFERÊNCIAS http://eden.dei.uc.pt/~pribeiro/portfolio/docs/M3D PJ.PDF http://www.ogre3d.org/ http://en.wikipedia.org/wiki/OGRE_3D