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

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

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 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 tempo real  Paulo Ivson  psantos at tecgraf.puc-rio.br

2 Estruturas de Aceleração para Visualização Paulo Ivson psantos at tecgraf.puc-rio.br 08-10-08

3 Sumário  Motivação  Volumes Envolventes  Estruturas de Aceleração

4 Motivação Por que técnicas de aceleração?

5 Motivação Isosuperfície de Richtmyer-Meshkov: 100 milhões de triângulos Estátua de São Matheus escaneada a laser: 372 milhões de triângulos

6 Motivação Boeing 777, modelo CAD: 350 milhões de triângulos P-43: 30 milhões de triângulos P-40: 13 milhões de triângulos

7 Motivação  Desafios  Aplicação interativa (i.e. >10fps)  CPU  Ordem de complexidade de algoritmos  GPU  Quantidade de memória  Capacidade de processamento  Taxa de transferência

8 Motivação  Técnicas de Aceleração  Reduzir complexidade de algoritmos  Reduzir volume de dados a ser processado pela placa gráfica  Sem prejudicar a qualidade final da imagem

9 Técnicas mais comuns  Descarte por visibilidade  Volume de visão  Oclusão  Substituição de geometria  Impostores  Primitivas paramétricas  Voxels  Nível de detalhe (LOD)  Discreto  Contínuo  Adaptativo

10 Necessidades básicas  Volumes envolventes  Simplificar operações sobre geometrias  Estruturas de aceleração  Índice espacial  Agrupar geometrias próximas

11 Volumes Envolventes Tratar geometrias de forma simplificada

12 Volumes Envolventes  Melhor ajuste  Maior complexidade geométrica  Maior tempo de construção

13 Volumes Envolventes  Mais comuns  Esfera  Caixa alinhada com os eixos (AABB)  Caixa orientada (OBB)

14 AABB  Construção O(n)  Para cada vértice  Armazenar mín. e máx. para coordenadas x, y e z  Ajuste nem sempre bom

15 Esfera  Construção O(n)  Obter AABB  Centro ← centro da AABB  Raio ← distância entre centro e vértice da caixa  Ajuste geralmente ruim  Rápida de construir  Algoritmos eficientes baseados em distância

16 OBB  Representação  Centro  Base ortonormal  Metade das 3 extensões Bom ajuste ≡ Boa orientação

17 OBB Clássica  Média  M = 1/n * SUM( all vertices )  Matriz de covariância  Análise estatística da distribuição dos vértices em torno da média  C[i][j] = 1/n * SUM( vm[i] * vm[j] )  m = média  vm = v – m  Autovetores ortonormais → base da OBB  Complexidade O(n)

18 OBB Clássica - Problemas  Covariância nem sempre produz bom ajuste  Vértices internos podem prejudicar orientação

19 Estruturas de Aceleração Finalmente!

20 Estruturas de Aceleração  Objetivos  Agrupar geometrias para simplificar operações e reduzir complexidade de algoritmos  Aplicações  Determinar visibilidade de várias geometrias (descarte por visibilidade)  Dado ponto no espaco saber geometrias próximas (seleção, traçado de raios)  Dada geometria, saber outras próximas (detecção de colisão, vizinhos próximos)

21 Estruturas de Aceleração  Mais comuns  Grade regular  Octree  BSP-Tree  Kd-Tree  OBB-Tree

22 Grade Regular  Subdivisão espacial  Regular  Não-adaptativa  Células de tamanho uniforme  Largura, altura e profundidade  Não precisam ser iguais entre si  São iguais para todas as células  Aplicações principais  Busca por vizinhos próximos  Traçado de raios

23 Construção 1. Encontrar AABB da cena 2. Determinar número de células 3. Para cada geometria  Determinar quais células ela ocupa  Complexidade O(n)

24 Determinar células ocupadas  Dado ponto no espaço, qual célula ele ocupa? 1. Obter AABB da geometria 2. Determinar cellStart, cellEnd 3. Calcular interseção exata de cada célula com a geometria

25 Octree  Estritamente 8-ária  Todo nó possui zero ou oito filhos  Subdivisão regular  Alinhada com eixos  Na mediana espacial  Desvantagens  Regularidade  Orientação fixa dos planos  Aplicações principais  Detecção de colisão  Descarte por visibilidade

26 Construção 1. Testar critério de parada Número mínimo de geometrias Profundidade máxima da árvore 2. Classificar geometrias em cada octante Comparar com centro do nó Usar volumes envolventes Duplicar referências 3. Chamadas recursivas para cada nó filho Árvore incompleta: não guarda filhos vazios  Complexidade O(n lg n)

27 kd-Tree  Estritamente binária  Um plano de corte por nó  Alinhado com um dos eixos coordenados  Posicionado arbitrariamente  Distribuição irregular de geometrias  Adapta-se melhor do que Octree  Aplicações principais  Busca por vizinhos próximos  Traçado de raios

28 Peculiaridades  Armazenando pontos

29 Construção 1. Testar critério de parada 2. Encontrar “melhor” plano de corte  Eixo: alternado, maior extensão da caixa do nó  Posição: mediana espacial, heurística 3. Classificar geometrias em cada lado do plano 4. Chamadas recursivas para cada nó filho  Complexidade O(n lg n)  Depende da heurística para encontrar plano de corte

30 OBB-Tree  Estritamente binária  Um plano de corte por nó  Posicionado na média dos centros dos objetos  Ao longo do maior eixo da OBB  Aplicação principal  Detecção de colisão

31 Construção 1. Testar critério de parada 2. Calcular plano de corte  Eixo: maior extensão da caixa do nó  Posição: média dos centros dos objetos 3. Classificar geometrias em cada lado do plano 4. Chamadas recursivas para cada nó filho  Complexidade O(n lg n)  Depende do algoritmo de construção da OBB

32 BSP-Tree  Estritamente binária  Um plano de corte por nó  Orientação arbitrária  Posição arbitrária  Flexibilidade na construção  Escolha de um “bom” plano de corte  Aplicação principal  Remover superfícies ocultas (HSV)

33 Construção 1. Testar critério de parada 2. Calcular plano de corte  Eleger um polígono, heurística 3. Classificar geometrias em cada lado do plano Partir geometrias que atravessem o plano de corte 4. Chamadas recursivas para cada nó filho  Complexidade O(n lg n)

34 Próximas aulas  Como usar estas estruturas para melhorar desempenho de visualização  Descarte contra volume de visão  Descarte por oclusão  Grafo de cena: OpenSceneGraph  Traçado de raios em tempo real


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google