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

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

Dissertação de Mestrado

Apresentações semelhantes


Apresentação em tema: "Dissertação de Mestrado"— Transcrição da apresentação:

1 Dissertação de Mestrado
Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco Barroso – Orientador: Professor Waldemar Celes Departamento de Informática - PUC-Rio Abril de 2007

2 Programa Introdução Chamuscamento Filtragem
Técnicas de bias Alinhamento de amostras Filtragem Mapas de variância Filtro PCF Reparametrização perspectiva Caso ótimo Caso geral Particionamento Por faces Em profundidade Resultado final e conclusão Não alteram a amostragem da cena Alteram a amostragem da cena

3 Importância das Sombras
Esclarecimento das relações espaciais entre os objetos Realismo Beleza estética Jogos: Atmosfera e informações adicionais Visualização científica: Facilidade de compreensão do modelo

4 Exemplo sem sombras

5 Exemplo com sombras

6

7

8 Geração de Sombras Problema de iluminação global
Rasterização não captura relações espaciais Requisitos básicos Sombras dinâmicas Superfícies arbitrárias Tempo Real Algoritmos Volumes de sombras [Crow77] Mapeamento de sombras [Williams78]

9 Mapeamento de Sombras Renderizar a cena vista pela fonte de luz
Armazenar z-buffer em uma textura (mapa de sombras) Renderizar a cena vista pela câmera Transformar pixels para o espaço da luz (s,t,p,q) zmapa = acesso em s/q e t/q zpixel = p/q Fragmento iluminado se zpixel <= zmapa

10 Mapeamento de Sombras Vantagens Algoritmo simples
Adequado a qualquer primitiva Não requer análise de geometria Bom suporte em hardware Z-buffer e texturas de profundidade Teste de sombra Filtro automático (NVidia)

11 Mapeamento de Sombras Problemas Visão da câmera Visão da fonte
Bordas com aparência serrilhada (aliasing) Sombreamento falso, superfícies “chamuscadas” Volumes de visão conflitantes: Amostragem não-uniforme da transformação perspectiva Baixa amostragem do mapa longe da fonte de luz Necessária alta amostragem próximo à câmera Visão da câmera Visão da fonte Figura extraída de: C. Everitt, Shadow Mapping, NVidia Corporation

12 Sombras em modelos CAD Desafios
Objetos estreitos e silhuetas complexas Objetos só com um lado (não-fechados) Elevado grau de complexidade em z Elevado custo de geometria Cena totalmente visível para câmera e fonte de luz

13 Objetivos Investigar técnicas recentes e sua adequação a modelos CAD
Propor aprimoramentos às técnicas Amostras virtuais em programas de fragmento Parâmetro generalizado para LiSPSM Particionamento em z adaptativo Propor um conjunto de técnicas que permitam a visualização de modelos CAD com sombras de alta qualidade em tempo real

14 Programa Introdução Chamuscamento Filtragem
Técnicas de bias Alinhamento de amostras Filtragem Mapas de variância Filtro PCF Reparametrização perspectiva Caso ótimo Caso geral Particionamento Por faces Em profundidade Resultado final e conclusão Não alteram a amostragem da cena Alteram a amostragem da cena

15 Chamuscamento

16 Chamuscamento e Bias Origens do chamuscamento Precisão numérica
Representação discreta e desalinhamento de amostras Pior caso: dueling frusta

17 Chamuscamento e Bias Acréscimo de deslocamento generalizado [Weiskopf03] zmapa = z1 + zbias(z1,z2) Bias constante: zbias = offset [Williams78] Second-depth: zbias = z2-z1 [Wang94] Midpoint: zbias = (z2–z1) / 2 [Woo92] Dual: zbias = min(zmid,zmax) [Weiskopf03] Second-depth restrito a sólidos fechados Dual produz ótimos resultados, mas usa duas passadas de geração Bias constante requer ajuste caso-a-caso, mas é suficiente na maioria dos casos

18 Alinhamento de Amostras
Problema de reconstrução 2D Amostras do mapa de sombras? Amostras da câmera?

