Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de...
Transcript of Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de...
![Page 1: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/1.jpg)
Métodos de Culling e Otimizações
![Page 2: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/2.jpg)
Culling
- Estrutura de Dados- Estágio do Culling- Gargalo de Culling
Polígonos não visíveis
Polígonos visíveis
aplicação
Polígonos não visíveis
Polígonos visíveis
Polígonos não visíveis
Polígonos visíveis
geometria rasterização
Polígonos não visíveis
Polígonos visíveis
Polígonos não visíveis
Polígonos visíveis
Polígonos visíveis
Polígonos não visíveis
Polígonos visíveis
Polígonos visíveis
Polígonos visíveis
![Page 3: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/3.jpg)
METALmorphosis METALmorphosis
Backface Culling
Estágio de Aplicação x Estágio de Geometria
![Page 4: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/4.jpg)
Culling baseado em estruturas hierárquicas
Campo de Visão Bounding Volumes
![Page 5: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/5.jpg)
BSPs (poligon Aligned)
![Page 6: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/6.jpg)
BSPs
1 2
3
4
5
67
8
9
1
2 5
4 3 7 6
9 8
![Page 7: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/7.jpg)
Desenha_BSP (O, no_Arvore_BSP)Se (no_Arvore_BSP é folha)
Plota_Poligono (no_Arvore_BSP)Senão
Testa de que lado O está em relação ao plano de no_arvore_BSPSe O estiver à direita do plano
Desenha_BSP (O, no_Arvore_BSP -> esquerda)Plota_Poligono (no_Arvore_BSP)Desenha_BSP (O, no_Arvore_BSP -> direita)
Se O estiver à esquerda do planoDesenha_BSP (O, no_Arvore_BSP -> direita)Plota_Poligono (no_Arvore_BSP)
Desenha_BSP (O, no_Arvore_BSP -> esquerda)
BSPs - Visualização
![Page 8: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/8.jpg)
12 5
4 3 7 6
9 8
BSPs - Visualização
![Page 9: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/9.jpg)
BSPs - exercício
1
2
3
4
5
67
8
910
11
1213
14
15
16
![Page 10: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/10.jpg)
Binary Space Partition
p1
p1
p2 p2
p3
p3
![Page 11: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/11.jpg)
Octree – Estrutura Hierárquica
![Page 12: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/12.jpg)
Octree – Estrutura Hierárquica
![Page 13: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/13.jpg)
Octree – critérios de parada
Via objetos inteiros
![Page 14: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/14.jpg)
Octree – critérios de parada
Via clip de objetos / polígonos
![Page 15: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/15.jpg)
Quadtree
![Page 16: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/16.jpg)
Quadtree
![Page 17: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/17.jpg)
Scene Graphs
![Page 18: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/18.jpg)
Scene Graphs
![Page 19: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/19.jpg)
Portais
A B C D
A 1 1 0 0
B 1 1 1 1
C 0 1 1 1
D 0 1 1 1
PVS
![Page 20: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/20.jpg)
Render (Celula* celula, Camera* camera, View* view){ Para todos os polígonos da celula onde se encontra o observador faça
Se o polígono não é portal entãoPlote o polígono clipado para a tela
SenãoCrie um novo view utilizando o portal e o view corrente
render (célula_vizinha, camera, novo_view)}
1) Qual a condição de parada da recursão? 2) Onde entram as PVS nesta história?
Portais - Visualização
![Page 21: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/21.jpg)
Portais - Visualização
![Page 22: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/22.jpg)
Portais - Visualização
![Page 23: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/23.jpg)
Portais - Visualização
![Page 24: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/24.jpg)
Portais - Visualização
![Page 25: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/25.jpg)
Impostores
![Page 26: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/26.jpg)
Impostores – medida de erro
telaresolução
FOVtela _
021ˆ BCBTransN
sempre que transN >tela deve-se considerar o refinamento do impostor
![Page 27: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/27.jpg)
Impostores – medida de erro
sempre que transP >tela deve-se considerar o refinamento do impostor
![Page 28: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/28.jpg)
d. Level of Details
Idéia fundamental: simplificar modelos de acordo com distância
![Page 29: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/29.jpg)
d. LOD Switching
Efeito de Popping
![Page 30: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/30.jpg)
d. LOD Switching
1) Geometrias Discretas de LOD- Permite indexação direta de triângulos pela DMA(Direct Memory Access)
![Page 31: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/31.jpg)
d. LOD Switching
2) Blend LODs- 2 etapas de rendering- Z Buffer desligado para o LOD original- Encarecimento do Pipeline
![Page 32: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/32.jpg)
d. LOD Switching
2) Alpha LODs- Objeto vai desaparecendo gradativamente- Alpha aumenta `a medida que camera se afasta
![Page 33: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/33.jpg)
d. LOD Switching
2) Continuous LODs (CLOD)- Redução Dinâmica- Problemas: desconhecimento dos modelos, recuperação, dificuldade de lidar com strips, problemas com texturas
- Algumas arestas são selecionadas- De acordo com critérios, os vértices podem ser animados de forma a colapsarem- Quando dois vértices estão muito próximos, ocorre um colapso e novos polígonos surgem
Muito útil para terrenos
![Page 34: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/34.jpg)
d. LOD Selection
Análise da Benefit Function
![Page 35: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/35.jpg)
d. LOD Selection
Range Based
![Page 36: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/36.jpg)
d. LOD Selection
Projected Area-Based
p: área projetadan: distância do observador ao plano de projeçãor: raio da bounding sphered: vetor observador normalizadoc: centro do bounding spherev: posição do observadord.(c – v): projeção do centro da esfera ao vetor de observador -> distância ao vetor de observação
![Page 37: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/37.jpg)
d. LOD Selection
Outros métodos:
-Importância de um objeto
- Focus based Selection
- Motion Based Selection
- Polygon Budget
![Page 38: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/38.jpg)
d. LOD em terrenos
Problema: ordem grande de magnitude: ex. 1m a 100000m
Tratamento Força Bruta
![Page 39: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/39.jpg)
d. LOD em terrenos
![Page 40: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/40.jpg)
d. LOD em terrenos
![Page 41: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/41.jpg)
d. LOD em terrenos
![Page 42: Métodos de Culling e Otimizações. Culling - Estrutura de Dados - Estágio do Culling - Gargalo de Culling Polígonos não visíveis Polígonos visíveis aplicação.](https://reader033.fdocuments.net/reader033/viewer/2022042601/552fc0f9497959413d8b6998/html5/thumbnails/42.jpg)
d. LOD em terrenos