Вы находитесь на странице: 1из 130

Iluminacin y Sombreado

Basado en: Captulo 14



Del Libro: Introduccin a la Graficacin
por Computador

Foley Van Dam Feiner Hughes - Phillips
Resumen del captulo
Modelos simples de iluminacin.
Modelos de sombreado ms comunes.
Modelos de sombreado aplicados a texturas.
Efectos de transparencia, refraccin, reflexin, sombras.
Modelos de iluminacin global.
Ductos Grficos.

A lo largo de este captulo veremos cmo generar imgenes medianamente
realistas. Ya vimos cmo determinar las superficies visibles. Ahora, el objetivo es
estudiar diferentes tcnicas para generar imgenes donde se contemple los temas
de iluminacin, sombras, texturas. Estas cuestiones son fundamentales para dar la
sensacin de realismo visual a las imgenes generales.
Ecuacin de Iluminacin
Los modelos de iluminacin simples tratan sobre la luz que refleja un
punto de la superficie de un objeto. Es luz que proviene de una fuente
de luz, refleja en el objeto en un punto y va al observador. En principio
no se considera la luz que se refleja de un objeto y va a otro. Tampoco
las sombras que proyecta un objeto en otro.

Dado un punto, a partir de algunos datos bsicos (el color del punto, su
ubicacin en el espacio, la normal a la superficie en ese punto, la
ubicacin de la fuente de luz), se calcula cunta luz refleja hacia el
observador, lo cual determina el color de ese punto en la imagen a ser
generada.

La luz se divide en 3 tipos: ambiente, difusa y especular, los cuales se
estudian en las siguientes transparencias.
Los objetos reflejan estos 3 tipos de forma independiente. Puede reflejar
mucho luz difusa y poco especular.

Modelos de iluminacin (simples)
Ecuacin de Iluminacin
Luz reflejada por un objeto en un punto de su superficie. Solamente se
considera una nica fuente luminosa de luz blanca, los objetos que reflejan luz no
tienen color, por lo que la luz reflejada tambin es blanca (o tonalidades de grises).
I
ntensidad
= Luz
ambiental
+ Luz
difusa
+ Luz
especular

Luz y superficie coloreada. Hay una luz que tiene color y los objetos que la reflejan
tambin. Esto genera fenmenos a estudiar. Cada tipo de luz puede tener un color
distinto, y los objetos pueden tambin reflejar de forma distinta cada tipo de luz.
I
ntensidad,
= Luz
ambiental,
+ Luz
difusa,
+ Luz
especular,


Mltiples fuentes de luz. A lo anterior se suma que hay mltiples fuentes de luz.
I
ntensidad,
= Luz
ambiental,
+ E
L
(Luz
difusa,,L
+ Luz
especular,,L
)
Modelos de iluminacin (simples)
Luz Ambiental






I=I
a
k
a
,
I
a
=Intensidad de la luz ambiental,
k
a
= cantidad de luz ambiental de un objeto.
Modelos de iluminacin (simples)
Todas los objetos reciben la
misma intensidad de luz. Cada
objeto puede reflejar esa luz de
forma distinta (indicado a travs
de k
a
Luz Ambiental
Modelos de iluminacin (simples)
Aqu vemos otro ejemplo
de imagen que solamente
tiene luz ambiental.
Podemos apreciar la
dificultad para ver
volmenes. La imagen, si
bien es generada a partir
de un modelo 3D, parece
ser 2D. No hay sensacin
de profundidad.
Reflexin difusa








Modelos de iluminacin (simples)
En reflexin difusa, la
luz refleja distinto segn
la ubicacin de la fuente
de luz.
En esta imagen
podemos ver dos temas:

Por qu no se ve el
lado oscuro de la
esfera? Qu ocurre
con la sombra de la
esfera en el cubo?
Cmo solucionara
estos temas?
N
L
u
Fuente luminosa puntual: la luz surge de una fuente puntual (un nico punto
emite luz) y emana en todas direcciones.
Objetos de brillantez variable: la misma depende de la direccin y la
distancia respecto a la fuente luminosa.



I = I
p
k
d
(NL)= intensidad en el punto
I
p
es intensidad de luz difusa.
k
d
es cantidad de luz difusa del objeto.
Reflexin difusa
Modelos de iluminacin (simples)
Normal a la
superficie en el punto
Direccin de la luz
incidente en el punto
Punto
Reflexin difusa (reflexin lambertiana)
Modelos de iluminacin (simples)
N
N
u
90 - u
dA
dA/(cos u)
Superficie
1
Superficie
2
L
L
Luz
incidente
La luz que incide en dA es directamente proporcional a cos(u). Cuanto ms
grande es u, la luz se distribuye en ms superficie, y por tanto menos llega
por unidad de superficie.
Reflexin difusa (reflexin lambertiana)
Modelos de iluminacin (simples)
Luz incidente
La intensidad de luz emitida por un punto hacia el observador es
proporcional a cos(). Esta forma esfrica de distribucin es independiente
del ngulo u de la luz incidente.
El ngulo u de la luz incidente no influye
en la forma de la distribucin, s en la
intensidad.
La intensidad que le llega al observador es directamente proporcional a
cos(u). Esto es particular de las superficies Lambertianas
N

u
Reflexin difusa (reflexin lambertiana)
Modelos de iluminacin (simples)
N
El rea de superficie observada
por ngulo de visin es
inversamente proporcional a
cos()

Reflexin difusa (reflexin lambertiana)
Modelos de iluminacin (simples)
Tenemos 2 efectos contrapuestos:
1) La intensidad de luz observada por cada punto de la superficie es
directamente proporcional a cos() .
2) La cantidad de rea de superficie observada por unidad de ngulo es
inversamente proporcional a cos() .
=>Ambas cantidades se compensan.

Por tanto, para las superficies lambertianas, la cantidad de luz que ve
el observador es independiente de la direccin de ste y slo es
proporcional a cos(u), donde u es el ngulo de incidencia de la luz.
De ejemplos de superficies lambertianas. Un espejo es una superficie
lambertiana? Explique el por qu en base a los elementos vistos hasta
ahora.
Reflexin ambiental + difusa
Modelos de iluminacin (simples)
I = I
a
k
a
+ I
p
k
d
(NL)

Para dar ms realismo a la imagen generada, se suma el componente especular y
el componente difuso. Segn como dosifique ambos componentes es el grado de
realismo que lograr. Una imagen con un componente ambiental muy grande y un
componente difuso muy pequeo k
a
>>k
d
, no logra el realismo adecuado.
Atenuacin de la fuente luminosa
Modelos de iluminacin (simples)
Factor de Atenuacin debido a la distancia entre la fuente
puntual y la superficie. Hasta ahora no se haba considerado la
distancia, solamente se haba considerado el ngulo.
Atenuacin de la fuente luminosa
Modelos de iluminacin (simples)
Factor de Atenuacin debido a la distancia entre la fuente
puntual y la superficie.
I = I
a
k
a
+ f
att
I
p
k
d
(NL)

Frmulas de f
att
f
att
=
1
/d
L
2

|
|
.
|