19 Alinhamento de Amostras
Interpolação do mapa de sombras não funciona bem

20 Alinhamento de Amostras
Reconstrução das amostras da câmera [Wang94] Considerar “amostras virtuais” da câmera sobre o plano tangente à superfície Idéia original: obter a equação do plano com o ponto e a normal Problema: utiliza programa de vértice Proposta: utilizar apenas um programa de fragmento Fragmento atual: f0 = (s0,t0,p0,q0) Amostra virtual: fv = (sv,tv,pv,qv) Conhecemos (sv/qv) e (tv/qv) Queremos encontrar (pv/qv) Variações entre fragmentos vizinhos: ddx(s,t,p,q) e ddy(s,t,p,q)

21 Alinhamento de Amostras
Amostra virtual (nx,ny) pixels distante do fragmento atual: Variações (s,t) após a divisão de perspectiva: Com:

22 Alinhamento de Amostras
Resolvendo o sistema para (nx,ny) e substituindo na equação inicial:

23 Alinhamento de Amostras
Resultado: Redução do chamuscamento Ausência de artefatos

24 Programa Introdução Chamuscamento Filtragem
Técnicas de bias Alinhamento de amostras Filtragem Mapas de variância Filtro PCF Reparametrização perspectiva Caso ótimo Caso geral Particionamento Por faces Em profundidade Resultado final e conclusão Não alteram a amostragem da cena Alteram a amostragem da cena

25 Filtragem do Serrilhamento

26 Mapas de Variância Propostos por Donnelly e Lauritzen (2006)
Problemas sérios de vazamento de luz devido ao elevado grau de complexidade em profundidade

27 Filtragem PCF Idéia: Núcleo no espaço da imagem ou do mapa de sombras?
Utilizar diferentes amostras do mapa de sombras Realizar vários testes de sombra com resultado binário (0,1) Filtrar os resultados dos testes Núcleo no espaço da imagem ou do mapa de sombras? Efeito de faixas (“banding”)

28 PCF 5x5 no espaço da imagem

29 PCF 5x5 no espaço do mapa

30 PCF 5x5 aprimorado com jitter

31 Aprimoramentos ao PCF Amostras com jitter Núcleo circular
Amostragem adaptativa

32 PCF não-adaptativo em baixa resolução

33 PCF adaptativo em baixa resolução
Artefatos surgem em mapas de baixa resolução devido ao grande núcleo utilizado para o filtro

34 PCF não-adaptativo em boa resolução

35 PCF adaptativo em boa resolução
Artefatos menos perceptíveis

36 Combinando PCF e alinhamento
Alinhar todas as amostras com o centro de cada texel é um processo caro O principal custo está associado à determinação do centro do texel, e não à amostra virtual em si Proposta: Gerar várias amostras da câmera sobre o plano tangente Alinhar com as amostras exatas do núcleo do filtro, e não com o centro dos texels

37 PCF desativado

38 PCF ativado

39 PCF alinhado

40 Programa Introdução Chamuscamento Filtragem
Técnicas de bias Alinhamento de amostras Filtragem Mapas de variância Filtro PCF Reparametrização perspectiva Caso ótimo Caso geral Particionamento Por faces Em profundidade Resultado final e conclusão Não alteram a amostragem da cena Alteram a amostragem da cena

41 Reparametrização

42 Métrica de Serrilhamento
Consideramos o “erro de serrilhamento” como a razão entre as áreas de uma superfície vistas por um texel do mapa de sombras e por um pixel da imagem:

43 Métrica de Serrilhamento
Idealmente, queremos m=1 m > 1  serrilhamento m < 1  super-amostragem Dois tipos de serrilhamento Serrilhamento de perspectiva: wl/wc Serrilhamento de projeção: cos(θc)/cos(θl) Potencialmente ilimitado Difícil computar Menos notável Não tratado por técnicas de reparametrização Objetivo: minimizar o erro máximo em todo o campo de visão da câmera: L∞ = max( |wl/wc| )

