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

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

An Improved Illumination Model for Shaded Display

Apresentações semelhantes


Apresentação em tema: "An Improved Illumination Model for Shaded Display"— Transcrição da apresentação:

1 An Improved Illumination Model for Shaded Display
Turner Whitted António Oliveira Paula Rego Iluminação e FotoRealismo

2 Estrutura da Apresentação
Introdução Modelo de Iluminação Modelos Convencionais Modelo Melhorado Reflexão Especular Transmissão Refractiva Índices de Refracção Geração de Árvores de Raios Cálculo de Visibilidade Ray Tracing Recursivo Resultados Conclusões

3 Introdução O cálculo eficiente (e correcto) da iluminação de uma cena é um problema fundamental da computação gráfica Um modelo de iluminação determina a luz que chega ao observador a partir de um ponto visível numa superfície O shading é o processo de realizar cálculos de iluminação e determinar a cor dos pixeis a partir desses cálculos O modelo de Shading determina quando é aplicado o modelo de Iluminação e que argumentos recebe Os cálculos de shading podem ser efectuados a escalas diferentes: microscópica local global

4 Modelo de Iluminação A luz recebida é função de:
direcção e intensidade da fonte de luz posição do observador orientação e propriedades da superfície

5 Modelo de Iluminação As interacções luz - superfície são de natureza microscópica Contudo, os modelos são normalmente bastante limitados: consideram apenas a interacção fonte de luz e orientação da superfície, ignorando o ambiente que a rodeia Os algoritmos de determinação de superfícies visíveis tradicionais não fornecem os dados globais necessários

6 Modelos Convencionais
Reflexão Difusa Os difusores ideais comportam-se de acordo com a Lei de Lambert (do coseno) a luz reflectida, por uma pequena superfície é determinada pelo co-seno do ângulo entre a normal à superfície e a direcção da luz As superfícies reflectem luz com igual intensidade em todas as direcções surgem igualmente brilhantes a partir de todos os pontos de vista I = Ip*kd* (N.L) = Ip*kd*cos 

7 Modelos Convencionais
Reflexão Especular Modelo de Phong fontes de luz a distância infinita não considera a luz reflectida por outros objectos os objectos não funcionam como fontes de luz não afecta o realismo da reflexão difusa fontes luz fontes luz I = Ia + kd  (N . Lj) + ks  (R . V)n j= j=1 I = intensidade reflectida Ia = reflexão devida à luz ambiente kd = coeficiente reflexão difusa N = normal à superfície (unitária) Lj = vector na direcção da fonte de luz i ks = coeficiente reflexão especular n = expoente de reflexão especular do material

8 Modelos Convencionais
O Modelo de Phong afecta significativamente a qualidade das reflexões especulares Não é incluída a luz reflectida por outros objectos Formulação Alternativa (Blinn e Newell, 1976) esfera de raio infinito fontes de luz e observador a distância infinita j=ls j=ls I’ = Ia + kd  (N . Lj) + ks  (N . Hj ’)n j= j=1 H = (L+V)/2 normal na direcção a metade da distância entre L e V

9 Modelos Convencionais
Sombras É um dos aspectos mais importantes no modelo de iluminação Um ponto numa superfície está em sombra se for visível ao observador, mas não à fonte de luz Transparência A transmissão da luz através de objectos transparentes tem sido simulada em algoritmos que desenham as superfícies segundo a ordem inversa de profundidade (Algoritmo Depth-Sort – Newell et al., 1972) Produção de imagens interessantes, mas não simula a refracção

10 Modelo Melhorado Introduzido por Turner Whitted (1980) onde:
S = intensidade da luz incidente a partir de R (raio reflectido) ks = coeficiente de reflexão especular do material ks = coeficiente de transmissão T = intensidade da luz na direcção P (raio refractado)

11 Reflexão Especular Intensidade da Luz N + V’ N V R Perfeitamente lisa Superfície reflectora V’ = V / |V*N| R = V’ + 2N P = kf (N + V’) - N onde kf = função do índice de refracção kn P -N k (N + V’) f Refracção

12 Reflexão Especular A reflexão especular de uma superfície rugosa
Produzida por faces microscópicas Intensidade proporcional à distribuição das normais da superfície Simulando esta reflexão (baseado no trabalho de J.F. Blinn) Variações aleatórias na normal da superfície Simular faces microscópicas orientadas aleatoriamente Impraticável em termos computacionais Escolher a adição do termo de Phong

13 Transmissão Refractiva
Dados os índices de refracção dos 2 lados de uma superfície, pode-se calcular o ângulo para V e P usando a Lei de Snell

