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

Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Embed Size (px)

Citation preview

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

Dissertação de Mestrado Dissertação de Mestrado

Departamento de Informática - PUC-RioAbril de 2007

Geração de Sombras emGeração de Sombras emTempo Real para Modelos CADTempo Real para Modelos CAD

Vitor Barata Ribeiro Blanco Barroso – 0511046-2Orientador: Professor Waldemar Celes

Page 2: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ProgramaPrograma

Introdução Chamuscamento

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 aamostragem da cena

Alteram aamostragem da cena

Page 3: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Importância das SombrasImportâ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

Page 4: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Exemplo sem sombrasExemplo sem sombras

Page 5: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Exemplo com sombrasExemplo com sombras

Page 6: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco
Page 7: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco
Page 8: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Geração de SombrasGeraçã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]

Page 9: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Mapeamento de SombrasMapeamento 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

Page 10: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Mapeamento de SombrasMapeamento 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 profundidadeTeste de sombraFiltro automático (NVidia)

Page 11: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Mapeamento de SombrasMapeamento de Sombras

Problemas 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 d

a câ

mera

Visã

o d

a

fon

te

Figura extraída de: C. Everitt, Shadow Mapping, NVidia Corporation

Page 12: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Sombras em modelos CADSombras 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

Page 13: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ObjetivosObjetivos

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

Page 14: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ProgramaPrograma

Introdução Chamuscamento

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 aamostragem da cena

Alteram aamostragem da cena

Page 15: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ChamuscamentoChamuscamento

Page 16: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Chamuscamento e Chamuscamento e BiasBias

Origens do chamuscamento Precisão numérica Representação discreta e desalinhamento de

amostras Pior caso: dueling frusta

Page 17: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Chamuscamento e Chamuscamento e BiasBias

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

Page 18: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Alinhamento de AmostrasAlinhamento de Amostras

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

Page 19: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Alinhamento de AmostrasAlinhamento de Amostras

Interpolação do mapa de sombras não funciona bem

Page 20: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Alinhamento de AmostrasAlinhamento 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)

Page 21: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Alinhamento de AmostrasAlinhamento de Amostras

Amostra virtual (nx,ny) pixels distante do fragmento atual:

Variações (s,t) após a divisão de perspectiva:

Com: 0

0

0

0

q

s

qddxq

sddxs

dx

ds

tdydtndxdtn

sdydsndxdsn

yx

yx

qptsddynqptsddxnff yxv ,,,,,,0

Page 22: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Alinhamento de AmostrasAlinhamento de Amostras

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

dydsdxdtdydtdxds

qptsddxdydsqptsddydxdsF

qptsddydxdtqptsddxdydtF

FtFsff

t

s

tsv

det

,,,,,,

,,,,,,

:onde

det0

Page 23: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Alinhamento de AmostrasAlinhamento de Amostras

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

Page 24: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ProgramaPrograma

Introdução Chamuscamento

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 aamostragem da cena

Alteram aamostragem da cena

Page 25: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Filtragem do SerrilhamentoFiltragem do Serrilhamento

Page 26: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Mapas de VariânciaMapas de Variância

• Propostos por Donnelly e Lauritzen (2006)

• Problemas sérios de vazamento de luz devido ao elevado grau de complexidade em profundidade

Page 27: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Filtragem PCFFiltragem PCF

Idéia: 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”)

Page 28: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

PCF 5x5 no espaço da imagemPCF 5x5 no espaço da imagem

Page 29: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

PCF 5x5 no espaço do mapaPCF 5x5 no espaço do mapa

Page 30: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

PCF 5x5 aprimorado com PCF 5x5 aprimorado com jitterjitter

Page 31: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Aprimoramentos ao PCFAprimoramentos ao PCF

Amostras com jitter Núcleo circular Amostragem adaptativa

maxmax

maxmax

2'

2cos'

xxsenyyRy

xxyyRx

Page 32: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

PCF não-adaptativoPCF não-adaptativoem baixa resoluçãoem baixa resolução

Page 33: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

PCF adaptativoPCF adaptativoem baixa resoluçãoem baixa resolução

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

Page 34: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

PCF não-adaptativoPCF não-adaptativoem boa resoluçãoem boa resolução

Page 35: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

PCF adaptativoPCF adaptativoem boa resoluçãoem boa resolução

Artefatos menos perceptíveis

Page 36: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Combinando PCF e Combinando PCF e alinhamentoalinhamento

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

Page 37: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

PCF desativadoPCF desativado

Page 38: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

PCF ativadoPCF ativado

Page 39: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

PCF alinhadoPCF alinhado

Page 40: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ProgramaPrograma

Introdução Chamuscamento

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 aamostragem da cena

Alteram aamostragem da cena

Page 41: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ReparametrizaçãoReparametrização

Page 42: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Métrica de SerrilhamentoMé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:

lc

cl

c

l

w

w

w

wm

cos

cos

'

'

Page 43: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Métrica de SerrilhamentoMé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| )

