Está en la página 1de 62

TEMA 9: Iluminacin

ndice
1. Modelos de iluminacin 4. Clculo de sombras
1. Luz ambiente 1. Algoritmo de doble pasada
2. Reflexin difusa 2. Volmenes de sombra
3. Reflexin especular 3. Algoritmos de sombras del Z-buffer

2. Modelo de sombreado para polgonos 5. Transparencias


1
1. S b
Sombreado
d constante 1
1. T
Transparencia
i no refractiva
f i
2. Sombreado de Gouraud 2. Transparencia refractiva
3. Sombreado de Phong
6. Algoritmos de iluminacin global
4
4. Problemas del sombreado interpolado
1. Trazado de rayos
3. Detalles de superficie 2. Radiosidad
1. Mapeo de texturas
2. Mapeo de rugosidades
3. Mapeo de reflexiones
El proceso de iluminacin

Hay que simular los efectos de la luz sobre las


superficies visibles:
Un modelo de iluminacin calcula la luz que se ve
en un punto de la superficie
Un algoritmo de iluminacin usa este modelo
para calcular el color de cada pixel

El modelo puede calcularse en todo los puntos


visibles, o interpolar a partir de varios

El objetivo consiste en calcular


l l la l intensidad
d d
proyectada por un punto de la superficie en
una direccin especificada

El modelo ha de tener en cuenta:


propiedades pticas de la superficie (opaca,
rugosa)
posiciones relativas
l en la
l escena
color y posicin de las fuentes de luz
posicin y orientacin del observador
Modelo de luz ambiente
Cada objeto lleva asociado una intensidad de luz

No existen fuentes de luz objetos autoluminosos

Cada objeto aparece como una silueta monocromtica


Ecuacin de iluminacin
La ecuacin es I = ki
Se evala una sola vez por cada objeto

A veces se considera tambin una fuente de luz que da igualmente en I = I a ka


todos los objetos en todas direcciones
Ia intensidad de la luz ambiente
m
Ka coeficiente de reflexin ambiente

NOTA: Ka es una conveniencia emprica no corresponde con ninguna


propiedad fsica del material
Reflexin difusa
Los objetos no tienen una iluminacin uniforme en toda su superficie

Consideremos una fuente puntual que emite luz en todas direcciones

El brillo del objeto depender de la direccin y distancia de la fuente

Reflexin de Lambert aquellas superficies que brillan igual desde cualquier


direccin

Luz
N incidente Ni

El brillo depende del ngulo , y es independiente de la direccin del observador


Modelo de luz difusa
La ecuacin es
I = I d k d cos

donde kd es el coeficiente de reflexin difusa

N
L

dA dA/cos

Si la fuente de luz es lejana


L=cte. fuente
direccional
Combinado luz difusa y luz ambiente
Las zonas oscuras a la luz aparecen negras aadimos luz ambiente

I = I A k a + I d k d ( N L)

donde el coseno se ha sustituido por un producto escalar


Atenuacin de la fuente de luz
Para evitar que dos superficies con igual orientacin queden igualmente iluminadas
factor de atenuacin

I = I A k a + f at I d k d ( N L)

Normalmente el factor de atenuacin es 1


inversamente proporcional al cuadrado de la distancia
f at =
d L2
Luces coloreadas
En general la luz tiene 3 componentes: R, G, B

Por tanto la ecuacin se evala tres veces, para obtener 3 componentes de intensidad

I = I A k a + f at I d k d ( N L)
Reflexin especular
Tambin es direccional, pero el reflejo se produce en una direccin concreta

Produce un punto brillante en la superficie que ilumina --> reflejo especular

Luz
incidente Ni
Reflexin
especular
ideal

Reflexin
difusa
Modelo de iluminacin de Phong

[
I = I A k a + f at I d k d ( N L) + I e ke cos n ]
donde ke es el coeficiente de
f n especular
reflexin p u

La reflectancia mxima ocurre para


=0, y luego va cayendo en funcin
de la potencia del coseno
exponente de reflexin especular
Clculo del vector reflejado