14 Índices de Refracção Razão entre a velocidade da luz no vácuo e a velocidade da luz numa substância Substância Índice Vácuo 1,0 Ar 1,00029 Água 1,33 Vidro 1,52 Diamante 2,417 Safira 1,77 Sal 1,54

15 Geração de Árvores de Raios
A luz é reflectida a partir de várias superfícies O comportamento dos raios de luz podem ser modelados através de uma árvore O shader percorre a árvore, aplicando a equação em cada nodo para calcular a intensidade (esta é atenuada por uma função linear da distância entre os pontos de intersecção)

16 Cálculo da Visibilidade
Um algoritmo de Ray Tracing constitui uma boa aproximação: Abordagem inicial: traçar raios de luz desde as fontes de luz até ao observador – forward Ray Tracing Whitted desenvolve um modelo aproximado considerando os raios de luz que chegam ao observador no sentido inverso – backward Ray Tracing O cálculo não termina com o primeiro objecto intersectado pelo raio Considera também os raios reflectidos e refractados Objectos são visíveis através de reflexões em outros objectos

17 Cálculo da Visibilidade
Simplificações: Considerar um volume envolvente para cada objecto na cena Se não for intersectado, o objecto pode ser eliminado Por questões de simplicidade de representação e facilidade de cálculo de intersecção, são usadas esferas

18 Cálculo da Visibilidade
O algoritmo faz anti-aliasing Aliasing é mais aparente em 3 casos: Mudanças bruscas de intensidade Objectos pequenos localizados entre os pontos de amostragem Textura mapeada a uma superfície O Anti-aliasing é aplicado apenas nas regiões afectadas pelos 3 casos

19 Ray Tracing Recursivo Para cada pixel da imagem
Calcular raio que passa pelo pixel e observador Determinar objecto intersectado pelo raio Ponto de intersecção Normal Propriedade do material Propriedade de textura Calcular contribuição da iluminação ambiente Para cada fonte de luz determinar visibilidade (raios sombra) Se fonte visível, adicionar contribuição reflexão difusa Se não foi atingido limite de recursividade Adicionar contribuição da reflexão especular Adicionar contribuição da refracção

20

21 Ray Tracing Recursivo seleccionar o centro de projecção e a janela no plano de visualização; for(cada scan line na imagem) { for (cada pixel na scan line) { determinar raio a partir do centro de projecção através do pixel; pixel=RT_trace(raio,1); }

22 Ray Tracing Recursivo RT_cor RT_trace(RT_ray raio, int depth) { } else
determinar a intersecção mais proxima do raio com um objecto; if (objecto foi intersectado) { calcular normal na intersecção; return RT_shade(objecto de intersecção mais próxima, intersecção, normal, depth); } else return BACKGROUND_VALUE;

23 Ray Tracing Recursivo – Iluminação Directa
Cor = termo ambiente; for (cada luz) { SRaio = raio para a luz a partir do ponto; If (produto escalar da normal e direcção para a luz é positivo) { Calcular quanta luz é bloqueada por superfícies opacas e transparentes, e usar termos difusos e especulares para escalar antes de os adicionar à cor; }

24 Ray Tracing Recursivo – Iluminação indirecta
if (depth<maxDepth) { If (objecto é reflectivo) { RRaio=raio na direcção de reflexão a partir do ponto; rCor=RT_trace(rRaio, depth +1); escalar rCor pelo coeficiente especular e adicionar a cor; } if (objecto é transparente) { tRaio = raio na direcção de refracção a partir do ponto; if (reflexão interna total não ocorre) { tCor=RT_trace(tRaio, depth+1); escalar tCor pelo coeficiente de transmissão e adicionar a cor; return cor;

25 Condições de terminação:
Ray Tracing Recursivo Condições de terminação: Se os raios reflectidos ou refractados não intersectam qualquer objecto Se a profundidade máxima definida foi atingida

26 Resultados Algoritmo programado em C S.O. UNIX PDP-11/45 e VAX-11/780
Resolução da imagem 480x640 pixeis 9 bits por pixel

27 Fig.1 Fig.3 Fig.2 Fig.4

28 Resultados Imagens: Distribuição do tempo de processamento:
Fig.1: 3 objectos polidos com sombras e reflexões objecto-objecto (44 min.) Fig.2: refracção através de um objecto transparente (74 min.) Fig. 3: sem descrição (122 min.) Fig. 4: não referida Distribuição do tempo de processamento: Inicialização: 13% Cálculo de intersecções: 75% Shading: 12%

29 Resumo Produz efeitos realísticos nas imagens
Não considera reflexões difusas a partir de fontes de luz distribuídas Não trata de forma correcta a reflexão especular a partir de superfícies menos polidas Há ainda muito espaço para melhoria


Carregar ppt "An Improved Illumination Model for Shaded Display"

Apresentações semelhantes


Anúncios Google