44 Reparametrização Perspectiva
Idéia: deformar a cena de modo que objetos mais próximos da câmera apareçam com maior área no mapa de sombras Para a cena original, tudo se passa como se os texels do mapa tivessem seu tamanho alterado Baixíssimo custo, apenas calcular e multiplicar uma transformação à matriz de visualização da cena

45 Reparametrização Perspectiva Caso Ótimo
Luz incidindo perpendicularmente à direção de visualização PSM [Stamminger02]: LiSPSM [Wimmer04]: Tradicional: V = Volume de visão da câmera incluindo objetos oclusores externos (mostrar n, f, z, φ) P = Frustum associado à transformação perspectiva (n’, f’, z’, φ’) Eixo y = direção da luz (oposta a ela) Eixo z = plano de y e da direção de visualização Eixo x = completando sistema mão esquerda (levógiro) C = origem do sistema e centro de projeção da transformação P Plano xz paralelo ao mapa, coordenadas alinhadas com (s,t) respectivamente P ajustado a V de modo a ficar simétrico, com eixo coincidindo com z Posição de c ao longo da direção z é dada por n’, que não altera o plano near, mas a abertura de P

46 Reparametrização Perspectiva Efeito da Transformação
Luz incidindo perpendicularmente à direção de visualização PSM [Stamminger02]: LiSPSM [Wimmer04]: Tradicional:

47 Reparametrização Perspectiva Erros de Serrilhamento
PSM Erro mínimo em x, mas linear em z LiSPSM Erro pequeno em x Erro mínimo em z, o máximo ocorre nos planos near e far

48 Reparametrização Perspectiva Erros de Serrilhamento
Fator de Armazenamento (S): Medida combinada de erro Calculado como o produto dos erros máximos nas direções x e z: SM LiSPSM PSM

49 Reparametrização Generalizada
Luz e câmera não perpendiculares Redução do intervalo de influência da transformação perspectiva em z No caso limite, luz e câmera paralelas, todos os pontos do eixo z no centro do volume de visão da câmera são mapeados para o mesmo texel Parametrizações convergem para o mapeamento tradicional LiSPSM: Queremos tentar manter o erro mínimo do LiSPSM quando γ < π/2. γ = π/2 γ = 0 Visão da fonte de luz

50 Reparametrização Generalizada

51 Reparametrização Generalizada
Seguindo o procedimento de Wimmer et al. (LiSPSM, 2004), temos: O valor n’2 acima torna-se negativo! Precisamos convergir para o mapeamento tradicional:

52 Reparametrização Generalizada
Fazemos a seguinte correção:

53 LiSPSM normal

54 LiSPSM Generalizado

55 Programa Introdução Chamuscamento Filtragem
Técnicas de bias Alinhamento de amostras Filtragem Mapas de variância Filtro PCF Reparametrização perspectiva Caso ótimo Caso geral Particionamento Por faces Em profundidade Resultado final e conclusão Não alteram a amostragem da cena Alteram a amostragem da cena

56 Particionamento

57 Particionamento por Faces
Com luz e câmera paralelas, nenhuma reparametrização perspectiva é boa simultaneamente para A e C Idéia formalizada por Lloyd (2006): Gerar um mapa de sombras independente para cada face do volume de visão da câmera visto pela fonte Aplicar uma transformação perspectiva diferente a cada face

58 Particionamento por Faces
Dispensa a generalização do parâmetro LiSPSM Ótimo resultado para luz e câmera paralelas Custo elevado, multiplica por 4 o número de mapas de sombras e de passadas! Amenizado por frustum culling adaptado a cada partição Mesmo assim, segundo Lloyd, vale mais à pena particionar em profundidade

59 Particionamento em Profundidade
Lloyd (2006) mostra que o Fator de Armazenamento é proporcional a (f/n) Podemos reduzir o erro máximo utilizando várias partições ao longo do eixo z O erro é mínimo com partições semelhantes, ou seja, que tenham a mesma razão (f/n)