\
|
+ +
= 1 ,
1
min
2
3 2 1 L L
att
d c d c c
f
La ley fsica en la que
se basa el Factor de
Atenuacin, no es muy
til en la prctica.
Ha tenido ms xito
esta frmula, en la que
los parmetros c
i
se
ajustan para cada
caso.
El Factor de Atenuacin, solo
afecta al componente difuso.
Por qu f
att
no afecta al componente de luz ambiente?
Luces y superficies coloreadas
Modelos de iluminacin (simples)
La intensidad de la luz puntual se descompone (de forma simple) en 3 valores:
I
pR
, I
pG
, I
pB
dem con la luz ambiente: I
aR
, I
aG
, I
aB
dem con el color del objeto: O
pR
, O
pG
, O
pB
=>
I
R
= I
aR
k
a
O
dR
+ f
att
I
pR
k
d
O
dR
(NL)
I
G
= I
aG
k
a
O
dG
+ f
att
I
pG
k
d
O
dG
(NL)
I
B
= I
aB
k
a
O
dB
+ f
att
I
pB
k
d
O
dB
(NL)

Hasta ahora consideramos solamente ecuaciones de luz y superficies blancas o
grises. Ahora consideremos que la luz y los objetos tienen color. El color se puede
considerar de forma simple a travs de 3 componentes (rojo, azul, verde).
Luces y superficies coloreadas
Modelos de iluminacin (simples)
Modelo ms realista, que trabaja directamente con . Se trabaja as con el
espectro de frecuencias y para cada frecuencia tenemos la intensidad
de luz y la proporcin de luz reflejada

I

= I
a
k
a
O
d
+ f
att
I
p
k
d
O
d
(NL)

Cules pueden ser las ventajas y desventajas de trabajar con el espectro
de frecuencias?
z
b
z
f
s
b
s
f
Profundidad
F
a
c
t
o
r

d
e

e
s
c
a
l
a
m
i
e
n
t
o

z
s
1
1
Atenuacin Atmosfrica
Modelos de iluminacin (simples)
Los objetos ms lejanos al observador se generan con menor intensidad
que los ms cercanos.
s
o
= factor de escalamiento del objeto.
I

= intensidad inicial del objeto.


I
dc
= intensidad indicadora de profundidad.
La atmsfera hace de filtro,
disminuyendo la intensidad
de luz debido a la distancia
y coloreando a los objetos
con su propio color.
Este modelo implementado
no es fsicamente correcto
(por ej.: luego de
determinada profundidad la
atenuacin se mantiene
constante).
Atenuacin Atmosfrica
Modelos de iluminacin (simples)
Si z
o
< z
b
=> s
o
= s
b

Si z
o
> z
f
=> s
o
= s
f


En otros casos:

s
o
= s
b
+ (z
o
- z
b
)(s
f
- s
b
)/(z
f
- z
b
)

Por tanto, la intensidad del objeto es:

I

= s
o
I

+ (1

- s
o
)I
dc
Con esto se ve que el color final del
objeto se compone del color del objeto
en s I

, y del color de la atmsfera I


dc
.
La proporcin de cada componente est
en funcin de la distancia z.
s se calcula en
funcin de z
Atenuacin Atmosfrica
Modelos de iluminacin (simples)
Aqu, la disminucin de la intensidad, no se debe a la mayor distancia de
la fuente de luz al objeto (la fuente de luz puede estar en el infinito, como
el sol), sino a la atmsfera existente entre el objeto y el observador. En
este caso, el color de la atmsfera es negro, pero podra ser otro.
Reflexin Especular
Modelos de iluminacin (simples)
Adems de la luz ambiente y la
reflexin difusa, tenemos la
reflexin especular.
No se nota mucho en el cubo
pero s en la esfera.
La zona ms brillante en la esfera
se debe al componente especular
de esta. En el resto de la esfera
dicho componente influye poco.

NOTA IMPORTANTE: la reflexin
especular slo considera la
reflexin de la luz proveniente de
la fuente puntual. No se
consideran por ejemplo los
espejos, que reflejan adems
otros objetos.
Reflexin Especular
Modelos de iluminacin (simples)
N
L
u
R
V
u
o
Aqu, se ven los principales vectores
que influyen en el color final de un
punto del objeto.
A diferencia de la reflexin difusa, aqu
s es importante la posicin del
observador.
L = direccin de la luz incidente.
N = normal a la superficie en el punto.
R = simtrico a L segn N.
V = direccin desde la cual el
observador ve al objeto.
Modelos de iluminacin (simples)
Dada una superficie, y un rayo
incidente, la reflexin se
desarrolla hacia R.
Cuanto ms grande sea n, ms se
concentrarn los rayos en
direccin R.
Cuanto ms pequeo sea n ms
difusa ser esa reflexin
alrededor de R.
Para n=1 la reflexin especular
tiene las mismas propiedades que
la reflexin difusa.
Reflexin Especular (modelo de Phong)
Reflexin Especular (modelo de Phong)
Modelos de iluminacin (simples)
Aqu se aprecian los efectos para distintos componentes especulares.
De izquierda a derecha, el n es mayor ( y por tanto se concentra el rayo ms en
R). De arriba abajo, el componente especular influye ms en la luz total.
En las siguientes transparencias, se hallarn las frmulas correspondientes.
Reflexin Especular (modelo de Phong)
Modelos de iluminacin (simples)
N
L
u
R
V
u
o
A la ecuacin de intensidad hallada actualmente se le suma el trmino
(cos o)
n
=(RV)
n
Reflexin Especular (modelo de Phong)
Modelos de iluminacin (simples)
N
L
u
R
V
u
o
Es un modelo para reflectores imperfectos.

Hay un componente n, llamado exponente de reflexin especular.
I

= I
a
k
a
O
d
+ f
att
I
p
[k
d
O
d
(NL) + W(u) (RV)
n
]
donde W(u) es la fraccin de luz reflejada especularmente.



Si considero W(u) constante = k
s
Si O
s
es el color especular del objeto

I

= I
a
k
a
O
d
+ f
att
I
p
[k
d
O
d
(NL) + k
s
O
s
(RV)
n
]

Reflexin Especular (modelo de Phong)
Modelos de iluminacin (simples)
N
L
u
R
V
u
o
Por tanto, a la ecuacin considerada hasta ahora:
I

= I
a
k
a
O
d
+ f
att
I
p
[k
d
O
d
(NL)]
se le suma el componente especular
k
s
O
s
(RV)
n

obtenindose finalmente
I

= I
a
k
a
O
d
+ f
att
I
p
[k
d
O
d
(NL) + k
s
O
s
(RV)
n
]

Reflexin Especular (modelo de Phong)
Modelos de iluminacin (simples)
N
L
u
R
V
u
o
Clculo de R
R = 2N(NL) - L
=>
RV = (2N(NL) - L)V


En lugar de calcular o , alternativamente se calcula | = |N.H|
H = vector intermedio entre L y V
H = (L + V) / |L + V|



N
L
u
R
V
u
o
|
H
NOTA: | o por lo que el mismo exponente
especular n produce resultados distintos en
ambas formulaciones.
Reflexin Especular (modelo de Phong)
Modelos de iluminacin (simples)
Todas las esferas tienen I
a
= I
p
=1, k
a
= 0.1, k
d
=0.45.
De izquierda a derecha, n = 3.0, 5.0, 10.0, 27.0, 200.0
De arriba a abajo, k
s
= 0.1, 0.25, 0.5
Modelo de Warn
Modelos de iluminacin (simples) Modelo de fuente luminosa puntual
Hasta ahora se consider la fuente luminosa puntual, es decir que irradia luz en
todas las direcciones por igual.
Muchas luces radian en una direccin especfica, o tienen mayor concentracin en
determinadas direcciones.
El modelo de Warn pretende simular una amplia gama de luces. En el grfico
inferior se ve distintos tipos de distribucin de luz.
El primero de la izquierda radia igual en todas las direcciones. El segundo radia
igual que una superficie especular con n=1 (o difusa) y los dems radian como
superficies especulares con n=4 y n=32 respectivamente.
Modelo de Warn
Modelos de iluminacin (simples)
N
L