N = L =1
N
R = N cos + S S S

S = N cos L L
R


De aqu deducimos que: V

R = 2 N ( N L) L

Y por tanto podemos calcular la expresin para cos(a)=R V:

[
I = I A k a + f at I d k d ( N L) + I e ke ( R V ) n ]
Combinando los tres tipos

La luz en cada vrtice se calcula con la siguiente ecuacin:

I = I Aka + (I a ka + I d kd cos + I e ke cosn )


l
luces
Luz ambiente global Luz ambiente Luz difusa Luz especular

N


Mltiples fuentes de luz
Cuando hay varias luces, se suma el trmino para cada fuente

[
I = I A ka + i f at Iid kd ( N Li ) + Iie ke (Ri V )n ]

Existe el problema del overflow Acotar en el mximo valor de intensidad


Atenuacin atmosfrica
A veces es til utilizar un efecto niebla:
Aade realismo a la escena
Permite recortar los objetos muy lejanos

La expresin suele ser:

z z0 Iniebla
I ( z) = (I n I m ) + I m I
z1 z0

Imodelo Iintermedia

z0 z1
Focos de luz
Los focos son luces que iluminan slo en un
cierto cono visual

Se aade
S d un ffactor
t b booleano
l all t
trmino
i d de
cada fuente, siendo cero si el ngulo es
mayor que el del foco

A veces el factor no es booleano, sino que


decrece hacia el borde del foco


Modelos de sombreado de polgonos
Se puede iluminar cualquier objeto calculando para cada punto visible su normal, y
evaluando la ecuacin del modelo de iluminacin muy costoso
Sombreado constante de polgonos
El modelo de iluminacin se evala en un solo punto de cada polgono

El polgono entero llevar el color de ese punto

Esta aproximacin es vlida siempre que:


La fuente de luz est muy alejada (N*L=cte)
El observador est muy alejado (N*V=cte)
(N V cte)
El polgono representa la superfice exacta y no una aproximacin
Sombreado constante de polgonos
Problema: no se obtienen las variaciones de
luz en el interior del polgono

Un mesh
U h poligonal
li l se ver
mall debido
d bid all
cambio brusco de intensidad en las aristas
ficticias

constante Flat difuso


Sombreado de Gouraud
N
Elimina las discontinuidades de la
intensidad

El mtodo requiere conocer las


normales a cada vrtice del mesh:
Usando la descripcin
p analtica de la
superficie
Estimndola a partir de las normales a
las caras comunes

Los vrtices
L reales
l tendrn
d ms
ded una
normal, una para cada superficie vecina
Sombreado de Gouraud

El siguiente paso es calcular la


intensidad de cada vrtice, y
fi l
finalmente
t ir
i interpolando
i t l d por ell
I1
y1
borde y por la scan-line
a partir de I1 e I2 se calcula IA IA IP IB
ys
a partir de I1 e I3 se calcula IB
a partir de IA e IB se calcula IP
y2
I2
y3 I3

Esta interpolacin es fcilmente


integrable en un algoritmo scan-line,
almacenando el cambio de color por
unidad de y
Flat difuso

Gouraud difuso Gouraud especular


Sombreado de Phong

Igual que Gouraud, pero lo que se interpolan son las


normales en lugar de la intensidad

Las ventajas de Phong sobre Gouraud se notan sobre


todo en la reflexin especular

Por qu? Si un vrtice tiene alfa pequeo y sus


vecinos tienen alfa grande, con Gouraud la luz
decrece linealmente, pero con Phong decrecen segn
cos^n

Otra ventaja:
ventaja si la luz cae en el interior del polgono y
los vrtices estn ms oscuros, con la interpolacin
de Gouraud no se vern con Phong s
Phong vs Gouraud

Con Gouraud quedan ms realistas los reflejos especulares

Desventaja: ms costoso hay que evaluar la ecuacin de iluminacin en cada pixel

Gouraud especular Phong especular


Problemas del sombreado interpolado I
Silueta poligonal: no importa lo bueno que
sea el modelo siempre se ve la silueta
poligonal

