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

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

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

Apresentações semelhantes


Apresentação em tema: "Otimização de Raytracing Ian Medeiros Joner Duarte Vanessa Leite."— Transcrição da apresentação:

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

2 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.

3 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:

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

5 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)

6 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.

7 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.

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

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

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

11 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.

12 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)

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

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

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

16 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

17 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.

18 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 Bolas Bunny Cavalo Esfera Esfera_planos Esferas Espelho Manual Pessoa Pool Room Wall

19 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


Carregar ppt "Otimização de Raytracing Ian Medeiros Joner Duarte Vanessa Leite."

Apresentações semelhantes


Anúncios Google