343o [modo de compatibilidade]) - catolica-to.edu.br · exemplos de motores. ... o conceito de...
TRANSCRIPT
RoteiroRoteiro
� Introdução
� Conceito de motor
� Arquitetura de um motor� Arquitetura de um motor
� Exemplos de motores
IntroduçãoIntrodução
� Atualmente o mercado de jogos é um dasatividades mais lucrativas do momento, tendosuperado inclusive a indústria cinematográfica.
IntroduçãoIntrodução
� O avanço do hardware gráfico e o surgimento denovos recursos como placas de aceleração físicatem possibilitado o desenvolvimento de jogoscada vez mais reais.
NVIDIA 9800 GX2
� Seguindo esta tendência, os motores utilizadospara o desenvolvimento de jogos tornam-secada vez mais potentes e dinâmicos.
IntroduçãoIntrodução
Crysis – Cryteck/EA Games (2007)
As principais áreas da computação envolvidas no desenvolvimento de jogos são:
� Computação gráfica� Estruturas de dados avançadas� Banco de dados� Inteligência artificial
IntroduçãoIntrodução
� Inteligência artificial� Engenharia de software� Redes
Além de:
� Matemática� Física
� O conceito de motor surgiu no início dos anos 90com o lançamento do jogo Doom.
Conceito de MotorConceito de Motor
Comparativo entre jogo Doom apresentado em 1993 e Doom 3 lançado em 2003.
Um motor gráfico pode ser definido comoum conjunto de bibliotecas que permitem aabstração da programação em baixo nívelde maneira a oferecer uma interface dedesenvolvimento mais amigável ao
Conceito de MotorConceito de Motor
desenvolvimento mais amigável aoprogramador.
� Os motores são geralmente implementadosutilizando um arquitetura de três camadas:
Aplicação
Arquitetura de um MotorArquitetura de um Motor
Subsistemas
Núcleo
Subsistemas: A camada de subsistemase formada por diversos módulos queoferecem serviços específicos ao núcleo pormeio de APIs e drivers que se comunicamcom o sistema operacional.
Arquitetura de um MotorArquitetura de um Motor
com o sistema operacional.
Módulo gráficoMódulo de
redeMódulo de
somMódulo de
I/O
Exemplo para uma camada de subsistemas
Algumas APIs empregadas em subsistemas são:
� OpenGL – renderização 2/3D� DirectX – renderização 2/3D, som 2/3D,
dispositivos de entradaOpenAL – som 2D e 3D
Arquitetura de um MotorArquitetura de um Motor
� OpenAL – som 2D e 3D� Ravok – física� ODE – física� Physx – física� JPGLib – carregamento de imagens
� Núcleo: chama cada função no momentoapropriado e com os parâmetrosapropriados.
� Identifica, inicia e coordena o
Arquitetura de um MotorArquitetura de um Motor
� Identifica, inicia e coordena ofuncionamento de todos os módulos domotor.
� Camada de aplicação: A aplicação é osoftware implementado utilizando osrecursos oferecidos pelo motor.
� O desenvolvedor somente especifica o
Arquitetura de um MotorArquitetura de um Motor
� O desenvolvedor somente especifica ocenário, carrega e posicionar os modelos,disparar animações e efeitos, bem comodefine as respostas que o jogo deveráfornecer com base em uma maquina deestados ou ações do usuário.
Atualmente, existe uma vasta gama demotores destinados a diferentes propósitos.É possível classificar os motores em:
Tipos de MotoresTipos de Motores
� Motores 2D
� Motores 3D
Motores 2DMotores 2DMotores 2DMotores 2DJUnderGE
Suporte a:- Bricks- Tiles- Sprites- Layers
Motores 3DMotores 3DMotores 3DMotores 3D- Ogre 3D- Torque 3D- Jmonkey- Jake- enJine- Java3D
-
Características:
� Engine 3D voltada para a rendericaçãoDesenvolvida em C++
Ogre 3DOgre 3D
� Desenvolvida em C++� Fácil utilização� Multiplataforma (DirectX/OpenGL)� Gratuita
Pacific Storm (2006)
Ogre 3DOgre 3D
Lesta Studios - http://www.pacificstorm.net
Torque 3DTorque 3D
Características:
� Engine 3D completa para odesenvolvimento de jogosdesenvolvimento de jogos
� Desenvolvida em C++� Fácil utilização� Multiplataforma (DirectX/OpenGL)� Proprietária: Licença comercial ($295)
Hinterland (2008)
Torque 3DTorque 3D
Tilted Mill Entertainment - http://www.tiltedmill.com/hinterland/
Motores 3D em JavaMotores 3D em Java
Características:
- Jmonkey- Jake- Jake- enJine- Java 3D
DúvidasDúvidas
ContatosContatos