arthur elihimas bruno morato everson veríssimo felype santiago leonardo andré marcos camelo
Post on 22-Jan-2016
42 Views
Preview:
DESCRIPTION
TRANSCRIPT
Arthur ElihimasBruno MoratoEverson VeríssimoFelype SantiagoLeonardo AndréMarcos CameloPedro VazYane Wanderley
O que é OGRE?AplicaçãoArquitetura Instruções de instalaçãoExercícios
O Object-Oriented Graphics Rendering Engine (OGRE) é uma engine escrita em C++ para facilitar o desenvolvimento de aplicações gráficas em 3D.
A engine não é somente para o desenvolvimento de jogos, mas sim para todo o tipo de desenvolvimento que utilize gráficos 3D
Scythe Physics Editor Software para abstração de tratamento
de física, criado especialmente para designers
link
Pacific Storm Simulador de vôo comercial lançado pela
Buka Entertainment, chegou a ser lançado no Brasil
link
Billiards Complete Jogo de bilhar, feito independentemente
pela Focus Games, procurando distribuidor
link
Baseada em árvore
Classes principais para a contrução de aplicações OGRE: Root SceneManager SceneNode Entity
Ponto de entrada do sistema OGRE;
Através dele pode-se configurar e acessar todo o sistema;
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.
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”
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;
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.
RootRoot
SceneManager
SceneManager
SceneManager
SceneManager
EntityEntity
SceneNode
SceneNode
SceneNode
SceneNode
SceneNode
SceneNode
EntityEntity EntityEntityEntityEntity
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
Criar um novo projeto
Criar um novo projeto (2)
Criar um novo projeto (3)
Criar um novo projeto (4)
Criar um novo projeto (5)
Criar um novo projeto (6)
Criar um novo projeto (7)
Criar um novo projeto (8)
Criar um novo projeto (9)
Criar um novo projeto (10)
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 =)
Criar um novo projeto (12)
Criar uma cena simples utilizando a arquitetura apresentada.
void createScene(void){mSceneMgr-
>setAmbientLight( ColourValue( 0, 0, 0 ) );}
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 ) );
athene.mesh WoodPallet.mesh ogrehead.mesh razor.mesh robot.mesh RZR-002.mesh sphere.mesh tudorhouse.mes
h ninja.mesh
column.meshcube.mesh facial.meshfish.meshgeosphere4500.
meshgeosphere8000.
mesh jaiqua.meshknot.meshBarrel.mesh
ent = mSceneMgr->createEntity( “Ninja", "ninja.mesh" );
node = mSceneMgr->getRootSceneNode()-> createChildSceneNode( " NinjaNode", Vector3( 0, 0, 200 ) );
node->attachObject( ent );
Plane plane(Vector3::UNIT_Y, 0);MeshManager::getSingleton().createPlane("ground",ResourceGroupManager::DEFAULT_RESOURCE_GROUP_N
AME, 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");
plane.d = 1000;plane.normal = Vector3::NEGATIVE_UNIT_Y;mSceneMgr->setSkyPlane(true, plane,
"Examples/CloudySky", 1500, 40, true, 1.5f, 150, 150);
//Com uma fonte de luzLight *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)
Adicione mais fontes de luz e obtenha resultados tais como:
ColourValue fadeColour(0.9, 0.9, 0.9);mSceneMgr->setFog(FOG_LINEAR, fadeColour, 0.0,
100, 5000);
mSceneMgr->setShadowTechnique(SHADOWTYPE_STENCIL_ADDITIVE);
Artur Elihimas Bruno Morato Everson
Veríssimo Felype Santiago Leonardo André Marcos Camelo Pedro Vaz Yane Wanderley
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
top related