L
Foco
Reflector
Modelo de fuente luminosa puntual
El modelo de Warn supone que hay un Foco y una
superficie reflectora. La luz llega al objeto luego
de reflejada en el Reflector. Al Reflector se le
asigna el componente especular (se define el n
adecuado). Slo refleja luz especular. El ngulo
se calcula entre L y L.
L es la normal al reflector que pasa por el Foco.
Utilizacin de aletas y conos.
Modelo de Warn
Modelos de iluminacin (simples)
N
L

L
L
Reflector
Modelo de fuente luminosa puntual
L
L

o
x
min
x
max
x
y
z
Luz
Para lograr demarcar mejor el efecto de
concentracin de luz, se limitan los ngulos
(conos) o reas vlidas (aletas).
En un caso, cuando el ngulo supera a o , la
intensidad disminuye a 0.
En otro caso, hay luz slo cuando las
coordenadas del objeto estn acotadas.
Utilizacin de aletas y conos.
Modelo de Warn
Modelos de iluminacin (simples) Modelo de fuente luminosa puntual
(a) Radiacin uniforme.
(b) n=4 (c) n=32 (no se utilizan ni conos ni aletas)
(d) La luz est limitada en un eje.
(e) cono con o =18

Fuentes luminosas mltiples
Modelos de iluminacin (simples)




() () | |

s s
+ + =
m i
n
i s s i d d p att d a a
V R O k L N O k I f O k I I
i i
1

Hasta ahora se haba considerado solamente una fuente luminosa. Cuando las
fuentes luminosas son muchas, hay que hacer una sumatoria que incluye los
trminos de reflexin difusa y especular.
Se incrementa la posibilidad de problemas
Es probable que I

supere facilmente el mximo permitido.


El control se puede hacer pixel a pixel o considerando toda la imagen
Por qu no se incluye en la sumatoria los trminos de luz ambiente?
Qu ocurre cuando I

supera el mximo permitido = 1? Cmo solucionara esta


problema?
Modelos de sombreado para
polgonos
Hasta ahora vimos un modelo en el cual se calcula
la intensidad de luz que emite cada punto de una
superficie. Esto es computacionalmente costoso e
imprctico.
Veremos algunos modelos que simplifican el
tratamiento de las superficies para lograr definir la
iluminacin de toda la superficie a partir de unos
pocos y estratgicos puntos relevados.
Modelos de sombreado para polgonos
Sombreado constante:
aplica una sola vez un modelo de iluminacin para todo el polgono.
Esta simplificacin sirve si:
La fuente luminosa est en el infinito, por tanto NL es constante
El observador est en el infinito, por tanto NV es constante en toda
la cara del polgono.
El polgono representa la superficie real que se modela y no es una
aproximacin a una superficie curva.
Si alguna de las suposiciones es incorrecta, entonces hay que definir
un mtodo para determinar L y V, si se quiere aplicar este sombreado.
Por qu se deben cumplir esas suposiciones para que sea vlido el
modelo de sombreado constante?
Sombreado Interpolado
Se parte de los valores de los vrtices de un tringulo, y se
interpolan los valores interiores.
Se puede generalizar para otro tipo de polgonos.

Este tipo de interpolacin no evita la apariencia facetada.
Esto ocurre porque, por ejemplo, a lo largo de una arista hay
2 normales, correspondientes a las 2 caras adyacentes.
Esto provoca una discontinuidad en la iluminacin difusa y
especular, a lo largo de la arista. El efecto final es que se
distingue claramente dnde estn las caras de los
poliedros, y esto no siempre es bueno.
Modelos de sombreado para polgonos
Sombreado de malla poligonal
Modelos de sombreado para polgonos
Una superficie curva se puede aproximar a otra facetada (malla poligonal)
No se logran buenos resultados en la interpolacin, aunque se trabaje con una
densidad alta de polgonos.
Observese que aun en la malla de ms alta densidad, al sombrear los polgonos se
logran distinguir las facetas
Sombreado de malla poligonal
Modelos de sombreado para polgonos
Los problemas en la visualizacin de una superficie curva a travs de una
aproximacin facetada, tienen su origen en el efecto de banda de Mach.
Sombreado de malla poligonal
Modelos de sombreado para polgonos
Los problemas en la visualizacin de una superficie curva a travs de una
aproximacin facetada, tienen su origen en el efecto de banda de Mach.
O sea, adems de la discontinuidad existente, el ojo resalta las discontinuidades
provocando que se vean ms mayores de lo que en realidad son.
Aqu vemos unas bandas. Cada una tiene un color nico. Sin embargo si
observamos con cuidado una de ellas vemos que la parte izquierda parece
tener un color ms claro que la parte derecha de la misma banda.

Sombreado de malla poligonal
Modelos de sombreado para polgonos
Esquema de las intensidades reales y las percibidas.
Si bien las intensidades son uniformes en cada banda, en las
discontinuidades, el salto percibido es mayor al real.
Las lneas punteadas es la intensidad percibida, la lnea slida es la real.

Sombreado de Gouraud
Modelos de sombreado para polgonos
Gouraud es una metodologa que permite lograr simular continuidad en la
malla poligonal, sin necesidad de tener que utilizar una malla muy
densa.

Gouraud es utilizado en las bibliotecas grficas (Opengl, DirectX), y est
implementado en la mayora de las tarjetas grficas.

Gouraud calcula una normal ficticia para cada vrtice de la malla,
interpolando las normales a las caras adyacentes. Luego, calcula el
color de cada vrtice y por ltimo, realiza una interpolacin de los
valores de los vrtices para calcular los valores de luz interiores a
cada polgono.

Sombreado de Gouraud
Modelos de sombreado para polgonos
1) A cada vrtice se le asigna una normal








2) Se calculan las intensidades de los vrtices usando algn
modelo de iluminacin ya visto.
3) Se interpola la intensidad en cada pixel del polgono.
N
1

N
2

N
3

N
4

N
v

s s
s s
=
n i
i
n i
i
v
N
N
N
1
1
Sombreado de Gouraud
Modelos de sombreado para polgonos
3) Se interpola la intensidad en cada pixel del polgono.
I
1
I
2
I
3
I
a
I
b I
p
y
1
y
s
y
2
y
3
Y
X
I
a
=I
1
-(I
1
-I
2
)(y
1
-y
s
)/(y
1
-y
2
)

I
b
=I
1
-(I
1
-I
3
)(y
1
-y
s
)/(y
1
-y
3
)

I
p
=I
b
-(I
b
-I
a
)(x
b
-x
p
)/(x
b
-x
a
)
Lnea de barrido
Sombreado de Gouraud
Modelos de sombreado para polgonos
Qu problemas ve en Gouraud para lograr simular la esfera, en el ejemplo
superior?
Qu diferencia metodolgica existe entre Gouraud y el sombreado interpolado?
Sombreado de Phong
Modelos de sombreado para polgonos
En Gouraud se interpola el color de los vrtices.
En Phong se interpola (y normaliza) la normal de los vrtices y se calcula
en cada pxel el color correspondiente.
Si se utiliza sombreado de Phong con n alto, la diferencia entre Phong y
Gouraud puede llegar a ser notable.

