Otimização de Raytracing

Slides:



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

Métodos de Culling e Otimizações
Conceitos de Programação Paralela
Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999:
OpenMP.
Estruturas de Dados Espaciais
Tecnologia Hipermídia e Multimídia
UNIVERSIDADE LUTERANA DO BRASIL COMUNIDADE EVANGÉLICA LUTERANA SÃO PAULO Reconhecida pela Portaria Ministerial nº 681 de 07/12/89 – DOU de 11/12/89 Campus.
ARQUITETURAS RISC E CISC
Ray Tracer Distribuído
18/07/10 Chrystiano Araújo, Marcelo Arruda PUC-Rio - Pontifcia Universidade Catolica do Rio de Janeiro Departamento de Informatica RayTracing.
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Meta - heurísticas Prof. Aurora
OpenMP MO801/MC972. Visão geral Biblioteca de mais alto nível para programação paralela Prevê memória compartilhada Requer suporte do compilador Exige.
Clipping. b. Triangle Strips Idéia fundamental: minimizar volume de vértices e consequentemente, minimizar cálculos de iluminação, normais, clipping,
Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Recorte
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.
Geometria Computacional Interseção de Segmentos
Introdução à Computação Gráfica Colorização
Adaptive Shadow Maps Randima Fernando Sebastian Fernandez Kavita Bala
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Reconhecimento de Padrões Segmentação
HeapSort Filas de Prioridade – Heap
Iana Alexandra Alves Rufino
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.
Raytracing Trabalho de Introdução a Computação Gráfica Alunos: Fabio Issao Nakamura Jeronimo Silvério Venetillo.
INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.
Traçado de Raios de Cenas Dinâmicas na GPU
Simulação Física de Corpos Rígidos com Detecção e Reação à Colisões
Crescimento de Funções
Ray Tracing.
PSI-2652: Processamento, Síntese e Análise de Imagens II Rodrigo Debczynski Fernandes – n°USP Prof. Marcio Lobo.
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Visible-Surface Ray Tracing
ARRANJO FÍSICO Definição : é a disposição de máquinas, equipamentos e serviços de suporte em uma determinada área, com a finalidade de minimizar o volume.
Rapid Hierarquichal Radiosity Algorithm Pat Hanrahan David Salzman Larry Aupperle Siggraph ´91 Las Vegas.
BI-DIRECTIONAL PATH TRACING
Iluminação e FotoRealismo: Radiosidade
Iluminação e FotoRealismo
Iluminação e Fotorealismo Computação Gráfica Ray Tracing
Raytracing acelerado: Bounding Interval Hierarchy
Insertion Sort.
AreaPortal Visibility By Filami. Objectivos Por em prática técnicas de determinação de visibilidades usando AreaPortals; Desenvolver uma aplicação experimental.
Aprendizado de Máquina
Prof. André Leon S. Gradvohl, Dr.
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Redundant Array of Independent Drives Raid
Fundamentos da Computação Gráfica Thiago Marques Toledo
Sistemas Distribuídos
Ray Tracing Felipe Baldino Moreira Fundamentos de Computação Gráfica
Computação Gráfica – Visibilidade
Hardware assisted rendering of csg models
Sistemas de Informações Geográficas
Ray Tracing Daniel de Vasconcelos Campos. Tópicos Problema proposto Análise do problema Algumas Técnicas Pesquisadas Algoritmo Implementado.
CMP 167– Programação com Objetos Distribuídos Prof. Cláudio Geyer
Back-End Compilação aula-11-back-end.pdf.
Visualização 3D de Imagens Médicas
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Prof. Marcelo Gattass Gustavo Lopes Mourad.
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.
Ray Tracing Luís César Ray Tracing Turner Whitted,1979/80
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo.
Ordenação Professor Paulo Gomide 27 de outubro de 2015.
Módulo: Qualidade e organização da produção
Introdução à Computação Gráfica Ray Tracing Claudio Esperança Paulo Roma Cavalcanti.
Fundamentos da Computação Gráfica
Transcrição da apresentação:

Otimização de Raytracing Ian Medeiros Joner Duarte Vanessa Leite

Raytracing O termo raytracing é usado livremente para designar uma infinidade de diferentes abordagens ao problema de rendering, desde que baseados no princípio de interseção de uma semireta (raio) com primitivas geométricas.

Raytracing: Complexidade O algoritmo usado para determinar a visibilidade ao longo de um raio requer que cada raio seja interseptado (testado) com TODAS as primitivas geométricas da cena O tempo para cada raio é, portanto, linear com o número de primitivas N:

