Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.

Slides:



Advertisements
Apresentações semelhantes
Continuidade: sem interrupções
Advertisements

Introdução à Programação: uma Abordagem Funcional Programação I Engenharia de Computação Prof.ª Claudia Boeres 2009/1.
Traçado de raios em tempo real Paulo Ivson
Distâncias.
Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro Conteúdo: - Transformações geométricas no plano.
Cálculo 3 9. Integrais Duplas Volumes Amintas Paiva Afonso
ANÁLISES DE REGRESSÃO.
Métodos para representação de estruturas hierárquicas
Propriedades Físicas das Rochas
 módulo do campo eléctrico em toda a parte da superfície esférica
Projeções e OpenGL Alex F. V. Machado.
INTRODUÇÃO À FOTOGRAFIA
Programação Linear Método Simplex
2002 LCG/UFRJ. All rights reserved. 1 Arranjos Claudio Esperança Paulo Roma.
Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Recorte
Introdução à Computação Gráfica Geometria
Geometria Computacional Interseção de Segmentos
Geometria Computacional Fecho Convexo
Geometria Computacional Primitivas Geométricas
Claudio Esperança Paulo Roma
Introdução à Computação Gráfica Colorização
Iluminação e Sombreamento
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Ismael Andrade Pimentel
Computação Gráfica Interativa - Gattass
NÃO DETERMINISMO Marcus Eduardo Cabral Seabra
A terceira dimensão.
PROJEÇÕES CARTOGRÁFICAS
Computação Gráfica: Aula5: Rendering e Rasterização
Computação Gráfica: Aula5: Rendering e Rasterização
Computação Gráfica: Rendering e Rasterização
Visible-Surface Ray Tracing
INF 1771 – Inteligência Artificial
Geometria Espacial de posição
Algoritmos em Grafos Conceitos principais Prof. André Renato
Sistemas Multimídia e Interface Homem-Máquina
Introdução à Computação Gráfica Projeções
PROJEÇÕES CARTOGRÁFICAS
Visualização 3D: Projeções
Computação Gráfica – Visibilidade
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO COMPUTAÇÃO GRÁFICA
ÂNGULOS Professora autora: Maria Helena Augusto Colégio Humboldt
Renderização em Tempo Real
PROJEÇÕES CARTOGRÁFICAS
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
ÓPTICA.
Lugar Geométrico das Raízes
Transformada de Hough Processamento global para a detecção de linhas retas numa imagem Nenhum conhecimento é necessário a respeito da posição das linhas.
INF 1366 – Computação Gráfica Interativa Rasterização
Introdução à Computação Gráfica
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Prof. Edison Oliveira de Jesus
Computação Gráfica - Recorte
Geometria Computacional Fecho Convexo
Figura 5 - O plano mostrando detalhes da projeção em perspectiva.
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.
Estruturas de dados Tabela Vectorial Matricial Rede triangular irregular.
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 5.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
PROJEÇÕES CARTOGRÁFICAS
Computação Gráfica: Aula6: Iluminação
Prof. Edison Oliveira de Jesus
Computação Gráfica - Amostragem Profa. Mercedes Gonzales Márquez.
CIÊNCIA E ENG MATERIAIS
WAYPOINTS E PATHFINDING Prof. Rafael Oliz. Introdução  Locomover-se no espaço do jogo é uma ação fundamental dos NPCs em qualquer gênero de jogo.  A.
Fases da Lua Posição dos astros Situação da Lua Eclipse Maré Lua nova (Novilúnio) Sol Lua Terra alinhados conjunção.
Introdução à Computação Gráfica Rasterização
Professor Marcos Eric Barbosa Brito
Geometria Espacial.
Transcrição da apresentação:

Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger

Introdução Algorítmos de precisão de imagem e precisão de objetos requer um grande número de operações com enorme custo computacional. Essas operações consistem em: –determinar a projeção de um, ou mais objetos –Se eles se interceptam –Onde eles se interceptam –Se é necessário computar o objeto que está mais próximo do visualizador –Se ele é visível ou não

Para minimizar o tempo que se leva para criar uma imagem, precisamos organizar algorítmos de Interface-Visíveis, e estão as operações custosas serão executadas com maior eficiência e na menor freqüencia possível. A seguir serão demonstradas algumas técnicas para isso. Introdução (cont)

Coerência É o grau em que partes de um ambiente ou suas projeções exibem similaridades. Ambientes costumam ter objetos cujas caraterísticas variam de forma suave de uma parte à outra. Usamos coerência quando utilizamos cálculos feitos para uma parte de um ambiente, em outra parte próxima, sem mudanças ou com mudanças incrementais.

Coerência de objetos: Se dois objetos estão completamente separados não há necessidades de comparações entre suas faces e vértices. Coerência de faces: Propriedades de uma superfície variam levemente em uma face. Coerência de vértices: Um vértice só muda de visibilidade quando cruza atrás de outro vértice visível ou penetra uma face visível. Coerência de vértice implicado: Se uma face planar penetra outra, sua linha de intersecção pode ser determinada por dois pontos de intersecção. Coerência (cont)