Normalizar un vector es costoso, y aplicar un modelo de iluminacin a
cada pixel tambin puede serlo.
Normal
interpolada (al
interpolar,
reduce su
tamao)
Interpolacin
normalizada (vector
de norma 1)
Sombreado de Phong
Modelos de sombreado para polgonos
En cada uno de los rectngulos azules, a la izquierda aplica Gouraud y a la derecha
Phong. Si la superficie tiene un componente especular, el efecto de Phong se resalta
ms. En los tringulos se observa cmo Phong permite iluminar una porcin de la
superficie que no se iluminara con Gouraud. Por qu en Gouraud no se ilumina el
centro del tringulo?
Problemas con sombreado interpolado
Modelos de sombreado para polgonos
1) Silueta poligonal
2) Distorcin de perspectiva. (las interpolaciones se hacen sobre la
proyeccin en pantalla, por tanto no consideran la perspectiva).
Al proyectar las vas en
la pantalla se ve que
distancias iguales en y
no se corresponden con
distancias iguales en z
(que indica profundidad).
Problemas con sombreado interpolado
Modelos de sombreado para polgonos
3) Dependencia de la orientacin. Las lineas de rastreo son siempre
horizontales, pero el polgono interpolado puede cambiar su orientacin.
Aqu observamos
el mismo
cuadriltero, que
tiene los mismos
colores en los
vrtices, pero al
rotar la cmara,
se observa cmo
los colores
interpolados
cambian
radicalmente.
Explique por qu las intensidades se distribuyeron as en el polgono, utilizando la
interpolacin en las lneas de rastreo.
Problemas con sombreado interpolado
Modelos de sombreado para polgonos
4) Problemas en vrtices compartidos.
Se genera discontinuidad entre pxeles adyacentes.

P1
P2
P3
v1
v2
v3
El polgono P1 no tiene el
vrtice V2. Por tanto, a lo
largo de la arista v1 v3, se
interpolar entre blanco y
amarillo.
El polgono P2 tiene como
vrtices a v1 y v2, por tanto
a lo largo de la arista v1 v2
se interpolar entre blanco y
morado.
Esto genera discontinuidad
de colores.
Cmo solucionara este problema de
una forma simple?
Problemas con sombreado interpolado
Modelos de sombreado para polgonos
5) Normales a vrtices que no son representativas.
Como las normales son paralelas,
no se aprecian los valles ni los
picos de la malla poligonal.
Detalle de superficie
Las superficies vistas son planas o bicbicas. Las mismas
son suaves y uniformes, lo cual no se ajusta a la mayora
de las superficies reales.
Hay algunos mtodos para salvar estos detalles faltantes.

Polgonos de detalle de superficie
Correspondencia de Texturas
Correspondencia de Protuberancias
Otros mtodos
Polgonos de detalle de superficie
A un objeto, como una casa desarrollada por polgonos
(paredes, techo y piso), se le pueden agregar objetos,
como ser: ventanas, puertas, letras, etc.
Esto se hace a travs de polgonos de detalle (puertas,
tejas, alfombra) asociados a los polgonos base
(paredes, techo, piso).
Los polgonos de detalle son coplanares con los base.
Las propiedades de los polgonos de detalle (color,
propiedades del material) tienen prioridad sobre las de los
polgonos base.
Al estar asociados al polgono base, se aplica jerarqua
para el clculo de las superficies visibles.
Detalle de superficie
Correspondencia de Texturas
(texture mapping o pattern mapping)
Se establece una correspondencia entre una imagen y una
superficie.
Como alternativa, en lugar de imagen se puede utilizar un
procedimiento (o algoritmo).
Con frecuencia un pixel de pantalla puede estar cubierto por
varios elementos de textura (pxeles de la imagen). Hay que
trabajar con todos para evitar artefactos de discretizacin.
Detalle de superficie
Estas texturas son utilizadas en la imagen siguiente:
(u,v)
(s,t) (x,y)
Correspondencia de Texturas
(texture mapping o pattern mapping)
Detalle de superficie
(u,v)
(s,t) (x,y)
Correspondencia de Texturas
(texture mapping o pattern mapping)
Detalle de superficie
El pxel es un cuadrado. En ese pxel se ve un trozo de la superficie de un objeto.
Esa superficie a su vez est cubierta por una parte de la textura.
Como se aprecia en el diagrama, slo se consideran los vrtices de los
cuadrilteros para los clculos.
A partir de las coordenadas (x,y) de los vrtices del pxel se calculan las
coordenadas (s,t) de la superficie, que a su vez se las puede asociar con las (u,v)
del mapa de textura.

Una vez calculado el cuadriltero en
el mapa de Textura se integra para
calcular el color promedio de esa
rea. Ese es el color de la superficie
en ese pxel.
Luego se le puede aplicar la
ecuacin de iluminacin o alguna
interpolacin para calcular el color
definitivo.
Correspondencia de Texturas
(texture mapping o pattern mapping)
Detalle de superficie
El valor de cada pxel se halla haciendo promedio ponderado, segn la
porcin del elemento de textura que est dentro del cuadriltero del
mapa de textura.
Si las coordenadas (u,v) caen fuera de la imagen, se puede duplicar la
imagen.
Se puede hacer corresponder las 4 esquinas del rectngulo de (s,t)
con un cuadriltero en (u,v).
Si la superficie es un polgono, se asignan coordenadas (u,v) de mapa
de textura directamente a sus vrtices. Los valores internos se
interpolan de la forma ya vista.
Problema: la interpolacin causa distorcin en caso de perspectiva.
Correspondencia de Protuberancias
(bump mapping)
Detalle de superficie
Bump mapping permite
simular superficies rugosas
sin necesidad de
incrementar enormemente el
nmero de polgonos.
Correspondencia de Protuberancias
(bump mapping)
Detalle de superficie
Correspondencia de Protuberancias
(bump mapping)
Detalle de superficie
Se parte de una imagen blanco y negro, la cual se considera como un array de
desplazamientos, usado para simular el desplazamiento de un punto de la
superficie un poco encima o debajo de su actual posicin. La escala de grises
de la imagen se asocia a una escala de desplazamientos.
Dado un punto de la superficie P=[x(u,v), y(u,v), z(u,v)], se cumple que, si P
u
y P
v

son las derivadas parciales de P:
N= P
u
X P
v
Desplazo P un valor B a lo largo de Normal:
P = P + BN/|N|
Una aproximacin a la nueva normal N es:
N = N + ( B
u
(N x P
v
) - B
v
(N x P
u
) ) / |N|
B
u
y B
v
son derivadas de B respecto de u y v
Correspondencia de Protuberancias
(bump mapping)
Detalle de superficie
Diferentes texturas
utilizadas por el algoritmo
de Bump mapping en
distintos objetos.
Correspondencia de Protuberancias
(bump mapping)
Detalle de superficie
Correspondencia de Protuberancias
(bump mapping)
Detalle de superficie
Otros mtodos
Detalle de superficie
Texturas tridimensionales permiten mejor simulacin de objetos
tallados en madera u otros materiales.
Otros mtodos
Detalle de superficie
Correspondencia
con otras
propiedades de las
superficies. Por
ejemplo,
correspondencia de
desplazamiento.
Otros mtodos
Detalle de superficie
Correspondencia
con otras
propiedades de
las superficies.
Por ejemplo,
correspondencia
de
desplazamiento.
Sombras

