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

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

Adaptive Shadow Maps Randima Fernando Sebastian Fernandez Kavita Bala Donald P. Greenberg Apresentado por Claudio Esperança.

Apresentações semelhantes


Apresentação em tema: "Adaptive Shadow Maps Randima Fernando Sebastian Fernandez Kavita Bala Donald P. Greenberg Apresentado por Claudio Esperança."— Transcrição da apresentação:

1 Adaptive Shadow Maps Randima Fernando Sebastian Fernandez Kavita Bala Donald P. Greenberg Apresentado por Claudio Esperança

2 Sombras Problema consiste em saber, para cada fonte de luz, quais áreas da cena estão iluminadas Se a fonte de luz é não pontual, algumas áreas estarão na penumbra (soft shadows)

3 Sombras Se mais de uma fonte de luz são usadas, deve-se somar as contribuições de cada uma

4 Métodos para desenho de sombras Determinar sombras é um problema correlacionado com visibilidade Métodos iluminação globais já atacam o problema –Traçado de raios (Ray Tracing) –Radiosidade Desvantagem principal –Soluções onerosas –Não adequadas para uso em tempo real

5 Sombras por achatamento Apenas alguns objetos projetam sombra sobre superfícies planas Basta desenhar os objetos devidamente achatados e transformados para serem coplanares com a superfície Uso muito limitado

6 Mapas de luz Usados em jogos Iluminação é precomputada (radiosidade / ray- tracing) e valores de luminosidade atribuídos a texturas adicionais Inadequado quando luz ou objeto se movem

7 Volumes de sombra Região sombreada é aproximada por um volume poliedral em etapa de pré-processamento –Computa-se a silhueta do oclusor –Cada aresta da silhueta gera um polígono Cena é desenhada com o auxílio de z-buffers e stencil buffers

8 Volumes de sombra - algoritmo Geometria é desenhada sem a contribuição da fonte de luz pontual Stencil Buffer é zerado Faces da frente do volume de sombra são desenhadas incrementando o stencil buffer Faces de trás do volume de sombra são desenhadas decrementando o stencil buffer Contribuição da fonte de luz sobre a geometria é somada apenas nas áreas onde o stencil buffer é maior que zero

9 Volumes de sombra - discussão + Funciona bem quando volumes de sombra são relativamente pouco complexos + Trata apropriadamente a sombra projetada sobre outros objetos – Se a luz ou o oclusor se movimentam, o volume de sombra tem que ser recomputado – Computar volumes de sombra é custoso

10 Volumes de sombra - exemplo

11 Mapas de Sombra (Shadow Maps) Método que trabalha no espaço da imagem Cena é desenhada a partir do ponto de vista da luz –z-buffer contém a distância à luz dos pontos iluminados Ao desenhar a cena do ponto de vista do observador, a distância de cada pixel à fonte de luz é computada e comparada com a distância correspondente armazenada no mapa de sombra –Se igual, o pixel está iluminado –Se maior, o pixel está na sombra

12 Mapas de Sombra Caso em que o pixel está iluminado Fonte luminosa observador plano do mapa de sombra plano de projeção, (frame buffer) A B A = distância computada B = distância armazenada no mapa A B

13 Mapas de Sombra Caso em que o pixel está na sombra Fonte luminosa observador plano do mapa de sombra plano de projeção, (frame buffer) A B A = distância computada B = distância armazenada no mapa A >B B

14 Mapas de Sombra por Hardware Segal et al propuseram extensões de hardware (SGI) baseadas em mapeamento de textura projetiva –Permitem computar A correspondência entre um pixel do frame buffer e um pixel do mapa de sombras (B) A distância de um fragmento de polígono (correspondente a um pixel do frame buffer) e o plano do mapa de sombras (A) Heidrich propôs um esquema que onde o canal alfa é usado e que permite uma adaptação em hardware mais barato (NVidia Geforce 3)

15 Visualizando a técnica do mapa de sombras (1) Cena razoavelmente complexa com sombras fonte de luz pontual

16 Visualizando a técnica do mapa de sombras (2) Compare a imagem com e sem sombras com sombras sem sombras

17 Visualizando a técnica do mapa de sombras(3) Cena conforme vista pela fonte de luz Compare com a cena vista pelo observador

18 Visualizando a técnica do mapa de sombras(4) mapa de sombras (z-buffer) mais claro = mais longe Compare com a cena do ponto de vista da luz

19 Visualizando a técnica do mapa de sombras(5) projetando o mapa de sombras sobre a cena (B no diagrama) Compare com mapa de sombras no ponto de vista da luz

20 Visualizando a técnica do mapa de sombras(6) Visualização da distância entre cada pixel e o plano do mapa de sombras (A no diagrama)