Page 44: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Reparametrização PerspectivaReparametrizaçã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

Page 45: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Reparametrização PerspectivaReparametrização PerspectivaCaso ÓtimoCaso Ótimo

Luz incidindo perpendicularmente à direção de visualização

PSM [Stamminger02]: LiSPSM [Wimmer04]: Tradicional:

nfnn '

nn '

'n

Page 46: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Reparametrização PerspectivaReparametrização PerspectivaEfeito da TransformaçãoEfeito da Transformação

Luz incidindo perpendicularmente à direção de visualização

PSM [Stamminger02]: LiSPSM [Wimmer04]: Tradicional:

nfnn '

nn '

'n

Page 47: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Reparametrização PerspectivaReparametrização PerspectivaErros de SerrilhamentoErros 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

Page 48: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Reparametrização PerspectivaReparametrização PerspectivaErros de SerrilhamentoErros de Serrilhamento

Fator de Armazenamento (S): Medida combinada de erro Calculado como o produto dos

erros máximos nas direções x e z:

zx MMS

SM LiSPSM PSM

Page 49: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Reparametrização Reparametrização GeneralizadaGeneralizada

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.

sen

nfnn

'

γ = π/2

γ = 0

Visão da fonte de luz

Page 50: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Reparametrização Reparametrização GeneralizadaGeneralizada

y

y

fzb

nzanz

0,sencosn'

2,sencos''

y

y

bn

nfbanf

0cos2'

2,sencos''

xx '

Page 51: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Reparametrização Reparametrização GeneralizadaGeneralizada

Seguindo o procedimento de Wimmer et al.(LiSPSM, 2004), temos:

O valor n’2 acima torna-se negativo! Precisamos convergir para o mapeamento

tradicional:

y

y

LiSPSM

bnffn

anfnnn

0,cossen

2,cossen'

'2

'1

lim'1lim

'2

'2

0lim

nn

n

Page 52: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Reparametrização Reparametrização GeneralizadaGeneralizada

Fazemos a seguinte correção:

limlim

'1'

2

lim'1

0,

2,cossen

'

r

nn

anfnn

n LiSPSM

2

lim 21sen1

r

nf

baarctglim

Page 53: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

LiSPSM normalLiSPSM normal

Page 54: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

LiSPSM GeneralizadoLiSPSM Generalizado

Page 55: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ProgramaPrograma

Introdução Chamuscamento

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 aamostragem da cena

Alteram aamostragem da cena

Page 56: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ParticionamentoParticionamento

Page 57: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Particionamento por FacesParticionamento 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

Page 58: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Particionamento por FacesParticionamento 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

Page 59: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Particionamento em Particionamento em ProfundidadeProfundidade

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)

Page 60: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Particionamento em Particionamento em ProfundidadeProfundidade

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

Page 61: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

CosturasCosturas

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.

Page 62: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Particionamento AdaptativoParticionamento 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:

Page 63: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Sem ZPSem ZP

Page 64: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ZPZP22 normal normal

Page 65: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ZPZP22 adaptativo adaptativo

Page 66: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ProgramaPrograma

Introdução Chamuscamento

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 aamostragem da cena

Alteram aamostragem da cena

Page 67: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado 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

Page 68: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado FinalIncidência PerpendicularIncidência Perpendicular

Mapeamento Tradicional

Page 69: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado FinalIncidência PerpendicularIncidência Perpendicular

Reparametrização LiSPSM Generalizada

Page 70: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado FinalIncidência PerpendicularIncidência Perpendicular

ReparametrizaçãoParticionamento ZP2

Page 71: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado FinalIncidência PerpendicularIncidência Perpendicular

ReparametrizaçãoParticionamento ZP2

PCF 5x5

Page 72: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado FinalIncidência ParalelaIncidência Paralela

Mapeamento Tradicional

Page 73: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado FinalIncidência ParalelaIncidência Paralela

ReparametrizaçãoLiSPSM Generalizada

Page 74: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado FinalIncidência ParalelaIncidência Paralela

ReparametrizaçãoParticionamento ZP2

Page 75: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado FinalIncidência ParalelaIncidência Paralela

ReparametrizaçãoParticionamento ZP2

PCF 5x5

Page 76: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado 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

Page 77: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Resultado FinalResultado Final

GeForce 8800

GeForce 6800 Técnica

LuzesMapeamento Tradicional Técnicas Recomendadas

1 luz dinâmica 33 9 a 12

2 luzes dinâmicas 18 5 a 7

TécnicaLuzes

Mapeamento Tradicional Técnicas Recomendadas

1 luz dinâmica 45 29 a 59

2 luzes dinâmicas 25 18 a 30

Page 78: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

ConclusãoConclusã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

Page 79: Dissertação de Mestrado Departamento de Informática - PUC-Rio Abril de 2007 Geração de Sombras em Tempo Real para Modelos CAD Vitor Barata Ribeiro Blanco

Trabalhos FuturosTrabalhos 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