Si la fuente luminosa es puntual, no hay vistas parciales a ella, por
tanto o hay luz o hay sombra, y no hay penumbra (estas
sombras se suelen llamar sombras duras)



A la ecuacin se le agrega S
i
.
S
i
= 0 , si la luz i est bolqueada en este punto.
S
i
= 1, si la luz i no est bloqueada en este punto.
El problema es calcular S
i .
Cmo se podra calcular?
() () | |

s s
+ + =
m i
n
i s s i d d p att i d a a
V R O k L N O k I f S O k I I
i i
1

Sombras por lnea de barrido
Sombras
Se pueden combinar los procesamientos de sombras y
de superficies visibles.
La fuente luminosa es el centro de proyeccin.
Las aristas de los polgonos se proyectan sobre
otros polgonos que intersequen la lnea de barrido
actual.
Cuando el barrido cruza una arista de sombra, se
cambian los colores de los pxeles de la imagen.
Sombras por lnea de barrido
Sombras
Luz
Lnea de barrido
actual
Observador
A
A
B
a
b
c
d
Sombras por lnea de barrido
Sombras
Problema: Si hay n polgonos => hay que calcular n(n-1)
proyecciones.

Solucin parcial:
Proyectar los n polgonos en una esfera cuyo centro sea la fuente
luminosa.
Luego, no se consideran proyecciones de polgonos cuyas extensiones
no se sobrepongan en la esfera + otros casos particulares.
Volmenes de sombra
Sombras
Objeto
Polgonos de
sombra :
de cara anterior y
de cara posterior
respecto al
observador (en
este caso el
observador es Ud.)
Copia escalada del polgono
original. Es un polgono de
sombra de cara posterior resp.
al observador.
Luz
Volmenes de sombra
Sombras
V = punto de observacin.
Se trazan rayos desde V. Por cada rayo, hay un contador que suma 1 a
cada p. de s. de cara anterior y resta 1 a cada p. de s. de cara posterior.
Para muchas fuentes luminosas, hay contadores diferentes.
Un punto est bajo sombra si el contador es positivo en l.
Vols. de
sombra
Objeto
Transparencia


No refractiva

Refractiva
Se refiere a aquella en la que la luz no se desva al atravesar un objeto. Es muy
utilizada cuando se atraviesan volmenes finos o planos que simulan vidrios.
Se refiere a aquella en la que la luz se desva al atravesar un objeto. Es
utilizada cuando el volumen a atravesar es relativamente grueso (prisma,
botella con lquido dentro, etc.)
Transparencia no refractiva
Transparencia interpolada
Transparencia
I

= (1 - k
t1
)I
1
+ k
t1
I
2
k
ti
(coeficiente de transmisin) mide la transparencia del pol. i

Lnea de visin
x
z
1
2
El color final es uno intermedio entre el color del polgono 1 y el polgono 2.
Si k
ti
= 0 significa que el polgono i es completamente opaco. Si k
ti
=1
significa que el polgono i es completamente transparente.
Transparencia no refractiva
Transparencia de mosquitero (screen-door)
Transparencia
Se implanta una malla que genera solo algunos pxeles relacionados con
la proyeccin del objeto transparente. Donde no se dibuja el objeto
transparente, se visualizan los objetos que estn por detrs.


Transparencia no refractiva
Transparencia filtrada
Transparencia

I

= I
1
+ k
t1
O
t
I
2
O
t
es el color de transparencia del polgono 1. La diferencia principal
con la transparencia interpolada es que deja pasar selectivamente
diferentes longitudes de onda. Puede haber un color distinto de O para
cada .
Tambin una diferencia es que es fcil de invocar recursivamente si hay
varios polgonos transparentes superpuestos. Si se superponen el
polgono 1, 2 y 3, ordenados del ms cercano al ms lejano, entonces
primero se calcula el color de 2 (que deja pasar algo de la luz de 3) y
luego con esos valores se calcula el color de 1.
Transparencia refractiva
Transparencia
Cuando la transparencia es refractiva, la luz se desva al pasar de un medio a otro.
Cuando la luz pasa del aire al agua, en general se desva (salvo que la luz incida
perpendicularmente al agua). Lo mismo sucede cuando la luz pasa del agua al
aire.
Sin entrar en los detalles de la justificacin fsica, se puede predecir la desviacin
de la luz a travs de la ley de Snell.
Otro fenmeno, que slo mencionaremos, es que la luz se desva de manera
diferente segn la longitud de onda de esta. Este fenmeno es el que hace que los
prismas sean los instrumentos ms comunes empleados para generar espectros
de luz o arco ris, ya estudiados por Newton.
Transparencia refractiva
Transparencia
Ley de Snell:
sen u
i
/ sen u
t
= q
tz
/ q
iz
;
q
tz
y q
iz
son los ndices de
refraccin de los materiales.

Los q dependen tambin de
la longitud de onda
Lnea de visin
Objeto
transparente
Lnea de visin
refractada (ptica) Lnea de visin no
refractada (geomtrica)
u
i
u
t
u
i
u
t
Transparencia refractiva
(ndices de refraccin)
Transparencia
Vacuum ..1.00000 (exactly)
Air(STP)... 1.00029
Acetone ... 1.36
Alcohol ... 1.329
Amorphous Selenium ... 2.92
Calspar1 ...1.66
Calspar2 ...1.486
Carbon Disulfide ...1.63
Chromium Oxide ...2.705
Copper Oxide ...2.705
Crown Glass ...1.52
Crystal ...2.00
Diamond ...2.417
Emerald ...1.57
Ethyl Alcohol ...1.36
Flourite ...1.434
Fused Quartz ...1.46
Heaviest Flint Glass... 1.89
Heavy Flint Glass ...1.65
Glass ...1.5
Ice ...1.309
Iodine Crystal ...3.34
Lapis Lazuli ...1.61
Light Flint Glass ...1.575
Liquid Carbon Dioxide ...1.20
Polystyrene ...1.55
Quartz 1 ...1.644
Quartz 2 ...1.553
Ruby ...1.77
Sapphire ...1.77
Sodium Chloride(Salt)1 . 1.544
Sodium Chloride(Salt)2 . 1.644
Sugar Solution (30%)... 1.38
Sugar Solution (80%)... 1.49
Topaz ...1.61
Water (20 C) ...1.333
Zinc Crown Glass ...1.517
Algoritmos de iluminacin global

Gran parte de la luz en el mundo real no proviene de fuentes
directas.

Algoritmos para abordar este problema:
Traza de rayos recursiva (ray tracing)
Es dependiente de la ubicacin del observador

Radiosidad (Radiosity)
Es independiente de la ubicacin del observador

Algoritmos de
Iluminacin Global
Algoritmos de iluminacin global

