An Improved Illumination Model for Shaded Display - PowerPoint PPT Presentation

About This Presentation
Title:

An Improved Illumination Model for Shaded Display

Description:

An Improved Illumination Model for Shaded Display Turner Whitted Ant nio Oliveira Paula Rego Ilumina o e FotoRealismo Estrutura da Apresenta o Introdu o ... – PowerPoint PPT presentation

Number of Views:149
Avg rating:3.0/5.0
Slides: 30
Provided by: Paul7233
Category:

less

Transcript and Presenter's Notes

Title: An Improved Illumination Model for Shaded Display


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 Ipkd (N.L)
  • Ipkdcos ?

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
j1 j1
I intensidade reflectida Ia reflexão devida
à luz ambientekd coeficiente reflexão difusaN
normal à superfície (unitária) Lj vector na
direcção da fonte de luz iks 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

jls jls I
Ia kd ? (N . Lj) ks ? (N . Hj )n
j1 j1
H (LV)/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
V
N
R
Superfície reflectora
V V / VN R V 2N P kf (N V) -
N onde kf função do índice de
refracção kn
P
-N
(N V)
k
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
(No Transcript)
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
  • pixelRT_trace(raio,1)

22
Ray Tracing Recursivo
  • RT_cor RT_trace(RT_ray raio, int depth)
  • 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 (depthltmaxDepth)
  • If (objecto é reflectivo)
  • RRaioraio na direcção de reflexão a partir do
    ponto
  • rCorRT_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)
  • tCorRT_trace(tRaio, depth1)
  • escalar tCor pelo coeficiente de transmissão e
    adicionar a cor
  • return cor

25
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
  • 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
Write a Comment
User Comments (0)
About PowerShow.com