Distorsin de la perspectiva: debido a que


la interpolacin se realiza despus de la P1
proyeccin 3D

P1

P0
P0 P0
Problemas del sombreado interpolado II
Dependencia de la orientacin: el
resultado del modelo no es independiente B
de la orientacin del polgono se nota A
mucho en una animacin
A
P P
D C
B
D

C
Problemas en los vrtices compartidos: el
valor del vrtice C no va a coincidir A
normalmente con la interpolacin entre A y B

B
Problemas del sombreado interpolado III
Normales a los vrtices falseadas: en este ejemplo no habra variacin de color en
toda la superficie

An con todas estas desventajas,


el rendering de polgonos es el
ms rpido
Comparacin de los tres modelos
Aadiendo superficies parmetricas

poligonal

Superficies curvas
Aadiendo mltiples luces

Superficies curvas

Mltiples luces
Mapeo de texturas
Las tcnicas anteriores producen superficies suaves y uniformes no luce real

Solucin: mapear una imagen sobre el polgono

La imagen puede ser sinttica, digitalizada o definida por un procedimiento

http://math.hws.edu/graphicsnotes/c2/s4.html
Mapeo de texturas
La textura viene definida en el espacio UV

Cada elemento individual se llama texel TEXture Element

Para cada pixel, los texels seleccionados se usan para sustituir o escalar una o ms de
las propiedades del material

v
Coordenadas de textura
A cada vrtice se le asocia una coordenada de textura

Al rellenar el polgono con el scan-line, se interpola la coordenada de textura para cada


vrtice,
ti y se calcula
l l qu texels
t l hay
h que pintar
i t
Mapeo de texturas
Mapeo de rugosidades (bump mapping)
El mapeo de texturas afecta slo al color de la superficie, pero sta sigue siendo suave

Si el mapa es una foto, puede que no coincida la direccin de la luz usada en la foto, con
l direccin
la di i de
d la
l luz
l de
d lla escena
Mapeo de rugosidades (bump mapping)
La tcnica consiste en no alterar la geometra de la superficie, sino perturbar las
normales antes de usarlas en el modelo de iluminacin

E realidad
En lid d es un array de
d ddesplazamientos
l i t

El nico fallo es que


no afecta
f t a lla silueta
il t
Aadiendo bump mapping

anterior

Bump mapping
Combinando texture map y bump map
Generacin de un render fotorealista
Aadiendo reflection mapping
V

anterior

Reflection mapping
Clculo de sombras

Hay que determinar qu superficies son vistas desde las fuentes de luz si no se ven, hay
sombras

La visibilidad de un punto de la escena es booleana

[
I = I A ka + i i f at Iid kd ( N Li ) + Iie ke (Ri V )n ]
Clculo de sombras
Si las fuentes tuviesen reas
habran sombras y penumbras

penumbra sombra penumbra


Algoritmo de doble pasada
Determina las sombras antes que las superficies
visibles

Ej
Ejecuta
t ell mismo
i algoritmo:
l it
Primero desde la fuente de luz (slo una vez)
Luego desde el observador

El resultado es una lista de polgonos

Se transforman al sistema de coordenadas global y se


mezclan con la escena origina polgonos de detalle

Finalmente se aplica un algoritmo de visibilidad y otro


de iluminacin

Si hay mltiples fuentes de luz hay que hacer una


pasada
d ms por cada
d fuente
f t
Volmenes de sombras
Se crea un volumen de sombra para cada objeto

Indica el espacio de escena que se encuentra sin luz debido al


objeto
bj t

Slo se calculan para los polgonos orientados hacia la luz


A
Los polgonos
L l del
d l volumen
l de
d sombras
b no aparecern
en la
l
imagen final indican qu objetos se encuentran en sombra B
C
Ejemplo:
Los polgonos A y B indican que los objetos detrs de ellos estn
en sombras (anteriores)
El polgono C (posterior cancela este efecto)
Volmenes de sombras

Un punto P est en sombra si el rayo VP intersecta ms polgonos de sombra anteriores que