Ecuacin de generacin
Algoritmos de iluminacin global
En computacin grfica, la ecuacin de generacin (o rendering equation),
describe el flujo de luz a travs de la escena. Est basada en la fsica de la luz,
prove resultados tericamente perfectos, en contraste con las tcnicas vistas
anteriormente, las cuales se aproximan a este ideal.
I indica la luz que sale del punto x hacia el punto x. Si x es el ojo del observador,
implementar esta ecuacin sirve para generar imgenes realistas.
Contempla luz emitida por los puntos as como la reflejada por estos.
Esta ecuacin es recursiva dado que I est tambin a la derecha de la igualdad.
Para implementarla computacionalmente (veremos el algoritmo de Whitted) se
suelen emplear algoritmos recursivo.
()()()( )()
(

+ =
}
s
dx x x I x x x x x x x g x x I ' ' ' ' , ' ' ' , ' , ' , ' , ' , c
Ecuacin de generacin
Algoritmos de iluminacin global

x, x, x son puntos en el ambiente
I(x,x) es la intensidad que pasa de x a x
g(x,x) es un trmino geomtrico.
Vale 0 cuando x y x estn ocultos entre si.
Vale 1/r
2
cuando son visibles (r=distancia(x,x))
c(x,x) intensidad de luz que se emite de x a x (si x es fuente de luz)
(x,x,x) se relaciona con la intensidad de luz reflejada en x, que sale de x y llega a x
La integral refiere a que la luz que se refleja desde x hacia x, proviene de todos los puntos
del espacio (representados por la integral en x ).
()()()( )()
(

+ =
}
s
dx x x I x x x x x x x g x x I ' ' ' ' , ' ' ' , ' , ' , ' , ' , c
Traza de rayos recursiva (ray-tracing)
Algoritmos de iluminacin global
Aqu se lanzan rayos desde el
observador hacia el objeto.
Luego, en el punto de
interseccin se lanzan rayos
hacia las fuentes luminosas
(llamados rayos de sombra).
Si uno de esos rayos interseca
un objeto, dicho objeto est
bajo sombra de la fuente de luz
correspondiente.
Traza de rayos recursiva (Whitted)
Algoritmos de iluminacin global
Aqu se ve un rayo v que sale del observador e incide
en una superficie.
Adems de los rayos de sombra L, se generan rayos
de reflexin R y de refraccin T (si el objeto es
transparente). Se llaman rayos secundarios.

Rayos primarios son los que parten del observador.

N
V R
L
T
-
N
Traza de rayos recursiva (Whitted)
Algoritmos de iluminacin global
T
2
R
3
N
3
T
1
N
2
R
2
R
1
N
1
L
2
L
1
L
3
Fuente
luminosa
puntual
Punto de
observacin
Aqu se ven los primeros pasos de
la recursin del algoritmo de
Whitted. El rayo que sale del
observador, incide en un punto de
una superficie. De l salen 3 rayos
L
1
, R
1
y T
1
, estos ltimos inciden
nuevamente en 2 superficies.
El objetivo es saber qu ve el
observador en ese punto. La luz
que le llega al observador se
compone de la proveniente
directamente de la fuente luminosa
(y reflejada en la superficie), as
como de la reflejada de forma
especular por la superficie y de la
refractada, las cuales a su vez
vienen de otras reflexiones y
refracciones.
Traza de rayos recursiva (Whitted)
Algoritmos de iluminacin global
L
1
L
3
L
2
R
1
R
3 R
2
T
2
T
1
Punto de observacin
Aqu se observa se ve el rbol de
rayos correspondiente a la
transparencia anterior.
Para conocer cunta luz es
transmitida por T
1
, es necesario
conocer los valores de intensidad de
L
3
, R
3
y T
2
. Esto obliga a recorrer
recursivamente un rbol de rayos.
En la prctica el rbol se detiene a
una profundidad prefijada o cuando
las intensidades lumnicas de los
rayos estn por debajo de un umbral
predeterminado.
Traza de rayos recursiva (Whitted)
Algoritmos de iluminacin global
Aqu se aprecian imgenes que para ser generadas se ha precisado realizar
rboles de profundidad de un nivel relativamente hondo (4 o 5 niveles).
Traza de rayos recursiva (Whitted)
Algoritmos de iluminacin global
() () | |
t t r s
m i
n
i s s i d d p att i d a a
I k I k V R O k L N O k I f S O k I I
i i
+ + + + =

s s 1
I
r
Intensidad del rayo reflejado.
I
t
Intensidad del rayo transmitido refractado.
k
t
coeficiente de transmisin (entre 0 y 1).
I
r
e I
t
se calculan recursivamente y se multiplican por el inverso de la distancia.
S
i
es una funcin continua. Vara segn la transparencia de los objetos
intersecados.
Dos trminos nuevos agregados
a la ecuacin de iluminacin
Traza de rayos recursiva (Whitted)
seudocdigo (1)
Algoritmos de iluminacin global

Seleccionar el centro de proyeccin y la ventana en el plano de vista;
for (cada lnea de barrido en la imagen){
for (cada pixel en la lnea de barrido){
determinar rayo por centro de proyeccin y pixel;
pixel=traza_RR(rayo, 1);
}
}
A continuacin veremos el seudocdigo del algoritmo de Whitted. Es relativamente
fcil de implementar y los resultados son bastante buenos aunque no vlidos
fsicamente.
Traza de rayos recursiva (Whitted)
seudocdigo (2)
Algoritmos de iluminacin global
/* Intersecar rayo con los objetos y calcular la sombra en la interseccin
ms cercana. */
/* La profundidad es la profundidad actual en el rbol de rayos */
color_RR traza_RR (rayo_RR, int profundidad)
{
determinar la interseccin ms cercana de rayo con un objeto;
if (Hay objeto intersecado) {
calcular normal en la interseccin;
return sombra_RR(obj. intersecado ms cercano, rayo,
interseccin, normal, profundidad);
}
else
return VALOR_FONDO
}
Traza de rayos recursiva (Whitted)
seudocdigo (3)
Algoritmos de iluminacin global
/* Calcular sobra en un punto, con rayos para sombras, reflex. y refrac. */
color_RR sombra_RR (objeto, rayo, punto, normal, int profundidad)
{
color = trmino del ambiente;
for (cada luz) {
rayo_s = rayo desde punto a la luz;
if (el producto punto de normal y direc. de luz es positivo) {
Calcular cunta luz es bloqueada por sup. Opacas y transp.,
y usarlo para escalar los trminos difusos y especulares antes de
aadirlos a color;
}
}
...
Traza de rayos recursiva (Whitted)
seudocdigo (4)
Algoritmos de iluminacin global
if (profundidad < profundidad_max) { /*Regresar si la prof. es excesiva */
if (objeto es reflejante) {
rayo_r = rayo en la direccin de reflexin desde punto;
color_r = traza_RR (rayo_r, profundidad + 1);
escalar color_r por el coeficiente especular y aadir a color;
}
if (objeto es transparente) {
rayo_t = rayo en la direccin de refraccin desde punto;
if (no ocurre la reflexin interna total) {
color_t = traza_RR (rayo_t, profundidad + 1);
escalar color_t por el coeficiente de transmisin y
aadir a color;
} } }
return color; /* Devolver color del rayo. */
}
Traza de rayos recursiva (Whitted)
Algoritmos de iluminacin global
Problema: Los rayos generados pueden intersecar las mismas
superficies de donde salen, por problemas de precisin.



