Iluminación - Asignaturas DIICC, UdeC

Anuncio
Taller de Computación Gráfica
Capítulo IV.- Iluminación y sombreado
IV.1.- Modelo de Iluminación
IV.1.1.-
Luz ambiental
Corresponde al modelo en el cual cada objeto se presenta
con una intensidad intrínseca. Se puede considerar este modelo,
que no tiene una fuente de luz externa, como la descripción de
un mundo ligeramente irreal de objetos no reflejantes y
autoluminosos. En este caso cada objeto aparece como una
silueta monocromática, a menos que sus partes individuales,
como los polígonos de un poliedro, reciban matices diferentes al
crear el objeto.
Un
iluminación
modelo
se
de
puede
expresar con una ecuación
de iluminación de variables
asociadas con el punto en el
objeto que se sombrea. La
ecuación de iluminación que
expresa este sencillo modelo
es: I = Ki; donde I es la intensidad resultante y el coeficiente Ki es
la intensidad intrínseca del objeto.
Como esta ecuación de iluminación no contiene términos
que dependan de la posición del punto que se sombrea, se puede
evaluar I una vez por cada objeto.
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
El proceso de evaluación de la ecuación de iluminación en
uno o más puntos de un objeto se conoce como Iluminación del
Objeto.
Imaginemos ahora que un lugar de Autoluminosidad hay
una
fuente
luminosa
difusa
no
direccional,
producto
de
reflexiones múltiples de la luz en las superficies presente en el
ambiente. Esto se conoce como luz ambiental. Si suponemos que
la luz ambiental afecta de la misma forma a todas las superficies
desde todas las direcciones, nuestra ecuación se convierte en:
I = Ia * Ka
Ia
es la intensidad de la luz ambiental (constante para todos
los objetos); y,
Ka
es la cantidad de luz ambiental reflejado por la superficie de
un objeto, su valor está entre 0 y 1 y se conoce como el
Coeficiente de Reflexión Ambiental. Este valor es una
propiedad material no una propiedad física
IV.1.2.-
Reflexión difusa
En este caso se requiere una
fuente luminosa puntual cuyos rayos
emanan uniformemente en todas las
direcciones a partir de un único punto.
La brillantez de un objeto varia de una
parte a otra, dependiendo de la dirección
y la distancia de éste con respecto a la
fuente luminosa.
Profesor : Javier Vidal Valenzuela
L
Taller de Computación Gráfica
IV.1.3.-
Reflexión Lambertiana
Se trata de superficies que aparecen con la misma
brillantez desde todos los ángulos de observaciones, pues reflejan
la luz con igual intensidad en todas las direcciones. El fenómeno
puede se descrito por la siguiente figura:
N
dA
θ
dA
cos θ
Haz de luz
Sup.2
Sup.1
En la figura se ilustra un haz que intercepta una
superficie de tamaño dA infinitesimalmente pequeña. Este
mismo haz luminoso intercepta la superficie 2 en un área
dA/cosθ. Entonces, para un haz luminoso incidente, la cantidad
de energía luminosa que cae en dA es proporcional a cosθ.
En segundo lugar, se debe considerar la cantidad de luz
que ve el observador. Las superficies lambertianas tienen la
propiedad de que la cantidad de luz que reflejan hacia el
observador
proporcional
en
un
al
área
coseno
diferencial
del
ángulo
dA
es
entre
la
directamente
dirección
al
observador y el vector normal N, esto es independiente del
material.
N
θ
L
dA
cos θ
I (en dA) = Ifte * cos θ
Con esto la ecuación de iluminación difusa es:
I = Ip * Kd * cos φ = Ip * Kd * (N • L),
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
N y L son vectores normalizados, N normal a la superficie en el
punto a calcular y L apuntando a la fuente de luz.
Ip
es la intensidad de la fuente luminosa puntual.
Kd
es el coeficiente de reflexión difusa del material, el cual es
una constante entre 0 y 1 y varía de un material a otro.
El ángulo φ debe estar entre 0º y 90º para que tenga
efecto directo en el punto sombreado (superficie autocluyente)
Esferas iluminadas usando modelo de reflexión difusa. De izquierda a derecha:
Kd
toma los valores 0.4, 0.55, 0.7, 0.85 y 1.0
Es común añadir a la formulación un término de
ambiente para obtener una ecuación de iluminación más realista
I = Ia * Ka + Ip * Kd * (N • L)
Esferas iluminadas usando reflexión ambiental y difusa. Para todas las esferas
Ia = Ip = 1.0, Kd = 0.4, de izquierda a derecha: Ka toma los valores 0.0, 0.15, 0.30, 0.45
y 0.60
IV.1.4.-
Atenuación
A la formulación anterior se puede agregar un factor que
simule la distancia de la fuente de luz al objeto, este es el factor
de atenuación (fatt) :
I = Ia * Ka + Ip * Kd * (N • L) * fatt
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
Si la luz está muy lejos fatt no debería ser percibido y si la
fuente
de
luz
está
muy
cerca
fatt
debería
variar
considerablemente. Por tanto, en general se usará:
fatt = min(1/(C1 + C2 * dL + C3 * dL2), 1)
C1, C2 y C3 son constantes definidas por el usuario relacionadas
con la fuente luminosa.
Esferas sombreadas usando reflexión ambiental y difusa con un término de atenuación
de fuente luminosa. Para todas las esferas Ia = Ip = 1.0, Ka = 0.1, Kd = 0.9. De izquierda
a derecha, la distancia de la esfera a la fuente luminosa es 1.0, 1.375, 1.75, 2.125 y
2.5. Fila superior C1 = C2 = 0.0, C3 = 1.0 (1/dL2). Fila central C1 = C2 = 0.25, C3 = 0.5.
Fila inferior C1 = 0.0, C2= 1.0, C3 = 0.0 (1/dL).
IV.1.5.-
Reflexión especular
La reflexión especular se puede observar en cualquier
superficie brillante. Por ejemplo, al iluminar una manzana con
una luz blanca brillante: el punto de máximo brillo (highlight) es
ocasionado por la reflexión especular, mientras que la luz
reflejada del resto de la manzana es el resultado de la luz difusa.
En el punto de máximo brillo la manzana aparece blanca, el color
de la luz incidente.
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
En un espejo perfecto α = 0, sólo
N
en la dirección del vector R se puede ver
R
L
la reflexión de la luz (reflecto perfecto).
θθ α
En este caso el vector V representa la
V
dirección del observador.
IV.1.6.-
Modelo de Phong
Phong Bli-Tong desarrolló un modelo de iluminación para
reflectores imperfectos. El modelo supone que la máxima
reflectancia especular ocurre cuando α es cero y decrece
rápidamente conforme aumenta α. Esta caída rápida se aproxima
por cosnα, donde n es el exponente de reflexión especular del
material.
La
cantidad
de
luz
incidente
que
se
refleja
especularmente depende del ángulo de incidencia θ. Si W(θ) es la
fracción de luz reflejada especularmente, el Modelo de Phong
queda:
I = Ia * Ka + fatt * Ip * [Kd * cosθ + W(θ) * cosnα]
Si se utilizan vectores normalizados (R y V), si Ks, que
corresponde al coeficiente de reflexión especular del material,
reemplaza a W(θ, conservando su valor, el que varía entre 0 y 1,
seleccionándolo
empíricamente
para
producir
resultados
atractivos y si, además, se consideran los componentes de un
modelo de colores (Odλ) de la luz difusa, entonces el modelo de
Phong queda:
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
Iλ = Iaλ * Ka * Odλ + fatt * Ipλ * [Kd * Odλ * (N•L) + Ks * (R•V)n]
donde
Odλ
Componente difuso perteneciente a la longitud de onda λ.
Iaλ
Componente λ de la iluminación ambiental
Ipλ
Componente λ de la iluminación puntual que produce
reflexión difusa y especular.
Esferas sombreadas usando de iluminación de Phong. Para todas las esferas
Ia = Ip = 1.0, Ka = 0.1, Kd = 0.45. De izquierda a derecha, n toma valores 3.0,
5.0, 10.0, 27.0, 200.0. De arriba hacia abajo Ks toma valores 0.1, 0.25 y 0.5.
IV.1.7.-
Cálculo del Vector de Reflexión
Para el cálculo del vector de reflexión R se requiere
reflejar el vector L sobre la normal a la superficie N como se
muestra en la figura:
R = N * cos θ + S
L
N
R
θθ α
V
N cos θ
Profesor : Javier Vidal Valenzuela
pero S = N * cos θ - L
⇒
R = 2 * N * cos θ - L
como N•L = cos θ
y
R•V = cos α
⇒
R = 2 * N * (N•L) - L
⇒
R = 2 * N * (N•L) - L
⇒
R•V = (2 * N * (N•L) - L) * V
Taller de Computación Gráfica
Si la fuente luminosa está en el infinito N•L es constante
para un polígono, mientras que R•V varía a través del polígono.
En el caso de superficies curvas o de una fuente luminosa que
no está en el infinito, tanto N•L como R•V varían a través de la
superficie.
IV.1.8.-
El Vector Intermedio
Una
formulación
alternativa
del
vector intermedio H, la dirección de este
H
N
modelo de iluminación de Phong utiliza el
L
vector esta exactamente entre la dirección del
β
R
θθ α
V
vector L de iluminación y el vector V del
observador.
También se conoce como la dirección de realces máximos
(en el sentido que se vería el punto de máximo brillo especular).
El nuevo término de reflexión especular puede expresarse
como (N•H)n, donde H = (L + V)/|L + V| cuando la fuente
luminosa están en el ∞. La ventaja computacional de utilizar N•H
es que H es constante.
IV.1.9.-
Fuentes Luminosas Múltiples
Si se suman m fuentes luminosas, los términos de cada
una de ellas deben agregarse a la fórmula, quedando esta como:
Iλ = Iaλ * Ka * Odλ + Σ i=1,n (fatti * Ipλi * [Kd * Odλ * (N•Li ) + Ks (Ri•V) n])
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
IV.2.- Modelo de Sombreado para Polígonos
IV.2.1.-
Sombreado constante
También conocido como sombreado facetadon o plano,
este método aplica un modelo de iluminación sólo una vez, el
cual permite determinar un valor de Iλ para un polígono. Este
método es válido si son válidos los siguientes supuesto:
1. La fuente de iluminación está en el infinito, luego N•L es
constante para el polígono.
2. El observador está en el infinito, por tanto N•V es constante
para cada polígono.
3. El polígono representa una superficie real y no una
aproximación a una superficie curva.
IV.2.2.-
Sombreado Interpolado
Como alternativa a la evaluación de la ecuación de
iluminación en cada punto del polígono, existe el sombreado
interpolado, en el cual la información de sombreado se interpola
linealmente
sobre
un
triángulo
a
partir
de
los
valores
determinados para sus vértices.
Gouraud
generalizó
esta
técnica
para
polígonos
arbitrarios. Este método es muy fácil de usar en un algoritmo de
línea de barrido que interpola el valor de z en un tramo a partir
de valores de z interpolados que se calculan para los puntos
extremos del tramo.
Es recomendable usar una ecuación de diferencias para
aumentar la eficiencia en la determinación del valor de z en cada
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
pixel.
Aunque
la
interpolación
z
es
físicamente
correcta
(suponiendo que el polígono es plano), observe que el sombreado
interpolado no lo es, ya que sólo aproxima la evaluación del
modelo de iluminación en cada punto del polígono.
A continuación analizaremos cómo generar una malla
poligonal para que sea lo más parecida posible a una superficie
curva.
IV.2.3.-
Sombreado de una Malla Poligonal
Si
aproximar
se
quiere
una
superficie
curva a través de una malla
de polígonos y cada faceta se
sombrea
individualmente
entonces cada polígono será
claramente distinguible de
sus polígonos vecinos.
Esto ocurre si se utiliza sombreado constante, interpolado
o incluso si se calcula la iluminación para cada píxel, ya que dos
polígonos adyacentes con orientación distinta tienen diferentes
intensidades en sus fronteras.
Aunque la malla sea más fina no se logrará una mejora
debido al Efecto de Banda de Mach. Este
efecto es ocasionado por la inhibición de
laterales de los receptores del ojo.
Los
modelos
de
sombreado
de
polígonos que hemos visto determinan la sombra de un polígono
individualmente. Los siguientes modelos de sombreado para
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
mallas poligonales aprovechan la información proporcionada por
los polígonos adyacentes para simular una superficie suave.
IV.2.4.-
Sombreado de Gouraud
Este modelo utiliza fundamentalmente la interpolación,
aunque no se elimina completamente el efecto de la banda de
Mach.
El siguiente paso en el sombreado de
N1
Gouraud es encontrar las intensidades de los
vértices. Esto se hace usando las normales a
N2
N4
los vértices y cualquier modelo de iluminación.
Luego cada polígono se sombrea a lo largo de
las aristas usando interpolación lineal de las
N3
intensidades de los vértices.
Σi=1,n Ni
Nv = |Σ
i=1,n Ni|
Finalmente, se interpola entre las aristas a lo largo de las
líneas de barrido.
Profesor : Javier Vidal Valenzuela
Taller de Computación Gráfica
I1
y1
Ia
ys
y2
Ip
Ib
-
ys
y2
ys
y3
yp
ya
I2
y3
IV.2.5.-
y1
Ia = I1 - (I1 - I2)* y1
y
Ia = I1 - (I1 - I3)* y1
1
Y
Ip = Ib - (Ib - Ia)* b
Yb
I3
Sombreado de Phong
También
llamado
sombreado
de
interpolación
de
normales, por que interpola el vector normal a la superficie en
lugar de la intensidad.
La interpolación ocurre en un tramo de polígono sobre
una línea de rastreo, entre las normales inicial y final del tramo.
Na
Nb
Nc
N1
N0
P0
Pa
Profesor : Javier Vidal Valenzuela
Pb
Pc
P1
Taller de Computación Gráfica
A su vez, estas normales se interpolan en las aristas de
los polígonos a partir de normales a vértices que se calculan
como en el sombreado de Gouraud.
Profesor : Javier Vidal Valenzuela
Descargar