Estruturas de Dados Espaciais

Slides:



Advertisements
Apresentações semelhantes
Traçado de raios em tempo real Paulo Ivson
Advertisements

Otimização de Raytracing
Solved Exercises 1. Finding the Peak. Let A= a1,…,an be a sequence of n numbers with the following property: there is p in {1,…,n} for which (i) the.
DCA-0114 Computação Gráfica
António Ramires Fernandes & Luís Paulo Santos – Adaptado por Alex F. V. Machado Computação Gráfica Pipeline Gráfico.
Modelos de ILuminação Alex F. V. Machado.
Clipping. b. Triangle Strips Idéia fundamental: minimizar volume de vértices e consequentemente, minimizar cálculos de iluminação, normais, clipping,
O que é Iluminação? Fenômeno físico resultante da interação de fótons com uma superfícieFenômeno físico resultante da interação de fótons com uma superfície.
Parte 1 – Conceitos de Real Time Rendering. a. Pipeline Gráfico.
Introdução à Computação Gráfica Colorização
Adaptive Shadow Maps Randima Fernando Sebastian Fernandez Kavita Bala
Iluminação e Sombreamento
24T12 – Sala 3F5 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Computação Gráfica Interativa - Gattass
Traçado de Raios e Modelos de Iluminação por Marcelo Gattass Departamento de Informática PUC-Rio.
Ismael Andrade Pimentel
Ray Tracing Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática.
04/07/07 RTDistribuído César Palomo 1 Fundamentos de CG Prof Marcelo Gattass 2007-s01 Trabalho 3 – Ray Tracing Distribuído César Palomo.
Descarte por visibilidade
Raytracing Trabalho de Introdução a Computação Gráfica Alunos: Fabio Issao Nakamura Jeronimo Silvério Venetillo.
A terceira dimensão.
A.4. Trabalhando com elementos de biblioteca STL – Standard Template Libraby Disponibiliza um conjunto de classes templates, provendo algoritmos eficientes.
Computação Gráfica: Aula9: Sistemas de Partículas
Computação Gráfica: Rendering e Rasterização
Ray Tracing.
PSI-2652: Processamento, Síntese e Análise de Imagens II Rodrigo Debczynski Fernandes – n°USP Prof. Marcio Lobo.
Visão Computacional Imagem: Reflexão
Visible-Surface Ray Tracing
BI-DIRECTIONAL PATH TRACING
An Improved Illumination Model for Shaded Display
Iluminação e FotoRealismo: BRDF e Equação de Rendering
And now, the end is here E agora o fim está próximo, And so I face the final curtain E então eu encaro a última cortina. My friend, I'll say it clear.
Raytracing acelerado: Bounding Interval Hierarchy
Professor: Diones Charles
Ray Tracing Patrícia Cordeiro Pereira Pampanelli
Ray Tracing Felipe Baldino Moreira Fundamentos de Computação Gráfica
Estimação da direção de múltiplas fontes de luz Baseado no artigo Estimation of Illuminant Direction and Intensity of Multiple Light Sources, de W. Zhou.
Visão Computacional Formação da Imagem
Iluminação e Sombreamento
VOTED THE BEST OF THIS YEAR (votado como o melhor de 2007)
Traçado de Raios e Modelos de Iluminação por Marcelo Gattass Departamento de Informática PUC-Rio.
Thiago Aurélio Prof. Dr. Paulo Roberto Gomes Luzzardi
Ray Tracing Anderson Tavares Bacharelado em Ciência da Computação
Computação Gráfica – Visibilidade
Hardware assisted rendering of csg models
Ray Tracing Daniel de Vasconcelos Campos. Tópicos Problema proposto Análise do problema Algumas Técnicas Pesquisadas Algoritmo Implementado.
Renderização em Tempo Real
Radiosidade Rafael Decker Prof. Dr. Paulo Roberto Gomes Luzzardi.
MY WAY Frank Sinatra MARILYNMONROEMARILYNMONROE Ligue o som.
AdsRcatyb It's sad to think we're not gonna make it É triste pensar que não vamos conseguir It's sad to think we're not gonna make it É triste pensar.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Ray Tracing Estocástico e Distribuido Aruquia Barbosa.
Biologia Molecular e Celular de Nematóides BMP fone: segundas e sextas – 9:00hs
Introdução à Multimídia
Objetos 3D. Modelos de Sólidos Construtivos Fronteiras Decomposição Conjunto de pontos no R 3.
Shadow Mapping.
Heaven Bryan Adams Oh - thinkin about all our younger years Pensando nos nossos tempos de juventude There was only you and me Só existia eu e você.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Prof. Marcelo Gattass Gustavo Lopes Mourad.
Prof. Edison Oliveira de Jesus
Estratégias Alternativas de Giroscópio
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.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
PEE 5789 Conceitos Avançados de Síntese de Imagens AULA 02 Modelos Locais de Iluminação Marcio.
Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo.
Rendering Por Adinan Aguiar.
Unity3D: Partículas. Unity3D Objetos especiais para efeitos Objetos resumidos = propriedades diferentes Renderização diferente Centenas / milhares de.
Adriano Melo IDE Eclipse + Subclipse Link para download: \\cin01\scratch_astm$\eclipse.zip
Introdução à Computação Gráfica Ray Tracing Claudio Esperança Paulo Roma Cavalcanti.
Abril 2016 Gabriel Mormilho Faculdade de Economia, Administração e Contabilidade da Universidade de São Paulo Departamento de Administração EAD5853 Análise.
Transcrição da apresentação:

