pipeline gráfico - puc-riowebserver2.tecgraf.puc-rio.br/~abraposo/inf1366/2005/12... · 2005. 10....
TRANSCRIPT
1
Alberto Raposo – PUC-Rio
INF 1366 – Computação Gráfica Interativa
Iluminação e Shading
Alberto B. [email protected]
http://www.tecgraf.puc-rio.br/~abraposo/INF1366/index.htm
Alberto Raposo – PUC-Rio
Pipeline GráficoModeling
Transformations
Illumination(Shading)
Viewing Transformation(Perspective / Orthographic)
Clipping
Projection (to Screen Space)
Scan Conversion(Rasterization)
Visibility / Display
Cluter & Durand, MIT
√
√
√
√
√
√
2
Alberto Raposo – PUC-Rio
Iluminação• Como computar a irradiação de um raio de
luz?
Angel Figure 6.2
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
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”
D. BroganUniv. of Virginia
3
Alberto Raposo – PUC-Rio
Sumário
• Iluminação direta (local)– Emissão nas fontes de luz– Dispersão nas superfícies
• Iluminação global– Sombras– Refrações– Reflexões Inter-objetos
Iluminação direta
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Modelando Fontes de Luz
• IL(x,y,z,θ,φ,λ) ... – descreve a intensidade de energia, – saindo de uma fonte de luz, …– shegando em (x,y,z), ...– da direção (θ,φ), ...– com comprimento
de onda λ
(x,y,z)
Light D. BroganUniv. of Virginia
4
Alberto Raposo – PUC-Rio
Modelos Empíricos
• Idealmente medem energia irradiada em“todas” as situações– Muita informação– Difícil na prática
λ
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Luz Ambiente•Objetos que não são iluminados diretamente sãogeralmente 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
5
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 umasuperfí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 IambientD. BroganUniv. of Virginia
6
Alberto Raposo – PUC-Rio
Fonte de luz ambiente•Cena iluminada apenas pela luz ambiente:
Posição da fontenão é importante
Posição do observador
não é importante
Ângulo de incidência
não é importante
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Componente de luz ambiente
É um “truque” para evitar complexidadedo modelo de iluminação global!
• Representa a reflexão de toda a iluminaçãoindireta
D. BroganUniv. of Virginia
7
Alberto Raposo – PUC-Rio
Fontes de luz direcionais
• Para uma fonte direcional, algumas simplificaçõestambé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 emrelação à da luz é importante– Posição da fonte e do observador não são importantes
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Fontes de luz direcionais•A mesma cena anterior, agora com luzambiente e direcional
D. BroganUniv. of Virginia
8
Alberto Raposo – PUC-Rio
Comparando:
D. BroganUniv. of Virginia
Só luz ambiente Luz ambiente + fonte direcional
Alberto Raposo – PUC-Rio
Fontes de luz puntuais
•Uma fonte puntual emite luz igualmente emtodas as direções a partir de um único ponto•A direção da luz que chega em umasuperfície é diferente em cada ponto:– Precisa calcular um vetor
normalizado de cada pontoiluminado da superfície até a fonte:
p
l
D. BroganUniv. of Virginia
9
Alberto Raposo – PUC-Rio
Spot Lights
•Spots são fontes puntuais cuja intensidadereduz (falls off) direcionalmente. – Requerem cor, ponto
(localização), direção,parâmetros de falloff
– Existem em OpenGL eVRML
Alberto Raposo – PUC-Rio
VRML• Iluminação:
– Directional Light– PointLight– SpotLight
• Componente Ambiente é associado a cada umadas fontes individuais (campo ambientIntensity)
10
Alberto Raposo – PUC-Rio
VRML – Directional Light
The annotated VRML ref.
Alberto Raposo – PUC-Rio
VRML – Directional Light
• 12_directional.wrl
The annoteted VRML ref.
11
Alberto Raposo – PUC-Rio
VRML – Point Light
Alberto Raposo – PUC-Rio
VRML – Point Light
• 13_point.wrl
The annoteted VRML ref.
12
Alberto Raposo – PUC-Rio
VRML – Spot Light
SpotLight {color 1 1 1location 0 0 0direction 0 0 -1radius 100cutOffAngle 0.785398beamWidth 1.570796
on TRUE (...) }
Alberto Raposo – PUC-Rio
VRML – Spot Light
• 12_spot.wrl
The annoteted VRML ref.
13
Alberto Raposo – PUC-Rio
Fontes de Área•Definem uma superfície 2-D emissiva (porex., disco ou polígono)– exemplo: painel de luz fluorescente
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Luzes - AtenuaçãoM. Gattass, PUC-Rio
14
Alberto Raposo – PUC-Rio
Sumário
• Iluminação direta (local)√ Emissão nas fontes de luz– Dispersão nas superfícies
• Iluminação global– Sombras– Refrações– Reflexões Inter-objetos
Iluminação direta
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Modelando a Reflectância das Superfícies
• Rs(θ,φ,γ,ψ,λ) ... – descreve a quantidade de energia incidente, – chegando na direção (θ,φ), ...– saindo na direção (γ,ψ), …– com comprimento de
onda λ
Superfície
(θ,φ)
(ψ,λ)
λ
D. BroganUniv. of Virginia
15
Alberto Raposo – PUC-Rio
Modelos Empíricos
• Idealmente deveriam medir energia radiantepara “todas” as combinações de ângulos de incidência– Muita informação– Difícil na prática
Superfície
(θ,φ)
(ψ,λ)
λ
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
•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 qualquerdireção do “hemisfério”:
A física da reflexão
D. BroganUniv. of Virginia
16
Alberto Raposo – PUC-Rio
Reflexão difusa
• Quanto de luz é refletida?– Depende do ângulo da luz incidente
Superfície
dLΘ= cosdAdL
dA
θ
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Lei do Cosseno de Lambert•Superfícies difusas ideais refletem de acordo com a lei do cosseno de Lambert:
A energia refletidade uma fonte de luz em uma dada direçãopor um pequeno pedaço de uma superfície é proporcional aocosseno do ângulo entre aquela direção e a normal dasuperfície naquele pequeno pedaço
•São as chamadas: superfícies lambertianas•Intensidade refletida depende da orientação dasuperfície em relação à fonte de luz, mas independeda direção de visualização do observador
17
Alberto Raposo – PUC-Rio
Lei de Lambert
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Computando a Reflexão Difusa•O ângulo entre a normal da superfície e o raioincidente é chamado ângulo de incidência:
•Idiffuse = kd Ilight cos θ•Na prática, usa-se aritmética de vetores
•Idiffuse = kd Ilight (n • l)
nl
θ
D. BroganUniv. of Virginia
18
Alberto Raposo – PUC-Rio
Componente de reflexão difusa
( ) ( )( )( )( )⎟⎟
⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
⋅⋅⋅
=⋅⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛=⋅
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛⊗⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛=
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
LnLnLn
LnLnˆˆ
ˆˆ
ˆˆˆˆˆˆ
dbb
dgg
drr
dbb
dgg
drr
db
dg
dr
b
g
r
b
g
r
klklkl
klklkl
kkk
lll
III
I, l, k ∈ [0 ,1 ]
L̂ n̂
n̂L̂
n̂L̂M. Gattass, PUC-Rio
Alberto Raposo – PUC-Rio
Exemplos de incidência difusa
•Consideram-se ângulos de incidência entre0° e 90°•Uma esfera lambertiana vista com diferentesângulos de incidência:
D. BroganUniv. of Virginia
19
Alberto Raposo – PUC-Rio
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çãodo observador:– Reflexão especular depende da visão do observador!
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
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 comoespelhos•Quanto mais lisa, mais próxima do espelhoperfeito
20
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 raioincidente e a normal:
θ(l)ight = θ(r)eflection
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Reflexão Especular
• Reflexão é mais forte perto do ângulo do espelho
N
LR θθ
D. BroganUniv. of Virginia
21
Alberto Raposo – PUC-Rio
Geometria da Reflexão
N
L RN(L)
θL θR
θL=θR
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Geometria da Reflexão
N
L RN(L)
θL θR
θL=θR
cos(θi)N
(N.L)N
D. BroganUniv. of Virginia
22
Alberto Raposo – PUC-Rio
Geometria da Reflexão
N
L RN(L)
θL θR
θL=θR
2(N.L)ND. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Geometria da Reflexão
N
L RN(L)
θ θ
θL=θR
L2(N.L)N
θL θR
D. BroganUniv. of Virginia
23
Alberto Raposo – PUC-Rio
Geometria da Reflexão
N
L RN(L)
θL θR
θL=θR
L2(N.L)ND. BroganUniv. of Virginia
( ) LNLNLRN −⋅= 2)(
Alberto Raposo – PUC-Rio
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çãona reflexão
•Como capturar as reflexões“softs” de uma superfícienão-perfeita?
•Hipótese: a maior parte da luz se reflete de acordo com Lei de Snell, mas alguma luz se reflete em direçõesligeiramente diferentes da ideal D. Brogan
Univ. of Virginia
24
Alberto Raposo – PUC-Rio
Reflectância especular não-ideal: Aproximação Empírica
•Ilustração da distribuição da reflexão:
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Modelo de Iluminação de Phong
•Modelo mais usado em Computação Gráfica:
( ) shinynlightsspecular IkI φcos=
•nshiny é constante puramenteempírica que faz variar a taxa de falloff da reflexão•Nenhum fundamento físico,mas “funciona” em ComputaçãoGráfica
v
D. Brogan, Univ. of Virginia
25
Alberto Raposo – PUC-Rio
Modelo de Iluminação de Phong
•O termo do cos pode ser calculado via aritmética de vetores:
– v é o vetor unitário em direção ao observador– r é a direção de reflexão ideal
( ) shinynlightsspecular rvIkI ⋅=
v
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Phong: o termo nshiny
φ
brilho
D. BroganUniv. of Virginia
26
Alberto Raposo – PUC-Rio
Componente de reflexãoespecular
( ) ( )( )( )( ) ⎟⎟
⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
⋅⋅⋅
=⋅⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛=⋅
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛⊗⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛=
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
nsbb
nsgg
nsrr
n
sbb
sgg
srrn
sb
sg
sr
b
g
r
b
g
r
klklkl
klklkl
kkk
lll
III
vrvrvr
vrvrˆˆˆˆˆˆ
ˆˆˆˆ
I, l, k ∈ [0 ,1 ]
n̂
L̂
r̂v̂
M. Gattass, PUC-Rio
Alberto Raposo – PUC-Rio
Exemplos: Phong
•Esferas com modelo de Phong, variando l e nshiny:
D. BroganUniv. of Virginia
27
Alberto Raposo – PUC-Rio
Combinando Tudo
• Modelo analítico simples: – reflexão difusa +– reflexão especular +– emissão +– “ambiente”
Superfície
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Combinando Tudo
• Modelo analítico simples: – reflexão difusa +– reflexão especular +– emissão +– “ambiente”
D. BroganUniv. of Virginia
Surface
28
Alberto Raposo – PUC-Rio
Equação Final Combinada
• Para uma fonte de luz:
Ln
SLDALAE IRVKILNKIKII )()( •+•++=
N
LR
V
observadorα
θθ
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Equação Final Combinada• Para várias fontes de luz:
))()((∑ •+•++=i i
niSiiDALAE IRVKILNKIKII
N
L2
V
observador L1
D. BroganUniv. of Virginia
29
Alberto Raposo – PUC-Rio
Modelo de Reflectância do OpenGL
• Soma difusa, especular, emissão e ambiente
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
VRML – Material Node
12_material.wrl
30
Alberto Raposo – PUC-Rio
Sumário
• Iluminação direta (local)√ Emissão nas fontes de luz√ Dispersão nas superfícies
• Iluminação global– Sombras– Refrações– Reflexões Inter-objetos
Iluminação direta
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Iluminação Global
• Noção de que um ponto é iluminado não sópelos raios provenientes das fontes locais, mastambém por todos os emissores e refletores nacena global
31
Alberto Raposo – PUC-Rio
Exemplo: reflexão de outros objetos
Superfície especular
n̂v̂θ
θ
ipr̂
rpp ˆ)(: ttrefletidoRaio i +=
M. Gattass, PUC-Rio
Alberto Raposo – PUC-Rio
Aplicando a Iluminação: Tonalização (Shading)
• Já temos modelo de iluminação para pontona 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
32
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 danormal – constante – e da direção de incidênciados raios – também constante no caso de luzdirecional.)
Alberto Raposo – PUC-Rio
Flat Shading• Abordagem mais simples: calcula iluminação em
um único ponto para cada polígono
D. BroganUniv. of Virginia
33
Alberto Raposo – PUC-Rio
Flat shading não é realista paraobjetos facetados
• Para fontes puntuais, direção da luz varia aolongo da face
• Para reflexão especular, adireção dos olhos variaao longo da face
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Flat Shading
• Pode ser refinado usando o modelo de iluminação de Phong em cada pixel de cadapolígono, mas o resultado ainda seráclaramente facetado:
D. BroganUniv. of Virginia
34
Alberto Raposo – PUC-Rio
Normais dos vértices
•Para conseguir visualizações mais“lisas” das superfícies, pode-se usara normais dos vértices de cadapolí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ígonosD. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Normais dos vértices
• Podem ser – Dadas com o modelo– Calculadas diretamente– Aproximadas pela
média das normaisdas faces quecopartilham ovértice
D. BroganUniv. of Virginia
35
Alberto Raposo – PUC-Rio
Gouraud Shading
• 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• Ao longo das scanlines
C1
C2
C3
c1 + t1(c2-c1)
c1 + t2(c3-c1)c1 + t1(c2-c1) + t3(c1 + t2(c3-c1)- c1 + t1(c2-c1))
– OpenGL, VRML
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Gouraud Shading
• Artefatos aparecem às vezes• Não tem componente especular preciso
– Se existente, seria “distribuído” em todo o polígono
C1
C2
C3
Não dá para fazer esse efeito!
D. BroganUniv. of Virginia
36
Alberto Raposo – PUC-Rio
Gouraud Shading
C1
C2
C3
Artefatos– Mach Banding
Ocorre nas descontinuidades de intensidade ou naderivada da intensidade
C4
Descontinuidade nataxa de mudança
de cores
http://www.edcenter.sdsu.edu/slides/GA/visteacher/sld048.htm
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Phong Shading• Não é a mesma coisa que o modelo de
iluminação de Phong!– Phong lighting: modelo empírico que foi mostrado
para cálculo da iluminação em um ponto de umasuperfície
– Phong shading: interpolação linear da normal dasuperfí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
D. BroganUniv. of Virginia
37
Alberto Raposo – PUC-Rio
Phong Shading
• Interpola linearmente as normais dos vértices– Calcula equações de iluminação em cada pixel– Pode usar componente especular
N1
N2
N3
N4
( ) ( )∑=
⎟⎠⎞⎜
⎝⎛ ⋅+⋅+=
lights
i
n
isidiambientatotalshinyRVkLNkIIkI
#
1
ˆˆˆˆ
Normais são usadas nascomponentes difusa e especular
Descontinuidade na derivada danormal é mais difícil de detectarvisualmente
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Suavização da tonalização
c1 c4
c2
c3
c12 c43c
N1 N4
N2
N3
N12 N43
c
GouraudPhong
N
M. Gattass, PUC-Rio
38
Alberto Raposo – PUC-Rio
Limitações das Tonalizações• Silhuetas poligonais permanecem
Gouraud Phong
D. BroganUniv. 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
39
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 ComputerGraphics, Addison-Wesley, 1995.
• Rogers, D. F., Procedural Elements for ComputerGraphics. McGraw-Hill, 1985
• Marcelo Gattass: notas de aula. http://www.tecgraf.puc-rio.br/~mgattass/cg.html
• The Annotated VRML 97 Reference: http://accad.osu.edu/~pgerstma/class/vnv/resources/info/AnnotatedVrmlRef/Book.html