Si se observa el algoritmo as como Los rayos de luz L no se
refractan en su trayectoria hacia la luz.
Por qu sucede este fenmeno? Cmo hara para solucionarlo?
Por qu se eligi esa solucin?
Mtodos de Radiosidad
Algoritmos de iluminacin global
Ray tracing contempla un trmino de iluminacin ambiental no
direccional. Esto es para contemplar otras contribuciones
luminosas.
Hay mtodos basados en la termodinmica, (emisin y reflexin
de radiacin) que hace innecesaria la iluminacin ambiental.


Radiosidad: tasa con la que la energa parte de una superficie.
Se compone de la tasa de energa emitida + la reflejada.

Energa/unidad de tiempo/unidad de rea = W/m
2

Mtodos de Radiosidad
Algoritmos de iluminacin global


Las interacciones entre superficies se calculan de
forma independiente de la vista.

Luego de este clculo, se generan las vistas, solo
determinando cules son las superficies visibles y y
el sombreado por interpolacin (por ejemplo, con
Gouraud).
Mtodos de Radiosidad
Algoritmos de iluminacin global
Mtodos de Radiosidad
Algoritmos de iluminacin global
Mtodos de Radiosidad
Algoritmos de iluminacin global
Mtodos de Radiosidad
Algoritmos de iluminacin global
Todas las superficies pueden emitir y reflejar luz.
Por tanto, las fuentes luminosas son reas.
Al ambiente se lo divide en un nmero finito de
parches discretos.
En cada parche, la luz es emitida y reflejada de
forma uniforme.
Ecuacin de Radiosidad
Algoritmos de iluminacin global

B
i
= E
i
+
i
E
1sjsn
B
j
F
j-i
(A
j
/A
i
)

B
i
= radiosidad de los parche i
E
i
= tasa con que el parche i emite luz.

i
= reflectividad del parche i (sin dimensiones).
F
j-i
= Factor de forma, fraccin de energa que va del parche
j al i (sin dimensiones)
A
i
= rea del parche i
Mtodos de Radiosidad
Ecuacin de Radiosidad
Algoritmos de iluminacin global
B
i
= E
i
+
i
E
1sjsn
B
j
F
j-i
(A
j
/A
i
)

La energa que parte de un parche = suma de la energa
emitida + la reflejada.
Luz reflejada = luz incidente x reflectividad .
Luz incidente = Suma de luz que parte de toda el rea de
cada parche en el ambiente, escalada a la fraccin de luz
que llega a un rea unidad del parche receptor.
B
j
F
j-i
= cantidad de luz que parte de un rea unidad de A
j

y llega a toda el rea A
i
.
B
j
F
j-i
(A
j
/A
i
) = cantidad de luz que parte de toda el rea A
j

y llega al rea unidad de A
i
.
Mtodos de Radiosidad
Ecuacin de Radiosidad
Algoritmos de iluminacin global

En los ambientes difusos, los factores de forma cumplen una
regla til:
A
i
F
i-j
= A
j
F
j-i

Por tanto, la ecuacin anterior se simplifica:
B
i
= E
i
+
i
E
1sjsn
F
i-j
B
j

O, de forma equivalente:
B
i
-
i
E
1sjsn
F
i-j
B
j
= E
i

Mtodos de Radiosidad
Ecuacin de Radiosidad
Algoritmos de iluminacin global
B
i
-
i
E
1sjsn
F
i-j
B
j
= E
i

Esto permite generar un sistema de ecuaciones lineales:

1-
1
F
1-1
-
1
F
1-2
... -
1
F
1-n
B
1
E
1
-
2
F
2-1
1-
2
F
2-2
... -
2
F
2-n
B
2
E
2
. . . . .
. . . * . = .
. . . . .
-
n
F
n-1
-
n
F
n-2
... -
n
F
n-n
B
n
E
n

Se puede resolver por Gauss-Seidel
Mtodos de Radiosidad
Algoritmos de iluminacin global







B
e
= (B
1
+ B
2
+ B
3
+ B
4
)/4
(B
b
+ B
e
)/2 = (B
1
+ B
2
)/2 => B
b
= (B
1
+ B
2
- B
e
)
(B
a
+ B
e
)/2 = B
1
=> B
a
= 2B
1
- B
e
Determinacin de la radiosidad de los vrtices
Mtodos de Radiosidad
1 2
3 4
a b c
d e f
g h i
A partir de la radiosidad de los
parches, se puede inferir la
radiosidad de los vrtices segn
las ecuaciones de abajo.
Una vez obtenida la radiosidad de
los vrtices, se puede aplicar
Gouraud o Phong para que no se
note el facetado provocado por
los parches.
Algoritmos de iluminacin global
El factor de forma de un rea diferencial dA
i
a un rea
diferencial dA
j
es:

dF
di-dj
= cosu
i
cosu
j
H
ij
dA
j
/ tr
2
H
ij
es 1 o 0 dependiendo de si dA
j
es visible desde dA
i

Clculo de los Factores de Forma
Mtodos de Radiosidad
A
i
dA
i
u
i
N
i
N
j
u
j
A
j
dA
j
Algoritmos de iluminacin global
dF
di-dj
= cosu
i
cosu
j
H
ij
dA
j
/ tr
2

F
di-j
= }
A
i
cosu
i
cosu
j
H
ij
/ tr
2
dA
j

F
i-j
= (1/A
i
) }
A
i
}
A
j
cosu
i
cosu
j
H
ij
/ tr
2
dA
j
dA
i

Suponemos que el punto central de un parche tipifica los
dems puntos del parche.
=>
F
i-j
se puede aproximar con F
di-j
calculado para un dA
i
en el
centro del parche i.
Clculo de los Factores de Forma
Mtodos de Radiosidad
Algoritmos de iluminacin global
Clculo de los Factores de Forma
Mtodos de Radiosidad
Calcular F
di-j
equivale a:
1) proyectar el rea visible de A
j
desde dA
i

sobre el hemisferio unidad.
2) Hacer una nueva proyeccin sobre el crculo
unidad.
3) Dividir el rea hallada por el rea del crculo.

Algoritmos de iluminacin global
Clculo de los Factores de Forma
Mtodos de Radiosidad
Calcular F
di-j
equivale a:
1) proyectar el rea visible de A
j
desde
dA
i
sobre un hemicubo de centro en
dA
i
.
2) Cada uno de los parches se proyectan
sobre la cara apropiada del hemicubo.
1) Cada celda del
hemicubo tiene un
FdeF propio, debido a
su posicin. F
di-j
se
calcula sumando los
FdeF de todas las
celdas que contengan
el identificador del
parche j.
Algoritmos de iluminacin global
Clculo de los Factores de Forma
Mtodos de Radiosidad
Algoritmos de iluminacin global
Clculo de los Factores de Forma
Mtodos de Radiosidad
Este algoritmo se puede realizar
aplicando el algoritmo de z-buffer a cada
lado del hemicubo, y registrando el
cdigo del parche en lugar del color.
Se puede aprovechar el hardware
existente para la memoria de
profundidad z.
Pueden haber artefactos de
discretizacin, por usar operaciones de
precisin de la imagen.
Algoritmos de iluminacin global
Soluciones parciales = Refinamiento progresivo
Mtodos de Radiosidad
En el mtodo anterior, hay n filas del tipo:
B
i
(k+1)
= E
i
+
i
E
1sjsn
F
i-j
B
j
(k)

se colecta la energa del ambiente sobre el parche i .
Por cada fila i procesada, se obtiene un nuevo valor para el
parche i .