Estruturas de Dados Espaciais MC-930 MO-603

Ray-casting Fontes de luz enviam fótons em todas as direções Modelar fótons como partículas que saem dos objetos para a cena Cada fóton tem comprimento de onda e energia (cor e intensidade) Quando fótons batem num objeto, alguma energia é absorvida, alguma é refletida e alguma é transmitida (refratada)

Ray Casting Se modelarmos as “batidas e reflexões” dos raios nos objetos, podemos gerar imagens para cada raio Técnica: seguir cada fóton da fonte de luz até que: toda sua energia seja absorvida; ele saia do universo conhecido; ele bata na imagem (plano de projeção) e sua contribuição é adicionada ao píxel apropriado

Forward Ray-tracing Raios são caminhos percorridos pelos fótons (ray-tracing) Forward Ray-tracing segue o fóton na mesma direção em que a luz viaja (da fonte de luz) Grande problema: Apenas uma pequena fração de raios chegam na imagem (jogar fora maioria) Cenário ideal: Gostaria de saber magicamente quais raios contribuem eventualmente para a imagem e traçar apenas esses

Backward Ray-tracing Solução é iniciar da imagem e traçar raio para trás (ao contrário) Backward Ray-tracing: Começa da imagem e segue raio até que ele encontre a fonte de luz ou saia do universo Algumas pessoas acreditavam que a visão humana funcionava desta maneira

Idéias Básicas Cada pixel recebe luz de apenas uma direção (definida pelo ponto focal/observador e pelo ponto no plano imagem) Cada fóton contribuindo para a cor desse pixel deve vir dessa direção (observador-centro de cada pixel) Siga o raio saindo da imagem Se encontrou fonte de luz – done! Se encontrou nada – done! Se bateu numa superfície – veja de onde vem a iluminação naquela superfície e calcule a contribuição (ou pode ser recursivo) Ao final, resultado igual ao forward ray-tracing, mas calcula apenas raios que contribuem para a imagem

Backward Ray-tracing

Ray casting This version of ray tracing is often called ray casting: loop y loop x shoot ray from eye point through pixel (x,y) into scene intersect with all surfaces, find first one the ray hits shade that point to compute pixel (x,y)’s color (perhaps simulating shadows) A ray is p+td: p is ray origin, d the direction t=0 at origin of ray, t>0 in positive direction of ray typically assume ||d||=1 p and d are typically computed in world space This is easily generalized to give recursive ray tracing...

