INF 1366 – Computação Gráfica Interativa
Iluminação e Shading
Alberto B. Raposo
[email protected]
http://www.tecgraf.puc-rio.br/~abraposo/INF1366/index.htm
Alberto Raposo – PUC-Rio
Pipeline Gráfico
Cluter & Durand, MIT

Modeling
Transformations
Illumination
(Shading)

Viewing Transformation
(Perspective / Orthographic)

Clipping

Projection
(to Screen Space)

Scan Conversion
(Rasterization)

Visibility / Display
Alberto Raposo – PUC-Rio
Iluminação
• Como computar a irradiação de um raio de
luz?
Angel Figure 6.2
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Objetivo
• Criar modelos computacionais para ...
– Emissão nas fontes de luz
– Dispersão nas superfícies
– Recepção na câmera
• Características desejadas …
– Conciso
– Eficiente
– “Preciso”
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Sumário
• Iluminação direta (local)
D. Brogan
Univ. of Virginia
– Emissão nas fontes de luz
– Dispersão nas superfícies
• Iluminação global
– Sombras
– Refrações
– Reflexões Inter-objetos
Alberto Raposo – PUC-Rio
Iluminação direta
Modelando Fontes de Luz
• IL(x,y,z,q,f,l) ...
–
–
–
–
–
descreve a intensidade de energia,
saindo de uma fonte de luz, …
shegando em (x,y,z), ...
da direção (q,f), ...
com comprimento
de onda l
Light
Alberto Raposo – PUC-Rio
(x,y,z)
D. Brogan
Univ. of Virginia
Modelos Empíricos
• Idealmente medem energia irradiada em
“todas” as situações
– Muita informação
– Difícil na prática
l
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Luz Ambiente
•Objetos que não são iluminados diretamente são
geralmente visíveis
– e.g., o teto da sala, embaixo da mesa, etc.
•Isso é resultado da iluminação indireta dos emissores,
refletida a partir de superfícies intermediárias
Fonte de luz
Alberto Raposo – PUC-Rio
Luz Ambiente
•Reflexões indiretas são caras de se calcular
(especialmente em tempo real), por isso usa-se um truque:
fonte de luz ambiente
– Não tem características espaciais ou direcionais: ilumina todas
as superfícies igualmente
– A quantidade de luz refletida depende das propriedades das
superfícies
Alberto Raposo – PUC-Rio
Fonte de luz ambiente
•Para cada comprimento de onda amostrado
(R, G, B), a luz ambiente refletida em uma
superfície depende de
– Propriedades da superfície, kambient
– Intensidade, Iambient, da fonte de luz ambiente
(constante para todos os pontos em todas as
superfícies)
•Ireflected = kambient Iambient
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Fonte de luz ambiente
•Cena iluminada apenas pela luz ambiente:
Posição da fonte
não é importante
Posição do
observador
não é importante
Ângulo de
incidência
não é importante
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Componente de luz ambiente
• Representa a reflexão de toda a iluminação
indireta
D. Brogan
Univ. of Virginia
Alberto Raposo – PUC-Rio
É um “truque” para evitar complexidade
do modelo de iluminação global!
Fontes de luz direcionais
• Para uma fonte direcional, algumas simplificações
também são assumidas:
– A direção de iluminação é constante para todas as
superfícies da cena
– Todos os raios de luz são paralelos
• Como se a fonte estivesse no infinito
• Boa aproximação para luz do Sol
• A direção da superfície em
relação à da luz é importante
D. Brogan
Univ. of Virginia
– Posição da fonte e do observador não são importantes
Alberto Raposo – PUC-Rio
Fontes de luz direcionais
•A mesma cena anterior, agora com luz
ambiente e direcional
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Comparando:
Só luz ambiente
Alberto Raposo – PUC-Rio
Luz ambiente + fonte direcional
D. Brogan
Univ. of Virginia
Fontes de luz puntuais
•Uma fonte puntual emite luz igualmente em
todas as direções a partir de um único ponto
•A direção da luz que chega em uma
superfície é diferente em cada ponto:
l
– Precisa calcular um vetor
normalizado de cada ponto
iluminado da superfície até a fonte:
p
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Spot Lights
•Spots são fontes puntuais cuja intensidade
reduz (falls off) direcionalmente.
– Requerem cor, ponto
(localização), direção,
parâmetros de falloff
– Existem em OpenGL e
VRML
Alberto Raposo – PUC-Rio
VRML / X3D
• Iluminação:
– Directional Light
– PointLight
– SpotLight
• Componente Ambiente é associado a cada uma
das fontes individuais (campo ambientIntensity)
Alberto Raposo – PUC-Rio
VRML – Directional Light
The annotated VRML ref.
Alberto Raposo – PUC-Rio
VRML – Directional Light
Alberto Raposo – PUC-Rio
The annoteted VRML ref.
VRML – Point Light
Alberto Raposo – PUC-Rio
VRML – Point Light
Alberto Raposo – PUC-Rio
The annoteted VRML ref.
VRML – Spot Light
SpotLight {
color 1 1 1
location 0 0 0
direction 0 0 -1
radius 100
cutOffAngle 0.785398
beamWidth 1.570796
on TRUE (...) }
Alberto Raposo – PUC-Rio
VRML – Spot Light
Alberto Raposo – PUC-Rio
The annoteted VRML ref.
Fontes de Área
•Definem uma superfície 2-D emissiva (por
ex., disco ou polígono)
– exemplo: painel de luz fluorescente
D. Brogan
Univ. of Virginia
Alberto Raposo – PUC-Rio
Luzes - Atenuação
M. Gattass, PUC-Rio
Alberto Raposo – PUC-Rio
Sumário
• Iluminação direta (local)
D. Brogan
Univ. of Virginia
√ Emissão nas fontes de luz
– Dispersão nas superfícies
• Iluminação global
– Sombras
– Refrações
– Reflexões Inter-objetos
Alberto Raposo – PUC-Rio
Iluminação direta
Modelando a Reflectância das Superfícies
• Rs(q,f,g,y,l) ...
–
–
–
–
descreve a quantidade de energia incidente,
l
chegando na direção (q,f), ...
saindo na direção (g,y), …
(q,f)
com comprimento de
onda l
(y,l)
Superfície
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Modelos Empíricos
• Idealmente deveriam medir energia radiante
para “todas” as combinações de ângulos de
l
incidência
– Muita informação
– Difícil na prática
(q,f)
(y,l)
Superfície
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
A física da reflexão
•Reflexão difusa ideal
– Um refletor difuso ideal, microscopicamente, é superfície
extremamente rugosa
– Devido a essas variações microscópicas, raio de luz
recebido pela superfície se reflete igualmente em qualquer
direção do “hemisfério”:
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Reflexão difusa
• Quanto de luz é refletida?
– Depende do ângulo da luz incidente
dL  dA cos 
q
dL
dA
Superfície
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Lei do Cosseno de Lambert
•Superfícies difusas ideais refletem de acordo com a
lei do cosseno de Lambert:
A energia refletida de uma fonte de luz em uma dada direção
por um pequeno pedaço de uma superfície é proporcional ao
cosseno do ângulo entre aquela direção e a normal da
superfície naquele pequeno pedaço
•São as chamadas: superfícies lambertianas
•Intensidade refletida depende da orientação da
superfície em relação à fonte de luz, mas independe
da direção de visualização do observador
Alberto Raposo – PUC-Rio
Lei de Lambert
D. Brogan
Univ. of Virginia
Alberto Raposo – PUC-Rio
Computando a Reflexão Difusa
•O ângulo entre a normal da superfície e o raio
incidente é chamado ângulo de incidência:
l
n
q
•Idiffuse = kd Ilight cos q
•Na prática, usa-se aritmética de vetores
•Idiffuse = kd Ilight (n • l)
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Componente de reflexão difusa
nˆ
Lˆ
M. Gattass, PUC-Rio
nˆ
Lˆ
Lˆ
nˆ
( 
( 
( 
ˆ
 lr kdr nˆ  L
 I r   lr   kdr 
 lr kdr 

     


ˆ
ˆ
ˆ
 I g    l g    kdg  nˆ  L   l g kdg  nˆ  L   l g kdg nˆ  L

 I  l  k 
l k 
ˆ
ˆ L
l
k
n
b
db
 b   b   db 
 b db 

( 
Alberto Raposo – PUC-Rio
( 
I, l, k  [0 ,1 ]
Exemplos de incidência difusa
•Consideram-se ângulos de incidência entre
0° e 90°
•Uma esfera lambertiana vista com diferentes
ângulos de incidência:
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Reflexão Especular
•Superfícies brilhantes exibem reflexão especular
– Ex.: Metal polido
• O “brilho” da luz sobre superfície especular gera
“mancha” brilhante: specular highlight
•Onde esses highlights aparecem é função da posição
do observador:
– Reflexão especular depende da visão do observador!
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
A física da reflexão especular
•No nível microscópico, superfície especular é
muito lisa
•Raios de luz tendem a “bater” e refletir como
espelhos
•Quanto mais lisa, mais próxima do espelho
perfeito
Alberto Raposo – PUC-Rio
A óptica da reflexão
•Reflexão segue Lei de Snell:
– O raio incidente e o refletido estão no mesmo
plano que a normal à superfície
– O ângulo que o raio refletido forma com a normal
à superfície é igual ao ângulo formado pelo raio
incidente e a normal:
q(l)ight = q(r)eflection
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Reflexão Especular
• Reflexão é mais forte perto do ângulo do
espelho
N
R
q
q
L
D. Brogan
Univ. of Virginia
Alberto Raposo – PUC-Rio
Geometria da Reflexão
D. Brogan
Univ. of Virginia
N
RN(L)
L
qL qR
Alberto Raposo – PUC-Rio
qL=qR
Geometria da Reflexão
D. Brogan
Univ. of Virginia
N
L
cos(qi)N
qL qR
Alberto Raposo – PUC-Rio
(N.L)N
qL=qR
RN(L)
Geometria da Reflexão
D. Brogan
Univ. of Virginia
2(N.L)N
N
RN(L)
L
qL qR
Alberto Raposo – PUC-Rio
qL=qR
Geometria da Reflexão
D. Brogan
Univ. of Virginia
2(N.L)N
L
N
RN(L)
L
qL qR
Alberto Raposo – PUC-Rio
qL=qR
Geometria da Reflexão
D. Brogan
Univ. of Virginia
2(N.L)N
L
N
RN(L)
L
qL qR
Alberto Raposo – PUC-Rio
RN ( L)  2(N  LN  L
qL=qR
Reflectância especular não-ideal
•Lei de Snell se aplica para superfícies perfeitas mas,
tirando os espelhos, poucas superfícies têm essa perfeição
na reflexão
•Como capturar as reflexões
“softs” de uma superfície
não-perfeita?
•Hipótese: a maior parte da luz se reflete de acordo com Lei
de Snell, mas alguma luz se reflete em direções
ligeiramente diferentes da ideal
D. Brogan
Alberto Raposo – PUC-Rio
Univ. of Virginia
Reflectância especular não-ideal:
Aproximação Empírica
•Ilustração da distribuição da reflexão:
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Modelo de Iluminação de Phong
•Modelo mais usado em Computação Gráfica:
Ispecular  ksIlight(cosf 
nshiny
•nshiny é constante puramente
empírica que faz variar a
taxa de falloff da reflexão
•Nenhum fundamento físico,
mas “funciona” em Computação
Gráfica
v
Alberto Raposo – PUC-Rio
D. Brogan, Univ. of Virginia
Modelo de Iluminação de Phong
•O termo do cos pode ser calculado via
aritmética de vetores:
Ispecular  ksIlight(v  r 
nshiny
– v é o vetor unitário em direção ao observador
– r é a direção de reflexão ideal
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
v
Phong: o termo nshiny
brilho
f
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Componente de reflexão
especular
M. Gattass, PUC-Rio
rˆ
nˆ
vˆ
Lˆ
 lr k sr (rˆ  vˆ n 
 I r   lr   k sr 
 lr k sr 


     


n
n
n
 I g    l g    k sg (rˆ  vˆ    l g k sg (rˆ  vˆ    l g k sg (rˆ  vˆ  

n 
 I  l  k 
l k 

ˆ
ˆ
(

l
k
r

v
b
sb
 b   b   sb 
 b sb 


Alberto Raposo – PUC-Rio
I, l, k  [0 ,1 ]
Exemplos: Phong
•Esferas com modelo de Phong, variando l e
nshiny:
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Combinando Tudo
• Modelo analítico simples:
–
–
–
–
reflexão difusa +
reflexão especular +
emissão +
“ambiente”
Superfície
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Combinando Tudo
• Modelo analítico simples:
–
–
–
–
reflexão difusa +
reflexão especular +
emissão +
“ambiente”
Surface
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Equação Final Combinada
D. Brogan
Univ. of Virginia
• Para uma fonte de luz:
N
observador
R
a
q
q
L
V
I  I E  K A I AL  KD ( N  L)I L  KS (V  R)n I L
Alberto Raposo – PUC-Rio
Equação Final Combinada
• Para várias fontes de luz:
D. Brogan
Univ. of Virginia
N
observador
L1
L2
V
I  I E  K A I AL  i ( K D ( N  Li ) I i  K S (V  Ri ) I i )
n
Alberto Raposo – PUC-Rio
Modelo de Reflectância do OpenGL
• Soma difusa, especular, emissão e ambiente
D. Brogan
Univ. of Virginia
Alberto Raposo – PUC-Rio
VRML – Material Node
Alberto Raposo – PUC-Rio
Sumário
• Iluminação direta (local)
D. Brogan
Univ. of Virginia
√ Emissão nas fontes de luz
√ Dispersão nas superfícies
• Iluminação global
– Sombras
– Refrações
– Reflexões Inter-objetos
Alberto Raposo – PUC-Rio
Iluminação direta
Iluminação Global
• Noção de que um ponto é iluminado não só
pelos raios provenientes das fontes locais, mas
também por todos os emissores e refletores na
cena global
Alberto Raposo – PUC-Rio
Exemplo: reflexão de outros objetos
M. Gattass, PUC-Rio
Raio refletido: p(t )  pi  t rˆ
nˆ
rˆ
q
vˆ
q
pi
Superfície especular
Alberto Raposo – PUC-Rio
Aplicando a Iluminação: Tonalização
(Shading)
• Já temos modelo de iluminação para ponto
na superfície
• Assumindo que superfícies são malhas de
polígonos, que pontos usar?
– É cálculo muito custoso
– Há várias possibilidades, cada uma gerando
qualidade visual diferente
Alberto Raposo – PUC-Rio
Aplicando a Iluminação
• Com malhas poligonais/triangulares:
– Cada face tem normal constante
– Se a luz é direcional, a reflexão difusa é
constante ao longo da face. (Só depende da
normal – constante – e da direção de incidência
dos raios – também constante no caso de luz
direcional.)
Alberto Raposo – PUC-Rio
Flat Shading
• Abordagem mais simples: calcula iluminação em
um único ponto para cada polígono
D. Brogan
Univ. of Virginia
Alberto Raposo – PUC-Rio
Flat shading não é realista para
objetos facetados
• Para fontes puntuais, direção da luz varia ao
longo da face
• Para reflexão especular, a
direção dos olhos varia
ao longo da face
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Flat Shading
• Pode ser refinado usando o modelo de
iluminação de Phong em cada pixel de cada
polígono, mas o resultado ainda será
claramente facetado:
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Normais dos vértices
•Para conseguir visualizações mais
“lisas” das superfícies, pode-se usar
a normais dos vértices de cada
polígono
– Geralmente diferente da normal da face
– Usada apenas para shading
– Imagine como uma melhor aproximação da
superfície real do que os polígonos
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Normais dos vértices
• Podem ser
– Dadas com o modelo
– Calculadas diretamente
– Aproximadas pela
média das normais
das faces que
copartilham o
vértice
Alberto Raposo – PUC-Rio
D. Brogan
Univ. of Virginia
Gouraud Shading
D. Brogan
Univ. of Virginia
• Abordagem mais comum em CG
– Executa modelo de iluminação de Phong nos vértices
– Interpola linearmente os resultados sobre as faces
• Ao longo das arestas
C1
c + t (c -c )
• Ao longo das scanlines
1
1
2
1
– OpenGL, VRML
C3
c1 + t1(c2-c1) + t3(c1 + t2(c3-c1)- c1 + t1(c2-c1)) C2
Alberto Raposo – PUC-Rio
c1 + t2(c3-c1)
Gouraud Shading
• Artefatos aparecem às vezes
• Não tem componente especular preciso
D. Brogan
Univ. of Virginia
– Se existente, seria “distribuído” em todo o
polígono
C1
C3
Alberto Raposo – PUC-Rio
C2
Não dá para fazer esse efeito!
Gouraud Shading

Artefatos
D. Brogan
Univ. of Virginia
– Mach Banding

Ocorre nas descontinuidades de intensidade ou na
C1
derivada da intensidade
http://www.edcenter.sdsu.edu/slides/GA/visteacher/sld048.htm
C4
C3
C2
Alberto Raposo – PUC-Rio
Descontinuidade na
taxa de mudança
de cores
Phong Shading
• Não é a mesma coisa que o modelo de
iluminação de Phong!
D. Brogan
Univ. of Virginia
– Phong lighting: modelo empírico que foi mostrado
para cálculo da iluminação em um ponto de uma
superfície
– Phong shading: interpolação linear da normal da
superfície ao longo da face, aplicando o modelo de
iluminação de Phong em cada pixel
• Mesmo input que Gouraud
• Resultados geralmente muito melhores
• Muito mais caro computacionalmente
Alberto Raposo – PUC-Rio
Phong Shading
D. Brogan
Univ. of Virginia
• Interpola linearmente as normais dos vértices
– Calcula equações de iluminação em cada pixel
– Pode usar componente especular
N1
N4
I total  ka I ambient 
N3
N2
Alberto Raposo – PUC-Rio
#lights

i 1
(
 (
I i  kd Nˆ  Lˆi  k s Vˆ  Rˆi


nshiny


Normais são usadas nas
componentes difusa e especular
Descontinuidade na derivada da
normal é mais difícil de detectar
visualmente
Suavização da tonalização
M. Gattass, PUC-Rio
Gouraud
c1
Phong
c4
N1
c12
c
N4
c43
N
N12
N43
c
c2
c3
Alberto Raposo – PUC-Rio
N2
N3
Limitações das Tonalizações
• Silhuetas poligonais permanecem
Gouraud
Phong
D. Brogan
Univ. of Virginia
Alberto Raposo – PUC-Rio
Resumo de tonalização
• Flat Shading
– Calcula a iluminação de Phong uma única vez para
cada polígono
• Gouraud Shading
– Calcula a iluminação de Phong para os vértices e
interpola os valores obtidos ao longo do polígono
• Phong Shading
– Interpola as normais ao longo do polígono e calcula a
iluminação de Phong ao longo de todo o polígono
Alberto Raposo – PUC-Rio
Informações Adicionais
•
•
•
•
•
Peter Shirley. Fundamentals of Computer Graphics, A K
Peters, Ltd., Natick, MA, USA, 2002.
Foley, J. D., Van Dam, A., Feiner, S. K., e Huhes, J. F.,
Phlips, L. R., Introduction to Computer
Graphics, Addison-Wesley, 1995.
Rogers, D. F., Procedural Elements for Computer
Graphics. McGraw-Hill, 1985
Marcelo Gattass: notas de aula. http://www.tecgraf.pucrio.br/~mgattass/cg.html
The Annotated VRML 97 Reference:
http://accad.osu.edu/~pgerstma/class/vnv/resources/info/
AnnotatedVrmlRef/Book.html
Alberto Raposo – PUC-Rio
Download

16_Iluminacao - PUC-Rio