Tema 4: Modelos de Iluminaci´
on y Sombreado
Contenido
1
Introducci´
on
2
Modelo de Iluminaci´
on de Phong
Luz Ambiente
Reflexi´
on Difusa
Reflexi´
on Especular
Materiales
El modelo de Phong
3
Tipos de Fuentes de Luz
4
Modelos de Sombreado
Hoy veremos...
1
Introducci´
on
2
Modelo de Iluminaci´
on de Phong
3
Tipos de Fuentes de Luz
Introducci´
on
Un modelo de iluminaci´
on determina el color de la superficie en un
punto. Un modelo de sombreado utiliza un modelo de iluminaci´
on y
especifica cu´
ando usarlo.
Hoy veremos...
1
Introducci´
on
2
Modelo de Iluminaci´
on de Phong
Luz Ambiente
Reflexi´
on Difusa
Reflexi´
on Especular
Materiales
El modelo de Phong
3
Tipos de Fuentes de Luz
Modelo de Iluminaci´
on de Phong
”In trying to improve the quality of the synthetic images, we do not
expect to be able to display the object exactly as it would appear in
reality, with texture, overcast shadows, etc. We hope only to display an
image that approximates the real object closely enough to provide a
certain degree of realism.” – Bui Tuong Phong, 1975
Modelo de Iluminaci´
on de Phong
Este modelo tiene en cuenta los tres siguientes aspectos
Luz ambiente: luz que proporciona iluminaci´
on uniforme a lo largo
de la escena.
Reflexi´
on difusa: luz reflejada por la superficie en todas las
direcciones.
Reflexi´
on especular: luz reflejada por la superficie en una sola
direcci´
on o en un rango de ´
angulos muy cercano al ´
angulo de
Luz Ambiente
Descripci´
on
La luz ambiente I
a
que se observa en cualquier punto de una
superficie es siempre la misma.
Parte de la luz que llega a un objeto es absorbida por este, y parte
es reflejada, y se modela con el coeficiente k
a
, 0 ≤ k
a
≤ 1.
Reflexi´
on Difusa
Descripci´
on
Es caracter´ıstica de superficies rugosas, mates, sin brillo.
Se modela f´
acilmente con la Ley de Lambert. As´ı, el brillo observado
en un punto depende s´
olo del ´
angulo θ, 0 ≤ θ ≤ 90, entre la
direcci´
on a la fuente de luz L y la normal N en dicho punto.
L y N son vectores unitarios y k
d
, 0 ≤ k
d
≤ 1, representa la parte de
luz difusa reflejada por la superficie.
I
d
= k
d
L
d
cos θ = k
d
L
d
(L · N)
(2)
Atenuaci´
on
Atenuaci´
on
Al viajar desde su fuente de origen hasta el objeto situado a una
distancia d .
Los coeficientes a, b y c son constantes caracter´ısticas de la fuente
de luz.
I
d
=
k
d
Reflexi´
on Especular
Descripci´
on
Es propia de superficies brillantes, pulidas, y responsable de los
brillos que suelen observarse.
El color del brillo suele ser diferente del color de la superficie y muy
parecido al color de la fuente de luz.
Phong propone que la luz que llega al observador dependa
´
unicamente del ´
angulo Φ entre el vector de reflexi´
on perfecta R y el
vector direcci´
on del observador V .
Si R y V son vectores unitarios, k
s
, 0 ≤ k
s
≤ 1, representa la parte
de luz especular reflejada por la superficie y α modela el brillo
caracter´ıstico del material de la superficie.
I
s
= k
s
L
s
cos
α
Φ = k
s
L
s
(R · V )
α
(4)
R = 2N(N · L) − L
(5)
El valor de α
Un valor igual a 1 modela un brillo grande.
Valores mucho mayores, por ejemplo entre 100 y 500, modelan
brillos m´
as peque˜
nos propios de materiales, por ejemplo, met´
alicos.
Materiales
En el modelo de Phong
Se tiene en cuenta las propiedades del material del objeto al calcular
la iluminaci´
on y as´ı proporcionar mayor realismo.
En concreto son cuatro:
ambiente k
a,
difusa k
d,
especular k
sy brillo α.
Por ejemplo:
Esmeralda:
k
a
[]= { 0.022, 0.17, 0.02, 1.0 }
k
d
[]= { 0.08, 0.61, 0.08 ,1.0 }
k
s
[]= { 0.63, 0.73, 0.63, 1.0 }
α[]= { 0.6 }
El modelo de Phong
En resumen
I = k
a
L
a
+
1
a + bd + cd
2
(k
d
L
d
(L · N) + k
s
L
s
(R · V )
α
)
(6)
Listado 1: Funci´
on que implementa para una fuente de luz el modelo de
iluminaci´
on de Phong sin incluir el factor de atenuaci´
on
// Ka , Kd , Ks , a l f a , La , Ld y L s s o n v a r i a b l e s u n i f o r m e s // N , L y V s e asumen n o r m a l i z a d o s v e c 4 phong ( v e c 3 N , v e c 3 L , v e c 3 V) { v e c 4 a m b i e n t = Ka ∗ La ; v e c 4 d i f f u s e = v e c 4 ( 0 . 0 ) ; v e c 4 s p e c u l a r = v e c 4 ( 0 . 0 ) ; f l o a t NdotL = d o t (N , L ) ; i f ( NdotL > 0 . 0 ) { v e c 3 R = n o r m a l i z e ( 2 ∗ N ∗ NdotL − L ) ; f l o a t RdotV n = pow ( max ( 0 . 0 , d o t ( R , V) ) , a l f a ) ; d i f f u s e = NdotL ∗ ( Ld ∗ Kd ) ;
s p e c u l a r = RdotV n ∗ ( L s ∗ Ks ) ; }