Upload
internet
View
109
Download
0
Embed Size (px)
Citation preview
Alberto Raposo – PUC-Rio
INF 1366 – Computação Gráfica Interativa
Iluminação e Shading
Alberto B. Raposo
[email protected]://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
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
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)
LightD. BroganUniv. of Virginia
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ã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 D. BroganUniv. of Virginia
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 complexidade do modelo de iluminação global!
• Representa a reflexão de toda a iluminação indireta
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
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– 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 luz ambiente e direcional
D. BroganUniv. of Virginia
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 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:– Precisa calcular um vetor
normalizado de cada pontoiluminado da superfície até a fonte:
p
l
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
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 eVRML
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
The annoteted VRML ref.
Alberto Raposo – PUC-Rio
VRML – Point Light
Alberto Raposo – PUC-Rio
VRML – Point Light
The annoteted VRML ref.
Alberto Raposo – PUC-Rio
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
The annoteted VRML ref.
Alberto Raposo – PUC-Rio
Fontes de Área
•Definem uma superfície 2-D emissiva (por ex., disco ou polígono)– exemplo: painel de luz fluorescente
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Luzes - AtenuaçãoM. Gattass, PUC-Rio
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
Alberto Raposo – PUC-Rio
Modelos Empíricos
• Idealmente deveriam medir energia radiante para “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 qualquer direção do “hemisfério”:
A física da reflexão
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Reflexão difusa
• Quanto de luz é refletida?– Depende do ângulo da luz incidente
Superfície
dL
cosdAdLdA
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 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. BroganUniv. 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:
•Idiffuse = kd Ilight cos •Na prática, usa-se aritmética de vetores
•Idiffuse = kd Ilight (n • l)
nl
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Componente de reflexão difusa
Ln
Ln
Ln
LnLnˆˆ
ˆˆ
ˆˆˆˆˆˆ
dbb
dgg
drr
dbb
dgg
drr
db
dg
dr
b
g
r
b
g
r
kl
kl
kl
kl
kl
kl
k
k
k
l
l
l
I
I
I
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 entre 0° e 90°
•Uma esfera lambertiana vista com diferentes ângulos de incidência:
D. BroganUniv. of Virginia
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ção do 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 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:
(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
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
Alberto Raposo – PUC-Rio
Geometria da Reflexão
N
L RN(L)
L R
L=R
2(N.L)N
D. 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
Alberto Raposo – PUC-Rio
Geometria da Reflexão
N
L RN(L)
L R
L=R
L2(N.L)N
D. 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ção na 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ções ligeiramente diferentes da ideal D. Brogan
Univ. of Virginia
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
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
Alberto Raposo – PUC-Rio
Componente de reflexão especular
nsbb
nsgg
nsrr
n
sbb
sgg
srrn
sb
sg
sr
b
g
r
b
g
r
kl
kl
kl
kl
kl
kl
k
k
k
l
l
l
I
I
I
vr
vr
vr
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
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
Alberto Raposo – PUC-Rio
Equação Final Combinada
• Para uma fonte de luz:
Ln
SLDALAE IRVKILNKIKII )()( 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 ))()((
i in
iSiiDALAE IRVKILNKIKII
N
L2
V
observador L1
D. BroganUniv. of Virginia
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
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, mas também por todos os emissores e refletores na cena global
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 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. BroganUniv. 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, adireção dos olhos varia ao 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 cada polígono, mas o resultado ainda será claramente facetado:
D. BroganUniv. of Virginia
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 normais das faces que copartilham ovértice
D. BroganUniv. of Virginia
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ígonoC1
C2
C3
Não dá para fazer esse efeito!
D. BroganUniv. of Virginia
Alberto Raposo – PUC-Rio
Gouraud Shading
C1
C2
C3
Artefatos– Mach Banding
Ocorre nas descontinuidades de intensidade ou na derivada 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 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
D. BroganUniv. of Virginia
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
isidiambientatotal
shinyRVkLNkIIkI
#
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
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
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.puc-rio.br/~mgattass/cg.html
• The Annotated VRML 97 Reference: http://accad.osu.edu/~pgerstma/class/vnv/resources/info/AnnotatedVrmlRef/Book.html