Post on 07-Jan-2016
description
Iluminao
Fonte: Material do Prof. Claudio Esperana
e do Prof. Paulo Roma Cavalcanti
Mrcio Bueno
{cgtarde,cgnoite}@marciobueno.com)
Iluminao
Estudo de como a luz
interage com objetos de
uma cena
Emisso
Transmisso
Absoro
Refrao
Reflexo
2 Computao Grfica - Mrcio Bueno
Modelo Fsico
Luz modelada como radiao eletromagntica
Leva em conta todas as interaes (todos os caminhos da
luz)
Intratvel computacionalmente
3 Computao Grfica - Mrcio Bueno
Modelos de Iluminao
Tipicamente, a luz amostrada em um nmero discreto
de primrias (comprimentos de onda)
Modelos locais (primeira ordem)
Apenas caminhos do tipo fonte luminosa superfcie olhoso tratados
Simples
Ex.: OpenGL
Modelos globais
Muitos caminhos (ray tracing, radiosidade)
Complexos
4 Computao Grfica - Mrcio Bueno
Modelo de Booknight
Considera apenas a reflexo difusa.
Iluminao recebida em um ponto de uma superfcie refletida
uniformemente em todas as direes
Contribuio proveniente da iluminao recebida de
forma indireta modelada como uma constante.
Baseia-se apenas na reflexo lambertiana.
5 Computao Grfica - Mrcio Bueno
Iluminao Difusa
Caracterstica de materiais foscos.
Lei de Lambert (fluxo de energia):
a luminosidade aparente da superfcie no depende da
posio do observador, mas apenas do cosseno do ngulo
entre a normal e a direo da luz
6 Computao Grfica - Mrcio Bueno
Modelo Difuso
Intensidade em um ponto p dada por:
)(cosNL
NLkIkIkIkII ddaaddaap
N
Lp
7 Computao Grfica - Mrcio Bueno
Iluminao Especular
Simula a reflexo maneira de um espelho (objetos altamente polidos).
Depende da disposio entre observador, objeto e fonte de luz.
Em um espelho perfeito, a reflexo se d em ngulos iguais
Observador s enxergaria a reflexo de uma fonte pontual se estivesse na direo certa.
No modelo de Phong, simulam-se refletores imperfeitos assumindo que luz refletida segundo um cone cujo eixo passa pelo observador.
8 Computao Grfica - Mrcio Bueno
Modelo de Phong
Contribuio especular dada por
n
ee
n
eepER
ERkIkII )(cos
N
L
R
Ep
9 Computao Grfica - Mrcio Bueno
Coeficiente de Especularidade
Indica quo polida a superfcie
Espelho ideal tem especularidade infinita
Na prtica, usam-se valores entre 5 e 100
10 Computao Grfica - Mrcio Bueno
Componentes do Modelo de Phong
Emisso: contribuio que no depende de fontes de luz
(fluorescncia)
Ambiente: contribuio que no depende da geometria
Difusa: contribuio correspondente ao espalhamento da
reflexo lambertiana (independe da posio do
observador)
Especular: contribuio referente ao comportamento de
superfcies polidas
11 Computao Grfica - Mrcio Bueno
Componentes do Modelo de Phong
n
eeddaap NHkINLkIkII ,,
Difusa Especular Ambiente12
Iluminao em OpenGL
Assume fontes pontuais de luz
Onidirecionais
Spot
Interaes de luz com superfcie modeladas em componentes (modelo de Phong):
Emisso
Ambiente
Difusa
Especular
13 Computao Grfica - Mrcio Bueno
Iluminao em OpenGL
Suporte a efeitos atmosfricos como:
Fog
Atenuao
Modelo de iluminao computado apenas nos vrtices
dos polgonos.
Suporta Gouraud shading
Cor dos pixels no interior dos polgonos obtida por
interpolao linear.
14 Computao Grfica - Mrcio Bueno
Fontes de Luz
Para ligar uma fonte: glEnable (source);
source uma constante cujo nome GL_LIGHTi, comeando
com GL_LIGHT0
Quantas? Pelo menos 8, mas para ter certeza:
glGetIntegerv( GL_MAX_LIGHTS, &n );
No esquecer de ligar o clculo de cores pelo modelo de
iluminao
glEnable (GL_LIGHTING);
15 Computao Grfica - Mrcio Bueno
Fontes de Luz
Para configurar as propriedades de cada fonte: glLightfv(source, property, value);
Property uma constante designando:
Coeficientes de cor usados no modelo de iluminao: GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR
Geometria da fonte
GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_CUTOFF, GL_SPOT_EXPONENT
Coeficientes de atenuao GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION,
GL_QUADRATIC_ATTENUATION
16 Computao Grfica - Mrcio Bueno
Propriedades de Material
Especificados por
glMaterialfv (face, property, value)
Face designa quais lados da superfcie se quer configurar:
GL_FRONT, GL_BACK, GL_FRONT_AND_BACK
Property designa a propriedade do modelo de iluminao:
GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR,
GL_EMISSION, GL_SHININESS
17 Computao Grfica - Mrcio Bueno
Geometria
Alm das propriedades da luz e do material, a geometria
do objeto tambm importante
A posio dos vrtices com relao ao olho e fonte luminosa
contribui no clculo dos efeitos atmosfricos
A normal fundamental
No calculada automaticamente
Precisa ser especificada com glNormal ()
18 Computao Grfica - Mrcio Bueno
Computando o Vetor Normal
Tringulo
Dados trs vrtices,
Polgono planar
Uma opo usar a frmula do tringulo para quaisquer 3 vrtices Sujeito a erros (vetores pequenos ou quase colineares)
Outra opo determinar a equao do plano ax + by + cz + d = 0
Normal tem coordenadas (a, b, c)
))()((normalizar ACBAn
A
CB
19 Computao Grfica - Mrcio Bueno
Calculando o Vetor Normal de Superfcies
Implcitas
Normal dada pelo vetor
gradiente
zf
yf
xf
n
zyxf
/
/
/
0),,(
f (x,y,z) = c2
f (x,y,z) = c1
f (x,y,z) = c320 Computao Grfica - Mrcio Bueno
Calculando o Vetor Normal de
Superfcies Paramtricas
u
f
Normal dada pelo
produto vetorial dos
gradientes em relao aos
parmetros u e v
vf
vf
vf
uf
uf
uf
v
f
u
fn
vuf
vuf
vuf
P
z
y
x
z
y
x
z
y
x
/
/
/
/
/
/
),(
),(
),(
v
f
n
21 Computao Grfica - Mrcio Bueno
Iluminao Ambiente
Componente que modela como uma constante o efeito
da reflexo de outros objetos do ambiente
Depende dos coeficientes GL_AMBIENT tanto das
fontes luminosas quanto dos materiais
ainda possvel usar luminosidade ambiente no
relacionada com fontes luminosas glLightMaterialfv (GL_LIGHT_MODEL_AMBIENT,
params)
Contribuio dada por
aakIA
22 Computao Grfica - Mrcio Bueno
Atenuao
Para fontes de luz posicionais (w = 1), possvel definir um fator de atenuao que leva em conta a distncia d entre a fonte de luz e o objeto sendo iluminado
Coeficientes so definidos pela funo glLight ()
Por default, no h atenuao (c0=1, c1=c2=0)
2
210
1
dcdccaten
23 Computao Grfica - Mrcio Bueno
Juntando tudo
A atenuao s aplicada sobre s componentes difusa e
especular.
A frmula que calcula a cor de um vrtice devida a uma fonte
luminosa i dada por:
iiii SDatenAC
Portanto, no total, a cor dada pela contribuio da iluminao ambiente (parcela no associada com fontes de luz) somada luz emitida e s contribuies Ci
iii SDatenAEAmbC
24 Computao Grfica - Mrcio Bueno