A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

APLICANDO OPENGL COM ARTOOLKIT EM JOGOS DE LABIRINTO

Apresentações semelhantes


Apresentação em tema: "APLICANDO OPENGL COM ARTOOLKIT EM JOGOS DE LABIRINTO"— Transcrição da apresentação:

1 APLICANDO OPENGL COM ARTOOLKIT EM JOGOS DE LABIRINTO
Felipe Pereira da Costa de Almeida Alexandre Lisbôa de Oliveira Wilbert Profª. Sicilia Ferreira Judice FAETERJ / 2012

2 Jogos Eletrônicos História Aplicações

3 História Guerra Fria Alto custo de tecnologia Osciloscópio
Tennis For Two Guerra Fria – EUA x URSS / Investimento em Tecnologias para Criação de mísseis Alto custo de tecnologia – desenvolvimento para processamento limitado surgindo os videogame Tennis for Two – TODO:ESTUDAR (não comercializado)

4 História Nolan Bushnell Computer Space Atari Jogos com Enredo
Videogames Portáteis Nolan Bushnell – Foi contratado pela Nutting Associates para desenvolver o Computer Space. Computer Space – Primeiro jogo comercializado Atari – Fundada pelo Nolan Bushnell – primeiro videogame a utilizar cartucho Jogos com enredo – jogos entraram em decadência pela falta de qualidade. Com o surgimento de Mario Bros / Donkey Kong sucesso. Videogames Portáteis – GameBoy

5 História Videogame Bits
Nintendo Entertainment System (NES) / Master System 8 Mega Drive / Super NES 16 Sega Saturn / PlayStation 32 Nintendo 64 64 DreamCast / PlayStation 2 e 3 / Nintento Wii / Xbox 360 128 DreamCast – mouse, teclado, modem e VMU (TODO:ESTUDAR) - CD Nintendo 64 – 3D PlayStation 2 – DVD PlayStation 3 – Bluray - FULL HD Wii - reconhecimento de Movimento KINECT e PS MOVE

6 Aplicações Simuladores Personal Trainer Treinamento de Profissionais
Aprendizagem Aperfeiçoamento Redução de Gastos Exemplos Curso de Soldagem Treinamento Policial Personal Trainer Treinamento Policial – dinâmico e seguro Personal Trainer – conforto e facilidade de acesso

7 Realidade Aumentada Realidade Aumentada x Realidade Virtual Aplicações

8 Realidade Aumentada x Virtual
Realidade Virtual Enriquece a cena do mundo real com objetos virtuais Cena totalmente gerada por computador Usuário mantém o sentido de presença no mundo real Sensação de estar dentro de um novo ambiente Precisa de um mecanismo para combinar o mundo real e o virtual Precisa de um mecanismo para integrar o usuário ao mundo virtual Baixo custo Alto custo

9 Realidade Aumentada x Virtual
Exemplo de Realidade Virtual Simulação de um novo automóvel Exemplo de Realidade Virtual Simulação de um novo automóvel

10 Aplicações de RA Figurinhas Animadas Livros 3D Carros em 3D
GPS na lente dos óculos Organizar Layout Construções Medicina TODO:FAZER Vídeos Livros 3D – incentivo a leitura Carros em 3D – trocar cor do carro GPS óculos – Google Glass Medicina - O funcionamento é bem simples, diversas lâmpadas disparam raios infravermelhos que atravessam a pele e encontram as veias, enquanto uma câmera especial registra o reflexo. As informações vão para um computador na base do equipamento que em seguida criam a imagem sobre a pele do paciente

11 Metodologia e Ferramentas
Par Programming OpenGL ARToolkit Ambiente de Desenvolvimento

12 Par Programming Troca de conhecimento
Facilidade a troca de membros da equipe Aumenta qualidade da codificação Agilidade Alto Custo Troca de equipe – conhecimento unificado do software Aumento qualidade – um escreve o outro revisa Agilidade – Resolver problemas mais rapidamente Alto Custo - Se formos avaliar o ganho de velocidade em relação ao custo, veremos também um aumento deste último. Não é possível haver qualidade e velocidade com baixo custo. Embora a velocidade de implementação em par seja maior que a de um único programador, o tempo de programação (tempo de programação é medido pelo número de programadores x tempo gasto) também é maior

13 OpenGL Deve estar atrelada a uma linguagem de programação
Composta por duas bibliotecas (gl.h e glu.h) Necessita de uma biblioteca para enviar dados gráficos do buffer às aplicações Máquina de estado Transformações Geométricas Linguagem de programação – C / C++, Java e Delphi Bibliotecas - uma contém dados de acesso ao driver da placa de vídeo (gl.h) e a outra implementa funções para o desenvolvimento de aplicações (glu.h) Dados graficos buffer - No Windows esta biblioteca é a WGL, nos sistemas Unix a GLX e no MAC a GLA Maquina de estado - guardando assim a configuração de determinados comandos. Esta configuração se mantem intacta até ser alterada. Exemplo: GlColor