Ray-tracing recursivo Quatro tipos de raios: Eye rays: orgina-se no olho (ponto focal) Shadow rays: da superfície apontando na direção da fonte de luz Reflection rays: do ponto na superfície apontando na direção do raio refletido Transmission rays: do ponto na superfície na direção do raio refratado Trace todos esses recursivamente

Ray-tracing recursivo

Otimizando Ray-tracing Traçar poucos raios Mais relevante para ray-tracing recursivo Otimizar cada teste de interseção otimizar código raio-triângulo, raio-esfera compilar com otimizador Melhor estratégia: fazer menos testes de interseção

Comparativo: deteção de obstáculos Progredir envolve não bater nos obstáculos da cena Complexidade: a cada passo da câmera, fazer um teste de interseção com todos os objetos da cena Um objeto representado com 10.000 triângulos = 10.000 testes de interseção raio-plano.

Estruturas de Dados Espaciais Estruturas de dados para armazenar informação geométrica de forma eficiente Detecção de colisão (vai bater?) Busca de localizações (correio mais próximo?) Simulações químicas Renderização (ray-casting, ray-tracing) Principais: bounding-volume hierarquico, grids, Octrees, BSP-trees

Bounding Volumes Noção simples: embrulhe coisas complexas com uma envoltória mais simples Exemplo: caixa envolvendo objeto complexo Raio não bate no objeto complexo sem bater na caixa Adiciona algum cálculo, mas compensa Mais comuns: caixa e esfera

Hierarquical Bounding Volume Estrutura em forma de árvore Lista de bounding-volumes (esferas, caixas etc), onde cada BV contém uma lista de sub-volumes Exemplo, corpo humano, caixa principal com listas Cabeça com sub-listas Nariz, Orelhas, Face, Cabelo Corpo com sub-listas: Braço direito com sublistas Braço, Antebraço, mão, 5 dedos Braço esquerdo com sublistas Braço, Antebraço, mão, 5 dedos Perna direita com sublistas Coxa, Canela, Pé, 5 dedos Perna esquerda com sublistas Coxa, Canela, Pé, 5 dedos

Teste de interseção

Grids Array 3-D de células (voxels) particiona o espaço Cada célula aponta para uma lista de todas as superfícies que intersectam aquela célula

Teste de interseção

Mais sobre Grids Grids are a poor choice when the world is nonhomogeneous (clumpy) e.g. a teapot in a stadium: many polygons clustered in a small space How many cells to use? too few Þ many objects per cell Þ slow too many Þ many empty cells to step through Þ slow Grids work well when you can arrange that each cell lists a few (ten, say) objects Better strategy for some scenes: nested grids

Octrees

K-d Trees and BSP Trees

Building a BSP Tree d 1 2 c a 3 1 2 b a b c d 3 viewpoint the subdivision of space it implies a BSP tree using 2 as root viewpoint

Building the Tree 2 Using line 3 for the root requires a split 3 1 2a viewpoint

Which Structure is Best for Ray Tracing?

Fim Estruturas de Dados Espaciais

Building a Good Tree - the tricky part

Uses for Binary Space Partitioning (BSP) Trees

Painter’s Algorithm with BSP trees

Drawing a BSP Tree front_to_back(tree, viewpt) { if (tree == null) return; if (positive_side_of(root(tree), viewpt)) { front_to_back(positive_branch(tree, viewpt); display_polygon(root(tree)); front_to_back(negative_branch(tree, viewpt); } else { …draw negative branch first…}

Drawing Back to Front Hidden surface removal 3 1 2a 2a 2b 3 2b 1 viewpoint

Clipping BSP Trees

Clipping BSP Trees

Clipping Using Spatial Data Structures