Raytracing: Complexidade No entanto, cada raio não passa próximo da maioria das primitivas

Raytracing: otimizações iniciais Melhorias no código: Utilização de #define Mudança de código economizando uma chamada isInShadow Utilização de Paralelismo: OpenMP omp_set_num_threads(omp_get_num_procs()); #pragma omp parallel default(none) private(y,x, pixel, ray) shared(image, camera, scene, eye, width, yc, height) (...) #pragma omp for schedule(guided)

Raytracing: Estruturas de Aceleração O objetivo das estruturas de aceleração é diminuir o número de interseções por raio Isso pode ser feito utilizando-se dois critérios: Permitindo a rejeição rápida e simultânea de grupos de primitivas Se possível, ordenando o processo de procura (intersecções), tal que as primitivas mais próximas da origem do raio sejam processadas primeiro, evitando processar as mais distantes se for encontrada uma interseção.

Raytracing: Estruturas de Aceleração Duas abordagens: Subdivisão do espaço: Grades regulares, Octrees, Kd-Ttrees – permitem aplicar os critérios 1 e 2 Subdivisão dos objetos: Bound Volume Hierarchy (BVH) – permite aplicar o critério 1.

Raytracing: Grade regular O espaço 3D é subdividido montando-se uma grade regular que o subdivide em espaços com mesma dimensão

Raytracing: Grade regular Vantagens: Construção muito rápida Desvantagens: Travessia pouco eficiente devido à má distribuição das primitivas pelos espaços

Raytracing: Octree O espaço é hierarquicamente e adaptativamente subdividido em 8 espaços Compromisso entre construção e travessia

Raytracing: KD-Tree O espaço é subdividido em dois por um plano Cada um dos subespaços resultantes é depois subdividido da mesma forma até atingir um critério de parada Travessia mais eficiente se um bom critério de subdivisão for utilizado (ex: SAH) Quanto mais sofisticado o critério de subdivisão maior é o tempo necessário para a construção da árvore.

Raytracing: KD-Tree (SAH) SAH (Surface Area Heuristic) é uma heurística que leva em consideração a probabilidade de um determinado objeto ser interceptado ou não por um raio. CustoDivisao = CustoTravessia + P[pedaçoEsquerda |Cena] C(pedaçoEsquerda) + P[pedaçoDireita| Cena] C(pedaçoDireita)

Raytracing: KD-Tree X tmin Z B X Y Z A B C D Y C D A tmax

Raytracing: Bounding Volume Hierarchy Os objetos são agrupados dentro de bounding volumes. Cada um desses grupos é depois subdividido hierarquicamente por outros volumes

Raytracing: Bounding Volume Hierarchy Não ordena o espaço Construção semelhante à KD-Tree Travessia ligeiramente inferior à KD-Tree

Raytracing: Complexidade 2 A complexidade do raytracing com a utilização de estruturas de aceleração é logaritmica com relação ao número de estruturas na cena: O tempo de construção depende do critério de subdivisão do espaço/agrupamento de primitivas

Raytracing: Complexidade 2 Critérios sofisticados (como o SAH para KD- Tree) resultam em travessias muito eficientes, entretanto exigem um tempo de construção muito elevado.

Raytracing: Comparação de Resultados Nome da cena/arquivo Tempo de execução algoritmo inicial (s) Tempo de execução c/ otimizações (s) 5balls 2.453 0.478 Bolas 4.547 0.285 Bunny 974.825 3.601 Cavalo 31.718 0.277 Esfera 0.763 0.074 Esfera_planos 0.964 0.094 Esferas 1.012 0.097 Espelho 0.977 0.166 Manual 0.888 0.082 Pessoa 2.013 0.143 Pool 9.275 0.499 Room 8.625 0.686 Wall 2.147 0.291

Referências Highly Parallel Fast KD-tree Construction for Interactive Ray Tracing of Dynamic Scenes - EUROGRAPHICS 2007 / D. Cohen-Or and P. Slavík Interactive k-D Tree GPU Raytracing (Daniel Reiter Horn, Jeremy Sugerman, Mike Houston, Pat Hanrahan – Stanford University) Construção eficiente de kd-trees para primitivas triangulares (Alessandro Ribeiro da Silva, Wallace Santos Lages - UFMG) Ray Tracing Interactivo: Estrutura de Aceleração - Ademar Gonçalves - Universidade do Minho, Braga, 2009