1 / 48

Arthur Elihimas Bruno Morato Everson Veríssimo Felype Santiago Leonardo André Marcos Camelo

Arthur Elihimas Bruno Morato Everson Veríssimo Felype Santiago Leonardo André Marcos Camelo Pedro Vaz Yane Wanderley. Agenda. O que é OGRE? Aplicação Arquitetura Instruções de instalação Exercícios. O que é Ogre?.

carrie
Download Presentation

Arthur Elihimas Bruno Morato Everson Veríssimo Felype Santiago Leonardo André Marcos Camelo

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. Arthur Elihimas Bruno Morato Everson Veríssimo Felype Santiago Leonardo André Marcos Camelo Pedro Vaz Yane Wanderley

  2. Agenda • O que é OGRE? • Aplicação • Arquitetura • Instruções de instalação • Exercícios

  3. O que é Ogre? • O Object-Oriented Graphics Rendering Engine (OGRE) é uma engine escrita em C++ para facilitar o desenvolvimento de aplicações gráficas em 3D.

  4. Aplicação • A engine não é somente para o desenvolvimento de jogos, mas sim para todo o tipo de desenvolvimento que utilize gráficos 3D

  5. Projetos com Ogre(1/3) • Scythe Physics Editor • Software para abstração de tratamento de física, criado especialmente para designers • link

  6. Projetos com Ogre(2/3) • Pacific Storm • Simulador de vôo comercial lançado pela Buka Entertainment, chegou a ser lançado no Brasil • link

  7. Projetos com Ogre(3/3) • Billiards Complete • Jogo de bilhar, feito independentemente pela Focus Games, procurando distribuidor • link

  8. Arquitetura • Baseada em árvore • Classes principais para a contrução de aplicações OGRE: • Root • SceneManager • SceneNode • Entity

  9. ArquiteturaRoot • Ponto de entrada do sistema OGRE; • Através dele pode-se configurar e acessar todo o sistema;

  10. ArquiteturaSceneManager • Controla tudo o que aparece na tela; • Mantém o controle sobre as localizações dos objetos; • Mantém controle sob a câmera, planes, lights... • É referenciado no Root.

  11. Arquitetura SceneNode • Agrupa objetos e armazena informações relativas a posição, orientação e escala destes dentro da cena; • Todo objeto deve estar associado a um SceneNode para se tornar visível; • Um SceneNode pode conter outros SceneNodes • Posição dos “filhos” será relativa à do “pai”

  12. Arquitetura Entity • Qualquer coisa que possa ser representada por um mesh 3D (malha geométrica); • Pode ser renderizada em uma cena; • Devem ser uma entidade: • Um robô, um peixe ou o terreno em que os personagens andam; • Não devem ser entidades: • Luzes, Partículas, Câmeras, entre outros;

  13. Uma Entidade não pode ser colocada em uma Cena diretamente. Ela deve ser anexada (attach) para um objeto SceneNode; Pode-se aplicar transformações espaciais às entidades associadas a cada SceneNode e seus filhos. Arquitetura Entity

  14. ArquiteturaVisão Geral Root SceneManager SceneManager SceneNode SceneNode SceneNode Entity Entity Entity Entity

  15. Instruções de instalação (Visual Studio 2005/2008) • Baixe o OGRE 1.4.8 SDK em • http://www.ogre3d.org/index.php?option=com_content&task=view&id=411&Itemid=131 • Descompactar preferencialmente no Temp (ou no pendrive). O caminho para identificar o SDK não pode conter espaços, exemplo: • C:\Temp\OgreSDK • Mapeie a conta \\ipojuca\bmcr\public_html\ogre\, copie as dll’s que estão nessa pasta (d3dx9_33.dll e d3dx9_35.dll) e cole em C:\Temp\OgreSDK\bin\debug

  16. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto

  17. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto (2)

  18. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto (3)

  19. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto (4)

  20. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto (5)

  21. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto (6)

  22. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto (7)

  23. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto (8)

  24. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto (9)

  25. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto (10)

  26. Instruções de instalação (Visual Studio 2005/2008) • Criar um novo projeto (11) • Testando sua configuração do OGRE compilando um exemplo trivial • http://www.cin.ufpe.br/~ywsr/Arquivos/AulaOGRE/exemplo.txt • Não rode ainda!! Apenas compile. • Dando tudo certo na compilação, pegue o executável na pasta do projeto em debug (\ProjetoOGRE\debug) e copie para a pasta do debug, dentro de bin, que está dentro de OgreSDK (OgreSDK\bin\debug) pego no início do tutorial de instalação. • Agora é só clicar duas vezes no executável copiado =)

  27. Instruções de instalação (Visual Studio 2005/2008) Criar um novo projeto (12)

  28. Exercício Criar uma cena simples utilizando a arquitetura apresentada.

  29. ExercícioCriando uma cena void createScene(void){ mSceneMgr->setAmbientLight( ColourValue( 0, 0, 0 ) ); }

  30. ExercícioResultado

  31. ExercícioCriando uma entidade - Dragão Entity *ent = mSceneMgr->createEntity("Dragon", "dragon.mesh" ); SceneNode *node = mSceneMgr->getRootSceneNode()-> createChildSceneNode( " Dragon Node", Vector3( 100, 150, -200 ) ); node->attachObject( ent ); node->yaw( Degree( -180 ) );

  32. ExercícioResultado

  33. Outros meshesdiponíveis • athene.mesh • WoodPallet.mesh • ogrehead.mesh • razor.mesh • robot.mesh • RZR-002.mesh • sphere.mesh • tudorhouse.mesh • ninja.mesh • column.mesh • cube.mesh • facial.mesh • fish.mesh • geosphere4500.mesh • geosphere8000.mesh • jaiqua.mesh • knot.mesh • Barrel.mesh

  34. ExercícioCriando outra entidade - Ninja ent = mSceneMgr->createEntity( “Ninja", "ninja.mesh" ); node = mSceneMgr->getRootSceneNode()-> createChildSceneNode( " NinjaNode", Vector3( 0, 0, 200 ) ); node->attachObject( ent );

  35. ExercícioResultado

  36. ExercícioCriando um plano - chão Plane plane(Vector3::UNIT_Y, 0); MeshManager::getSingleton().createPlane("ground", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, plane, 3000, 3000, 20 ,20, true, 1, 5, 5, Vector3::UNIT_Z); Entity *chao = mSceneMgr->createEntity("GroundEntity", "ground"); mSceneMgr->getRootSceneNode()->createChildSceneNode()-> attachObject(chao); chao->setMaterialName("Examples/Rockwall");

  37. ExercícioResultado

  38. ExercícioCriando um plano - céu plane.d = 1000; plane.normal = Vector3::NEGATIVE_UNIT_Y; mSceneMgr->setSkyPlane(true, plane, "Examples/CloudySky", 1500, 40, true, 1.5f, 150, 150);

  39. ExercícioResultado

  40. ExercícioColocando Iluminação //Com uma fonte de luz Light *light; light = mSceneMgr->createLight("Light1"); light->setType(Light::LT_POINT); light->setPosition(Vector3(50, 250, -100)); light->setDiffuseColour(0.5, 0.5, 0.5); light->setSpecularColour(0.5, 0.5, 0.5); //Ponha a luz ambiente como (0,0,0)

  41. ExercícioResultado

  42. ExercícioResultado Adicione mais fontes de luz e obtenha resultados tais como:

  43. ExercícioColocando efeito - neblina ColourValue fadeColour(0.9, 0.9, 0.9); mSceneMgr->setFog(FOG_LINEAR, fadeColour, 0.0, 100, 5000);

  44. ExercícioResultado

  45. ExercícioColocando efeito - sombra mSceneMgr->setShadowTechnique(SHADOWTYPE_STENCIL_ADDITIVE);

  46. ExercícioResultado final

  47. Dúvidas ? Artur Elihimas Bruno Morato Everson Veríssimo Felype Santiago Leonardo André Marcos Camelo Pedro Vaz Yane Wanderley

  48. Referências http://www.cubagames.com.br/quer-fazer-o-seu-proprio-jogo-parte-6/ http://www.mundodosdragoes.com/wiki/index.php?title=OGRE:Tutoriais http://www.deitel.com/Books/C/CHowtoProgram6e/OGREInstallationInstructions/tabid/3152/Default.aspx

More Related