21 Visualizando a técnica do mapa de sombras(6) Comparando distância da luz (A) com distância do mapa de sombras (B) Verde é onde A e B são aproximada- mente iguais Não verde é onde as sombras devem aparecer

22 Visualizando a técnica do mapa de sombras(7) Cena com sombras Observe como os highlights especulares nunca aparecem em áreas na sombra Observe como superfícies curvas sombreiam outras

23 Tolerância (bias) Problema derivado da quantização das distâncias é secundário e pode ser resolvido com tolerâncias tolerância pequena: tudo parece estar sombreado Tolerância grande: sombras ficam deslocadas Tolerância exata

24 Problema de serrilhado (aliasing) Principal problema dos mapas de sombra resulta do descasamento eventual entre a resolução do mapa de sombras e a do frame buffer

25 Mapas de sombras adaptativos Visa resolver o problema de serrilhado Técnica resulta da observação de que o mapa de sombra só precisa ter alta resolução perto das fronteiras das sombras Um ASM (Adaptive Shadow Map) tem a forma de uma grade hierárquica onde determinadas células podem ser ou não subdivididas em grades mais finas

26 Características dos ASMs Adapta-se ao ponto de vista do observador –Pode ser usado em visitas de cenas (walkthroughs) Pode ser calibrado para um uso limitado de memória –Evita uso excessivo de memória Progressivo –O resultado visual fica cada vez melhor à medida que um dado ponto de vista se mantém

27 Operação de refino do ASM A escolha de uma porção (célula) da grade a ser refinada é feita estimando-se uma razão custo/benefício Seja –N required é o número de pixels na célula do ASM a serem obtidos com o refino –N current é o número de pixels correntemente na célula

28 Operação de refino do ASM O custo é dado por uma função linear de N required –a = custo por pixel –b = custo fixo O benefício é estimado contando-se o número de pixels do frame buffer que recaem numa célula do ASM –São consideradas apenas as células que contêm descontinuidades de distância

29 Remoção de nós Eventualmente, um nó decorrente do refino de uma célula precisa ser desalocado para que outra célula possa ser Para tanto, escolhe-se entre os nós não utilizados no último quadro, aquele menos recentemente utilizado (LRU) Se este não existe, escolhe-se algum cujo benefício seja menor que aquele a ser criado

30 Estimando área do pixel no mundo Por software é muito custoso Aproximação usando mip-mapping (hardware) Mip-map sintético é construído: –textura mip-map mais fina tem 1 em cada texel –2 a textura mip-map mais fina tem 2 em cada texel –etc. Coordenadas de textura de cada polígono são geradas de forma a ter um número constante de texels por unidade de área Usado apenas o canal alfa da textura – a cor de textura é branca Toda a cena é desenhada com essa textura e o frame-buffer é lido de volta –Cada pixel tem agora uma medida da área da cena coberta (filtrada trilinearmente, inclusive)

31 Teste de profundidade x Teste de id de polígono Uma otimização proposta por Hourcade para aliviar o problema de tolerância consiste em testar qual polígono está sombreado num pixel do ponto de vista da luz, ao invés de testar a distância Aparentemente, os autores codificam os IDs dos polígonos na cor usada para desenhá-los –Quando o frame-buffer é lido de volta durante a fase de determinação da área coberta por um pixel, a cor do pixel lido indica o id do polígono –Apenas um passo de leitura do frame-buffer é necessário para fazer as duas coisas

32 Teste de profundidade x Teste de id de polígono O teste de id é feito primeiro. Se este falha (indicando pixel na sombra), o teste de profundidade é feito Método híbrido produz melhores resultados que usar exclusivamente um dos métodos –Teste de id tem problemas nas arestas entre polígonos –Teste de profundidade tem problemas relativos à escolha de tolerâncias

33 Resultados

34

35

36 Bibliografia Lance Williams, Casting Curved Shadows on Curved Surfaces, SIGGRAPH 78 William Reeves, David Salesin, and Robert Cook (Pixar), Rendering antialiased shadows with depth maps, SIGGRAPH 87 Mark Segal, et. al. (SGI), Fast Shadows and Lighting Effects Using Texture Mapping, SIGGRAPH 92 Wolfgang Heidrich High-quality Shading and Lighting for Hardware-accelerated Rendering Tese de doutorado – Universidade Técnica de Erlagen – 1999 Apresentação de Mark Kilgard (NVidia) no CEDEC 2001 Outras no paper


Carregar ppt "Adaptive Shadow Maps Randima Fernando Sebastian Fernandez Kavita Bala Donald P. Greenberg Apresentado por Claudio Esperança."

Apresentações semelhantes


Anúncios Google