60 Particionamento em Profundidade
Aumentando o número de partições (k), o erro converge para uma situação de erro mínimo k equivale a um mapeamento logarítmico, ótimo segundo Wimmer et. al. (2004) e Lloyd et. al. (2006) Um pequeno valor de k (2 a 4) é suficiente para proporcionar uma grande redução do erro. Usamos k=2

61 Costuras Com luz e câmera paralelas:
O erro máximo, em ambas direções, ocorre no plano near de cada partição Aparecem “costuras” nas interfaces entre as partições Nessa situação, a razão α=f/n deve ser mantida pequena (recomendamos 2 a 4) O problema é amenizado conforme a luz passa a incidir perpendicularmente Na situação limite, o problema ainda existe mas geralmente é imperceptível.

62 Particionamento Adaptativo
Proposta: Usar o ângulo γ como interpolador linear γ = π/2  usar (f/n) do particionamento normal γ = 0  usar (f/n) = α Deve-se proceder de forma iterativa a partir do plano far mais distante:

63 Sem ZP

64 ZP2 normal

65 ZP2 adaptativo

66 Programa Introdução Chamuscamento Filtragem
Técnicas de bias Alinhamento de amostras Filtragem Mapas de variância Filtro PCF Reparametrização perspectiva Caso ótimo Caso geral Particionamento Por faces Em profundidade Resultado final e conclusão Não alteram a amostragem da cena Alteram a amostragem da cena

67 Resultado Final Técnicas recomendadas para a visualização de modelos CAD: Geração com bias constante ou dual-depth Reparametrização LiSPSM generalizado Particionamento adaptativo em profundidade ZP2 a ZP4 Filtro PCF 3x3 a 5x5 Baseado em texels Núcleo circular com jitter Amostras virtuais Amostragem adaptativa opcional

68 Resultado Final Incidência Perpendicular
Mapeamento Tradicional

69 Resultado Final Incidência Perpendicular
Reparametrização LiSPSM Generalizada

70 Resultado Final Incidência Perpendicular
Reparametrização Particionamento ZP2

71 Resultado Final Incidência Perpendicular
Reparametrização Particionamento ZP2 PCF 5x5

72 Resultado Final Incidência Paralela
Mapeamento Tradicional

73 Resultado Final Incidência Paralela
Reparametrização LiSPSM Generalizada

74 Resultado Final Incidência Paralela
Reparametrização Particionamento ZP2

75 Resultado Final Incidência Paralela
Reparametrização Particionamento ZP2 PCF 5x5

76 Resultado Final Eficiência: Máquinas:
Core 2 Duo 2.4GHz, GeForce 8800 GTS Pentium 4 3.0GHz, GeForce 6800 GT Resolução 800x600, mapas de 2048x2048 Passadas: 1 por luz para gerar o mapa 1 de iluminação ambiente 1 por luz para renderização com sombras Ponto-de-vista restrito, ~20% da geometria da cena

77 Resultado Final GeForce 8800 GeForce 6800 Técnica Luzes
Mapeamento Tradicional Técnicas Recomendadas 1 luz dinâmica 45 29 a 59 2 luzes dinâmicas 25 18 a 30 Técnica Luzes Mapeamento Tradicional Técnicas Recomendadas 1 luz dinâmica 33 9 a 12 2 luzes dinâmicas 18 5 a 7

78 Conclusão Visualização de modelos CAD com mapeamento de sombras em tempo real: Geração com bias constante ou dual-depth Reparametrização LiSPSM generalizado Particionamento adaptativo em profundidade ZP2 a ZP4 Filtro PCF 3x3 a 5x5 Baseado em texels Núcleo circular com jitter Amostras virtuais Amostragem adaptativa opcional Idéias propostas: Amostras virtuais em programas de fragmento Parâmetro generalizado para LiSPSM Particionamento em z adaptativo

79 Trabalhos Futuros Verificação da parametrização logarítmica de Lloyd et al. Com LogSM, verificar o particionamento por faces Técnicas para tratamento do vazamento de luz em VSMs Geração de sombras suaves com penumbra realista em tempo real


Carregar ppt "Dissertação de Mestrado"

Apresentações semelhantes


Anúncios Google