A
i
= +
B
i
(k+1)
E
i

i
E
1sjsn
F
i-j
*

B
j
(k)
Algoritmos de iluminacin global
Soluciones parciales = Refinamiento progresivo
Mtodos de Radiosidad
En este nuevo mtodo, se irradia la energa del parche i a
todo el ambiente.
For ( j = 1:n ) { B
j
(k+1)
= B
j
(k)
+
j
F
j-i
AB
i
}
Por cada columna i procesada, se obtiene un nuevo valor
para todos los parches.

A
i
= +
B
i
(k+1)
B
i
(k)

j
F
j-i
*

AB
i
(k)
Algoritmos de iluminacin global
Soluciones parciales = Refinamiento progresivo
Mtodos de Radiosidad
Algoritmos de iluminacin global
Soluciones parciales = Refinamiento progresivo
Mtodos de Radiosidad
El clculo de F
j-i
precisa de un hemicubo diferente por j. Esto se
puede simplificar, haciendo:
For ( j = 1:n ) { B
j
(k+1)
= B
j
(k)
+
j
F
i-j
(A
i
/A
j
) AB
i
}
Este nuevo clculo solo precisa un hemicubo centrado en el parche A
i
Cuando se irradia por primera vez del parche A
i
, este irradia E
i
= AB
i

Las siguientes veces que se irradie del parche A
i
, solo se considera el
incremento AB
i
logrado desde la ltima vez que se irradi.
Conviene elegir los parches que al irradiar den el mayor impacto, los
que tengan ms energa a irradiar.
Ductos de generacin (Rendering)

DUCTOS DE ILUMINACIN LOCAL
Z-buffer y sombreado de Gouraud.
Z-buffer y sombreado de Phong.
Algoritmo de prioridad de listas y sombreado de Phong.

DUCTOS DE ILUMINACIN GLOBAL
Radiosidad
Rastreo de rayos.
Z-buffer y sombreado de Gouraud
Ductos de generacin
1) Recorrido de base de datos. No importa el orden de
lectura de las primitivas, dado que Z-buffer no lo precisa.
2) Transformacin de modelado. Pasar las primitivas al
sistema de W.C.
3) Aceptacin/rechazo trivial. Cohen-Sutherland por
ejemplo, pero sin recorte de primitivas. Se hace aqu para evitar
clculos innecesarios en la iluminacin.
4) Iluminacin. Las primitivas pueden venir con sus
normales. En ese caso aplicarles tambin la transformacin. de
modelado.
Se evala la ecuacin de iluminacin en cada vrtice. Se
debe hacer esto en W.C. para que de bien.
Ductos de iluminacin local
Z-buffer y sombreado de Gouraud
Ductos de generacin
5) Transformacin de vista. Tansformar los objetos a
NPC
6) Recortes. Recortar las primitivas respecto al volumen
de vista. Si hay recortes parciales, entonces calcular las
intensidades de iluminacin para los nuevos vrtices.
7) Divisin entre W, correspondencia al rea de
vista.
8) Generacin de barrido. Se utiliza Z-buffer, que hace
la generacin de barrido, discretizando e interpolando para
hallar los z y las intensidades. La intensidad se puede alterar
de acuerdo a la atenuacin atmosfrica.
9) Dibujo.
Ductos de iluminacin local
Z-buffer y sombreado de Gouraud
Ductos de generacin
Temas a tratar:

Las superficies curvas (parches bicbicos,
esferas, etc.) deben teselarse.

El proceso de teselado debe contemplar el
tamao del parche en la pantalla.


Ductos de iluminacin local
Z-buffer y sombreado de Phong
Ductos de generacin
1) Recorrido de base de datos. No importa el orden de
lectura de las primitivas, dado que Z-buffer no lo precisa.
2) Transformacin de modelado. Pasar las primitivas al
sistema de W.C.
3) Aceptacin/rechazo trivial. Cohen-Sutherland por
ejemplo, pero sin recorte de primitivas. Se hace aqu para evitar
clculos innecesarios en la iluminacin.
4) Transformacin de vista. Tansformar los objetos a NPC
5) Recortes. Recortar las primitivas respecto al volumen de
vista. Si hay recortes parciales, entonces calcular las
intensidades de iluminacin para los nuevos vrtices.

Ductos de iluminacin local
Z-buffer y sombreado de Phong
Ductos de generacin
6) Divisin entre W, correspondencia al rea de
vista.
7) Generacin de barrido. Se utiliza Z-buffer, que hace
la generacin de barrido, discretizando e interpolando para
hallar los z y las intensidades. La intensidad se puede alterar
de acuerdo a la atenuacin atmosfrica.
Se aplica Phong. Para interpolar correctamente las
normales y evaluar la ecuacin de iluminacin, se debe hacer
un mapeo invertido de cada punto y su normal a un sistema
de coordenadas isomtrico a las coordenadas mundiales.
8) Dibujo.
Ductos de iluminacin local
Algoritmo de prioridad de listas y
sombreado de Phong
Ductos de generacin
Son 2 ductos relacionados.
Primer Ducto
1) Recorrido de la base de datos.
2) Transformacin de modelado.
3) Determinacin preliminar de superficies visibles. Por
ejemplo con BSP (Binary Space Partitioning), dado que es
independiente de la vista. Si los polgonos se dividen, hay que
calcular informacin de sombreado en los nuevos vrtices
4) Generacin de nueva base de datos.

Ductos de iluminacin local
Algoritmo de prioridad de listas y
sombreado de Phong
Ductos de generacin
Segundo Ducto
1) Nuevo recorrido de la base de datos.
2) Aceptacin/rechazo trivial.
3) Transformacin de vista
4) Recortes
5) Divisin entre W, correspondencia al rea de vista
tridimensional.
6) Generacin de barrido (incluyendo iluminacin) Aqu
no es necesario Z-buffer, basta dibujar los polgonos en el
orden correcto.
7) Dibujo.
Ductos de iluminacin local
Radiosidad
Ductos de generacin
Son 2 ductos relacionados.
Primer Ducto
1) Recorrido de la base de datos.
2) Transformacin de modelado.
3) Clculo de intensidad de vrtices usando el mtodo
de radiosidad.
4) Generacin de nueva base de datos.

Ductos de iluminacin global
Radiosidad
Ductos de generacin
Segundo Ducto
1) Nuevo recorrido de la base de datos.
2) Aceptacin/rechazo trivial.
3) Transformacin de vista
4) Recortes
5) Divisin entre W, correspondencia al rea de vista
tridimensional.
6) Generacin de barrido Se puede aplicar una variante
del Z-buffer y sombreado de Gouraud que elimina la etapa de
iluminacin.
7) Dibujo.
Ductos de iluminacin global
Rastreo de rayos
Ductos de generacin
Los objetos visibles en cada pxel y su iluminacin se
consideran en coordenadas de mundo.
1) Recorrido de la base de datos.
2) Transformacin de modelado
3) traza de rayos
4) Dibujo.
Ductos de iluminacin global
Refinamiento Progresivo
Ductos de generacin
Dado que las imgenes muchas veces se ven
durante un tiempo finito, puede ser interesante
generar primero versiones burdas de la misma.
Usar primero modelos simples, sombreado
sencillo sin eliminacin de artefactos de
discretizacin.
Traza de rayos y radiosidad son particularmente
apropiados.

Вам также может понравиться