posteriores

Si V est en sombra hay que tener en cuenta un polgono posterior ms (o varios)

Lo ms fcil es:
inicializar v=nmero de volmenes de sombra que me incluyen
Despus, por cada polgono de sombra frontal v++, y por cada trasero v
El polgono est en sombra si v > 0

NOTA: es ms rentable calcular un solo volumen de sombra para cada poliedro usando las
aristas de la silueta
Algoritmo de sombras del Z-buffer
Se ejecuta dos veces el z-buffer:
Una vez desde la fuente de luz
Otra vez desde el observador
Algoritmo de sombras del Z-buffer
Para crear la imagen final se usa un z-buffer modificado

Para cada pixel visible, transformo sus coordenadas (x,y,z) con referencia al ojo en
( ) con referencia
(x,y,z) f i a lla lluz

Comparo z con la z correspondiente del buffer z de la luz

Si z > ZL ell punto


t est
t en sombra
b

En realidad, el z-buffer desde la luz se llama mapa de sombras


Transparencia sin refraccin
Los objetos transparentes permiten ver lo que hay
detrs P2

Los rayos de
L d luz
l no cambian
bi de
d di
direccin
i all
atravesar la superficie
P1
Para calcular la intensidad del pixel P se interpola
entre las intensidades de ambos polgonos

I = (1 kt1 )I 1 + kt1I 2

Hay que adaptar el algoritmo de visibilidad a


las transparencias

En el z-buffer, dejamos para el final los


polgonos transparentes combinando sus
colores con los del z-buffer, pero sin
modificarlo
Transparencia con refraccin
Relacin entre el B
ngulo de incidencia y sini
el ngulo de refraccin = r A
ley de Snell sin j
Un largo proceso
Algoritmos de iluminacin global
Un modelo de iluminacin calcula el color en un punto en funcin de:
La luz que le llega directamente de las fuentes de luz iluminacin local
La luz que llega despus de reflexiones y transparencias con otros objetos de la escena
iluminacin global

La luz ambiente era un truco para aproximar la iluminacin global

Cuando un algoritmo considera la totalidad de la escena para calcular el color de cada


punto visible, teniendo en cuenta efectos pticos algoritmos de iluminacin global

Iluminacin local Iluminacin global


Algoritmos clsicos
Ray tracing:
Depende de la posicin del observador
Lanza un rayo para cada pixel
Funciona muy bien con objetos especulares
Necesita un coste muy grande para
simular fenmenos difusos

Radiosidad:
Es independiente del observador
Discretiza toda la escena en patches
pequeos
s
Evala la ecuacin de iluminacin en todos
los patches
Usa un algoritmo de visibilidad para
generar la escena
Simula muy bien los fenmenos difusos
No calcula reflexin especular
Ray-tracing

Para cada pixel se lanza un rayo

La interseccin ms cercana indica el


punto visible

El color se calcula combinando el debido


all color
l d dell objeto,
bj t all que sse refleja
fl j y all
que refracta

= + +
Ray-tracing

Es un esquema recursivo

Para calcular cada color quizs haya que seguir lanzando


rayos

N
Algoritmo recursivo ray-tracing
Funcion TrazaRayo (comienzo, direccin, profundidad, color)

Si profundidad > max_prof entonces

color = negro

Si no

color.local = contribucin_local

TrazaRayo (punto_interseccin, dir_reflex, prof+1, color.reflejado)

TrazaRayo (punto_interseccin, dir_reflex, prof+1, color.refractado)

Combinar (color, color.local, color.reflejado, color.refractado)

Fin Si

}
Ejemplos de ray-tracing
Ms ejemplos
Radiosidad

Se mallan todas las superficies de la escena

Para cada polgono se estudia la contribucin de luz proveniente de todos los dems
polgonos de la escena

Una vez calculada la luz de cada polgono, pueden simularse paseos virtuales
Radiosidad: simulacin de interiores
Radiosidad: condiciones de luz
Radiosidad: escenarios sintticos

También podría gustarte