14 OpenGL GL_POINTS Desenha um pixel no vértice definido. GL_LINES
Desenha uma linha a cada dois vértices definidos. GL_LINE_STRIP Se for definido n vértices, a primitiva desenhará n-1 linhas ligando-as. GL_LINE_LOOP Conforme a anterior, ligando o último vértice ao primeiro. GL_POLYGON O polígono a ser definido deve ser convexo, a forma de ligar os vértices é igual à anterior. E essa primitiva preenche o polígono com a cor definida previamente. GL_QUADS Desenha um quadrilátero preenchido a cada quatro vértices informados. GL_QUAD_STRIP Desenha um grupo de quadriláteros conectados e preenchidos. GL_TRIANGLES Desenha um triângulo preenchido a cada três vértices definidos. GL_TRIANGLE_STRIP Desenha um grupo de triângulos conectados e preenchidos. GL_TRIANGLE_FAN Desenha um grupo de triângulos com o primeiro vértice em comum.

15 ARToolkit Open Source Multi-Plataforma
Deve ser utilizada juntamente com uma biblioteca responsável pelo parte gráfica Rastreamento óptico Biblioteca parte gráfica – OpenGL ou VRML Rastreamento óptico - Essa biblioteca utiliza um rastreamento óptico que identifica em tempo real onde está localizado e qual a orientação da câmera e do marcador (moldura quadrada desenhada em um papel). Desta forma, utilizando cálculos complexos possibilita posicionar objetos virtuais alinhados à imagem do marcador

16 ARToolkit Marcador Como gerar? Figura geométrica quadrada
Rotacionalmente assimétrico Bordas Contínuas com 25% do tamanho total Fundo Contrastante Como gerar? Marcadores - Esses marcadores são figuras geométricas quadradas, com algum símbolo em seu interior, que não devem ser rotacionalmente simétrica e podem ser pretas, brancas ou coloridas. Como gerar? – Explicar que existe o mk_patt.exe que auxilia na gravação do marcador para posteriormente ser utilizado na codificação

17 ARToolkit explica o processo de funcionamento da ARToolKit, em suas etapas. Primeiramente, a imagem capturada é convertida em uma imagem binária (P & B), onde as imagens quadradas são detectadas e comparadas com algumas imagens pré-cadastradas no sistema pelo usuário. Encontrando alguma similaridade com a imagem pré-cadastrada, a aplicação considera que encontrou um marcador na imagem. Por conseguinte, obtém-se a posição e a orientação do marcador sendo possível assim desenhar o objeto virtual sobreposto ao seu respectivo marcador

18 Ambiente de Desenvolvimento
Visual Studio Intellisense Debugador Modelador

19 O Projeto Regras do Jogo Algoritmos Inicialização Cenário
Movimentação e Colisão

20 Regras do Jogo Webcam Marcador sempre visível Labirinto Movimentação
Bola em Repouso Webcam – Necessidade inicial para executar o jogo Marcador sempre visível – Para evitar que o labirinto seja ocultado Labirinto – Dizer que a partir do momento que o marcador fica visível à webcam, é formado um labirinto na tela Movimentação – Explicar que para movimentar a bola é necessário inclinar o marcador em relação à webcam Bola em Repouso – Para deixar a bola em repouso é necessário deixar o marcador paralelo à webcam

21 Regras do Jogo Objetivos Total de 3 fases
Conduzir a bola até o buraco final Desviar dos buracos falsos e dos obstáculos Total de 3 fases Caindo no buraco falso reinicia a fase Limite de 3 tentativas Total de 3 fases – Explicar os níveis de dificuldade. 1ª fase fácil, 2ª fase paredes estreitas e 3ª buraco falso Limite de 3 tentativas – Passada as 3 tentativas reinicia o jogo

22 Algoritmos - Inicialização
Matriz - Parametrizada CONSTANTE VALOR corredor parede 1 bola 2 buracoFalso 3 buracoFinal 4

23 Algoritmos - Inicialização
Os componentes do labirinto ocupam unidades dentro da matriz Animação – Bola caindo no tabuleiro Monta a matriz de acordo com a fase atual Validação da posição da bola Buraco falso 3 tentativas Game Over Buraco final Avança de fase Animação – Bola caindo no tabuleiro -> Explicar que fizemos um loop sempre verificando se a bola está na superfície do tabuleiro, caso não decrementa um valor em relação ao eixo Y Validação da posição da bola -> Verifica se a nova posição da bola ocupa um buraco falso ou final. Deleta a posição anterior e cria a nova posição na matriz. Buraco falso -> Verifica sempre a quantidade de tentativas, ultrapassando 3 chama o método Game Over

24 Cenário Um cubo para cada posição da matriz, formando as paredes
Texturas diferentes para cada fase Aplicando texturas Desenhando a bola Buracos Falso e Final Paredes – glutSolidCube para cada posição da matriz Fases – Cada fase tem uma configuração de textura para cada objeto Texturas - AplicaTextura() onde passamos como parâmetro a quantidade de vezes que a textura será duplicada, o identificador da textura, e as posições das coordenadas nos eixos X e Y – Uso de pilha do OpenGL GL_TEXTURE_2D e GL_QUADS Bola – Pegar o centro da bola, usar a glutSolidSphere para desenhar e depois aplicar a textura Buracos falso e final – uma bola escalada no eixo Y achatando-o e transladado

25 Movimentação e Colisão
Validações da movimentação da bola Validações da movimentação da bola -> verifica ao redor da bola, validando se a mesma pode ocupar a nova posição. Caso sim, exclui a posição anterior e concretiza a nova posição. Caso contrario, não deixa a bola movimentar.


Carregar ppt "APLICANDO OPENGL COM ARTOOLKIT EM JOGOS DE LABIRINTO"

Apresentações semelhantes


Anúncios Google