AreaPortal Visibility By Filami. Objectivos Por em prática técnicas de determinação de visibilidades usando AreaPortals; Desenvolver uma aplicação experimental.

Slides:



Advertisements
Apresentações semelhantes
Exemplos de: Elsevier – Science Direct Nature HighWire Press
Advertisements

Portfólio de Matemática 3ºTrimestre
Métodos de Culling e Otimizações
A17 – Primeiros passos na utilização das TIC
Escola Secundária da Ramada
António Ramires Fernandes & Luís Paulo Santos – Adaptado por Alex F. V. Machado Computação Gráfica Pipeline Gráfico.
DOIS POR UM! Alguns processos e procedimentos matemáticos pertinentes a atividade: Interpretação geométrica; Modelos matemáticos; Argumentação geométrica.
ELIENE G. MOREIRA PESTANA
Clipping. b. Triangle Strips Idéia fundamental: minimizar volume de vértices e consequentemente, minimizar cálculos de iluminação, normais, clipping,
Triangle Strips Strips: É possível descrever um triângulo com menos de 3 vértices? Para n triângulos, n+2 vértices Cada Triangulo: V i, V i+1, V i+2 Problema.
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Ismael Andrade Pimentel
Raytracing Trabalho de Introdução a Computação Gráfica Alunos: Fabio Issao Nakamura Jeronimo Silvério Venetillo.
Recursividade Conceitos e Aplicações.
Noções Básicas de Modelagem
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
O que é a Internet e o que podemos lá fazer
Evolução Humana Área Projecto Grupo 6 12ºB.
Rapid Hierarquichal Radiosity Algorithm Pat Hanrahan David Salzman Larry Aupperle Siggraph ´91 Las Vegas.
Formação interna Coimbra
Introdução a Programação
Sistema Operativo em Ambiente Gráfico
Biblioteca do Conhecimento Online – b-on FONTES DE INFORMAÇÃO SOCIOLÓGICA.
Web: criação de páginas
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Raytracing acelerado: Bounding Interval Hierarchy
CURSO PRÁTICO PRÓ-ELÉTRICA
PCS - Departamento de Engenharia de Computação e Sistemas Digitais Projeto de Formatura – Turmas 2008 Integrantes: Anderson José Perottoni Fernando Y.
DIAGRAMA DE CLASSE Modelagem de Software
Reconstrução de formas Solução geométrica baseada na escavação do espaço e em superfícies reflectoras Nuno Martins Coimbra Novembro de 2001.
Treinamento do Microsoft® Word 2010
Treinamento do Microsoft® Access® 2010
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Cabeçalhos, Rodapés e Capas
INTRODUÇÃO ÁS BASES DE DADOS
Computação Gráfica – Visibilidade
Casos de Uso no Engenharia de Software e Sistemas {abab, dtvp, jmmn, mscla, rmb2,
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
ÂNGULOS Professora autora: Maria Helena Augusto Colégio Humboldt
Introdução ao Microsoft Word 2007
Planificação da Superfície do Cilindro usando o Geometer´s Sketchpad
Top Systems Alexandre Kourbatov. 2 T-FLEX é o sistema CAD/CAPP/CAM/CAE/PDM integrado paramétrico que permite fazer preparação construtiva e tecnológica.
Princípios da Programação em Prolog
LEMA 1 Utilização de material concreto no Ensino de Matemática
Acabias Marques Luiz. I - Introdução ao Ruby Parte 1 – Introdução a linguagem  O que é Ruby  Instalação  O IRB  Operadores Aritméticos  Tipos de.
UNIDADE 4: Processamento de texto
Helder Geovane Gomes de Lima
POLÍGONO.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Prof. Edison Oliveira de Jesus
Plano de Aulas  Estruturas de aceleração  Descarte contra volume de visão  Descarte por oclusão  Grafo de cena: OpenSceneGraph  Traçado de raios em.
GEOMETRIA FRACTAL O JOGO DO CAOS.
CÁLCULO COM GEOMETRIA ANALÍTICA II Funções de várias variáveis
Professor: Pedro Lopes Gestão de Base de dados Ano Lectivo 2010/2011.
Atualizar as definições de privacidade e de perfil j em seguida, prima F5 ou clique em Apresentação de Diapositivos > A Partir do Início para iniciar o.
Professor: Pedro Lopes Gestão de Base de dados Ano Lectivo 2010/2011.
Sistema Operativo em Ambiente Gráfico
Introdução às Tecnologias de Informação e Comunicação
As folhas de papéis gráficos e a semelhança de polígonos
INTRODUÇÃO AO ESTUDO DE PROBABILIDADE
1º e 2º ano XII Olimpíadas das Cores Emílio Miotti.
Programação p/ INTERNET - HTML Prof. João Ricardo Andrêo 30/5/ :10 1 Listas Numeradas As listas numeradas funcionam da mesma forma que as listas.
TV de Bolso TV de Bolso apresenta Tutorial: editando seu vídeo no Movie Maker.
Questionário (Básico) Autor: Skyup Informática. Atividade - Questionário O módulo permite criar uma série de questões, que deverão ser respondida pelos.
INTRODUÇÃO AO AMBIENTE DE TRABALHO WINDOWS VISTA
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Qualquer site é criado com a intenção de que os utilizadores anónimos nele naveguem. Para este tipo de utilizador não é necessário registo, mas para.
Lição (Editando Lição) Autor: Skyup Informática. Lição – Página Principal Assim que for concluída a criação do módulo e a adição de suas configurações.
Tarefa Autor: Skyup Informática. Atividade – Tarefa O módulo atividade tarefa tem como principio básico a interação professor-aluno. Os alunos podem apresentar.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

AreaPortal Visibility By Filami

Objectivos Por em prática técnicas de determinação de visibilidades usando AreaPortals; Desenvolver uma aplicação experimental com o intuito de mostrar uma técnica de determinação de visibilidades para cenários de interiores; Desenvolver Know How para futuras aplicações em jogos estilo Doom3 ou Unreal Tournement.

O que são AreaPortals? Uma técnica que permite separar um cenário em diferentes áreas interligadas por portais; Permite a determinação de visibilidades dos objectos contidos de forma rápida e eficiente; Muito eficaz para cenários de interiores, ricos em salas, corredores e correspondentes portas.

Como contruir um cenário com AreaPortals? Todos os cenários são constituidos por vários objectos que adicionam detalhe e ambiente ao cenário; Este cenário é inadequado à contrução das estruturas de dados, contem demasiados pequenos detalhes e será difícil identificar as áreas;

Como contruir um cenário com AreaPortals? (cont.) O cenário é então separado em 2 tipos de objectos: A Cage contendo apenas as paredes, tectos e chãos; Static Meshes com o resto dos detalhes; Na imagem ao lado, apenas a Cage é mostrada no mesmo ponto de vista da imagem anterior.

Como contruir um cenário com AreaPortals? (cont.) À Cage são então adicionados novos modelos que serão identificados como portais e que irão ligar as diferentes áreas.

DEMO

Construção Depois de lido o cenário do disco, este terá de ser preparado: Deverão ser calculadas as áeras que constituem o cenário; Deverão ser calculados os portais e respetivas ligações às áreas; Será, no entanto, necessário primeiro subdividir o cenário original em volumes convexos.

Binary Space Partition (BSP) O BSP permite a divisão da Cage em volumes convexos; Um BSP é uma árvore computacional binária cujo divisor são planos tridimensionais; Na imagem ao lado pode- se ver um exemplo de um pequeno cenário em 2D dividido numa BSP.

Binary Space Partition (Cont.) Como foi possivel constatar, o BSP tende a cortar alguns triangulos do cenário; Estes cortes devem ser minimizados e isso é possivel graças ao deselvolvimento de uma heuristica de sub-divisão que minimiza os cortes sem sacrificar balanceamento da árvore; As imagens ao lado demonstram os cortes efectuados pela aplicação.

Binary Space Partition (Cont.) Ao lado está então representada a àrvore computacional contruída a partir do actual cenário de teste; Os pontos azuis são os nós contendo os planos de corte; Os rectangulos são as folhas da árvore contendo o número de faces da Cage associados a essa mesma folha.

DEMO

Cálculo das Áreas Após dividir o cenário em volumes convexos, é então possível determinar onde ficam as áreas do mesmo cenário; As áreas são computadas através de raytracing; Entre cada par de folhas, são traçados um certo número de raios aleatórios; Se algum destes raios não for ocludido, as duas folhas têm de fazer parte da mesma área; Os portais não deixam passar os raios.

Cálculo das Áreas (Cont.)

Para alem de ocludirem os raios, os portais também os usam para determinar que áreas é que o portal interliga; Quanto um portal recebe um raio vindo de uma folha que já pertence a uma área, este portal guarda essa área e a mesma áera é notificada de que aquele portal está no seu interior; Os portais conhecem as suas áreas e as áreas conhecem os seus portais.

Cálculo das Áreas (Cont.) Os portais também são simplicados; A geometria destes são aproximadas a rectangulos que, no futuro, simplificarão o sistema de determinação de visibilidades.

DEMO

Aplicação Depois de computadas as estruturas de dados necessárias, é então possivel, a partir de um determinado ponto de vista, identificar quais as áreas e folhas da árvore que são potencialmente visiveis.

Como se usam os portais? É calculado um tronco (frustum) a partir de um ponto de vista; esse tronco é usado para determinar quais os objectos potencialmente visiveis; Os portais cortam os troncos de visão; desta forma, os troncos não são capazes de observar através das paredes.

DEMO

E os detalhes? Agora que já foram identificadas as áreas do cenário e que já é possivel determinar quais as áreas potencialmente visiveis para um determinado ponto de vista, como é que se volta a adicionar os detalhes do cenário original?

E os detalhes? (Cont.) Cada detalhe do cenário é representado por uma malha poligonal e cada malha poligonal contem um volume envolvente em forma de caixa (Bounding Box). Esta caixa pode ser inserida, através da ajuda da BSP, numa folha (e correspondente área); Depois de inserida na cena, a malha poligonal pode então usar a esturtura subjacente de AreaPortal para determinar se potencialmente visivel para um determinado ponto de vista.

DEMO

Onde são estas técnicas já usadas? Muitos jogos hoje em dia usam AreaPortals, ou técnicas semelhantes, para acelerar o desenho dos seus cenários de interiores; Um exemplo concreto é o Doom3, que usa técnicas muitos semelhantes às aqui apresentadas tanto para contrução do cenário como determinação de visibilidades; O Unreal Engine também é um motor muito eficaz para cenários interiores e, também ele usa algumas das técnicas apresentadas para visualização e outras.

Prey Prey é um jogo da autoria da 3DRealms que usa o mesmo motor de jogo desenvolvido para o Doom3; Usa o sistema de visualização usado no motor original; Estas imagens foram tiradas da demo jogavel do jogo e mostram os portais em funcionamento.

Prey (cont.)

Unreal Engine Numa artigo escrito por Lee Perry para a Game Developer Magazine, lead level designer da Epic Games, é possivel notar quer este engine usa também o conceito de Cage e detail meshes: Cage usado para BSP e criado usando CSG (Constructuve Solid Geometry) Adição de Static Meshes adicionando detalhes importantes ao cenário.

Unreal Engine (cont.) Os seguintes websites do UDN também explicam em mais algum detalhe as técnicas usadas neste motor para o desenvolvimento dos cenários:

Trabalho Futuro... Criar uma ferramenta de leitura e compilação de cenários para ser integrada numa workflow artisitica e editores de níveis; Desenvolver CSG (Contructive Solid Geometry) para a criação das Cages facilitando o trabalho dos artistas.

? ? ? ? ? ? ? ? ? ?