Coerência de scanline: Objetos mudam pouco de um scanline para o próximo. Coerência de área: Um grupo de pixels adjacentes muitas vezes é coberto por uma mesma face. Coerência de profundidade: Partes adjacentes de uma superfícies costumam ser próximas em profundade enquanto partes distantes tem profundidades separadas. Tendo a profundidade dos outros pontos da superfície pode ser determinado através de uma diferença. Coerência de quadro: Imagens de um mesmo ambiente em dois quadros sucessivos costumam ser muito parecidas. Coerência (cont)

A transformação perspectiva A determinação de superfície visível deve ser feita em 3D, visto que, em 2D informações de profundidade são perdidas. Dados dois pontos P1 e P2, eles estão na mesma linha de projeção? Se sim, calcular qual ponto está mais próximo. Para descobrirmos se dois pontos estão na mesma linha de projeção, após aplicarmos a normalização: a)Se é projeção paralela: x1 = x2 e y1 = y2 b)Se e projeção perspectiva: x1 / z1 = x2 / z2 e y1 / z1 = y2 / z2

Para evitar divisões podemos utilizar uma transformação perspectiva no objeto, assim, este passará a ter projeção paralela igual à projeção perspectiva do mesmo objeto sem a transformação. Esta transformação deforma o objeto e move o centro de projeção para o infinito no eixo positivo z. Como esta projeção preserva a profundidade relativa, linhas retas e planos aplicamos divisão somente uma vez para cada ponto, ao invés de utilizar a cada comparação entre dois pontos. A transformação perspectiva (cont)

Extensões podem ser utilizadas para evitar comparações desnecessárias entre objetos e suas projeções. Caso as extensões de dois objetos não se sobreponham, suas projeções não se sobrepõem. Caso as extensões se sobreponham, pode-se ter dois casos: a)As projeções se sobrepõem b)As projeções não se sobrepõem Extensões podem ser utilizados em somente um eixo, para verificar se existe sobreposição neste eixo ou, podem envolver objetos, quando então são conhecidos como Volumes limitantes. Extensões e Volumes limitantes

A comparação com os limites mínimo e máximo em uma ou mais dimensões chama-se minmax. A parte mais complicada de comparações é encontrar as extensões. Para um polígonos podemos pegar lista de coordenadas de pontos e gravar os menores e maiores valores. Extensões são também utilizadas para determinar se uma linha de projeção intercepta um determinado objeto. Volumes limitantes podem ser de qualquer forma geométrica primitiva, usa-se uma fórmula para determinar o melhor volume limitante. Extensões e Volumes limitantes (cont)

Custo total do teste de interseção de um objeto: T = bB + oO onde, b: número de vezes que o volume limitante é testado por interseções B: custo de calcular um teste de interseção em um volume limitante o: número de vezes que o objeto é testado por interseções O: custo de calcular um teste de interseção no objeto Extensões e Volumes limitantes (cont)

Se um objeto é aproximado por um poliedro cujas faces cercam completamente o objeto e, todos polígonos tem suas normais apontando para fora do poliedro. Se nenhum interior do poliedro está exposto então os polígonos cujas normais apontam na direção oposta ao observador podem ser removidos. Na prática são os polígonos cujo produto escalar da normal com o centro de projeção é um valor positivo. Uma linha de projeção atravessa tanto um face frontal quanto um face traseira assim, com a utilização de remoção de face traseira temos que em média diminui- se metado dos polígonos a calcular. Remoção de face traseira

Considerando que o algoritmo é linear no número de faces, é possível melhorar a performance através de um preprocessamento utilizando tabelas ou grafos, de acordo com o algoritmo escolhido. Remoção de face traseira (cont)

Particionamento Espacial Permite quebrar um grande problema em problemas menores Por exemplo, pode-se dividir o plano de projeção em um gride regular 2D e determinar em quais espaços do grid cada projeção do objeto reside. Assim, a comparação de sobreposições precisam ser feitas apenas com projeções que residem na mesma caixa do grid.

Particionamento Espacial (cont) Particionamento Adaptado pode ser mais eficiente para objetos distribuídos diferentemente no espaço. No particionamento adaptado, o tamanho de cada partição varia.

Hierarquia Pode ser usado para restringir o número de comparações entre objetos Um objeto em um nível hierárquico pode servir de alcance para seus filhos se eles estiverem inteiramente contidos no objeto pai.

Hierarquia (cont) Se dois objetos na hierarquia não se interceptarem, o objeto do nível mais baixo não precisa sofrer testes de inteseção com esses outros dois. Da mesma forma, um projetor só deve ser testado contra os seus filhos se estiver baseado em penetrar outro na hierarquia. Este uso da hierarquia é uma instância importate da coerência de objetos.

Hierarquia (cont)

Perguntas?

Bibliografia Computer Graphics: Principles and Practice. 2nd ed. in C. James D. Foley, [et al.]. Addison- Wesley