Libro Render

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 222

Informática Gráfica

Texturado, iluminación
y render de imágenes
sintéticas

Diego Gutiérrez
Francisco José Serón
Informática Gráfica

Texturado, iluminación
y render de imágenes
sintéticas

Diego Gutiérrez
Francisco José Serón
Edita:
Departamento de Informática e Ingeniería de Sistemas
C/María de Luna 1, Campus Río Ebro, Edificio Ada Byron
50018 Zaragoza (España)

ISBN:

Depósito Legal:

Imprime:
Tabla de contenidos

1. Introducción 1
2. Modelos de iluminación local 7
3. Shading 27
4. Modelos de iluminación global 40
5. Ray tracing 52
6. Técnicas de aceleración de Ray Tracing 73
7. Sampling y antialiasing 82
8. Texturas 93
9. Luz virtual 139
10. Bibliografía 215
Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Introducción
Diego Gutiérrez y Francisco J. Serón

Introducción

La informática gráfica es una tecnología para presentar


información
Si puedes imaginarlo, puedes hacerlo con CG
Pensad en todos los ámbitos en que está presente...

Diego Gutiérrez y Francisco J. Serón


Introducción

Este curso es la excusa para perfecta para...


¾ Ir al cine
¾ Jugar al ordenador
¾ Ver mucha televisión
¾ ...

Y si alguien pregunta, decidles que estáis estudiando!

Diego Gutiérrez y Francisco J. Serón

Ambitos

Diego Gutiérrez y Francisco J. Serón


Introducción

Dada una escena 3D... ¿cómo obtenemos una imagen realista?

Diego Gutiérrez y Francisco J. Serón

Introducción

Necesitamos:
¾ Descripción de la escena:
Š Forma de los objetos
Š Localización y orientación
Š Propiedades de las superficies
Š Fuentes de luz
Š ...
¾ Información de la visibilidad:
Š Qué puntos son visibles?
Š Cómo están iluminados?
Š ...

Fundamentalmente nos ocuparemos de la última pregunta

Diego Gutiérrez y Francisco J. Serón


Introducción

Rendering pipeline (sobresimplificado!!!)

Polígonos
Geometría Curvas
Eliminación Superficies...
de líneas
ocultas
Luces
Render Shaders
Texturas...

Imágenes

Diego Gutiérrez y Francisco J. Serón

Introducción

Una vez hemos elegido una vista de nuestra escena, el objetivo es


saber cómo están iluminados los puntos visibles
Dos fuentes de luz para cada punto:
¾ Luz directa
¾ Luz indirecta

… y dos tipos de algoritmos:


¾ Algoritmos de iluminación local
¾ Algoritmos de iluminación global (GI)

Diego Gutiérrez y Francisco J. Serón


Introducción

Diego Gutiérrez y Francisco J. Serón

Introducción

Dos enfoques para afrontar el problema:


¾ Render heurístico: usa todos los trucos que puedas con tal de que la
imagen quede aparentemente bien (top-down)
Š Interpolación
Š Gouraud
Š Phong
¾ Render basado en la física: modela los procesos físicos que
determinan el transporte de luz en la escena y deja que la imagen
aparezca (bottom-up)
Š Trazado de rayos (Ray tracing)
Š Radiosidad
Š Mapas de fotones (Photon mapping)
Los físicos son más caros computacionalmente, pero dan
resultados más exactos (más realismo)

Diego Gutiérrez y Francisco J. Serón


Introducción

Otra clasificación de algoritmos de rendering, según el espacio


donde trabajan:
¾ Espacio imagen: primero averiguamos qué puntos se ven y luego
cómo están iluminados
Š Ray tracing
¾ Espacio objeto: primero averiguamos cómo está iluminada la escena
y luego qué puntos se ven
Š Radiosidad
¾ Mixtos: algunos algoritmos bidireccionales
Š Photon mapping

Diego Gutiérrez y Francisco J. Serón


Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Modelos de Iluminación Local


Diego Gutiérrez y Francisco J. Serón

Indice

Introducción
Tipos de reflexiones
Un modelo sencillo de
iluminación
Reflexión difusa: segundo
modelo
Reflexión especular:
modelo de Phong
Otro modelo más
completo
Transparencia
Color

Diego Gutiérrez y Francisco J. Serón


Introducción

Comenzamos con los modelos de iluminación local


En estos modelos, sólo se calcula la luz que proviene directamente
de las fuentes de luz
Percibimos los objetos gracias a la reflexión de la luz en ellos
(especular, difusa)
Aunque el color es un aspecto muy importante...
¾ En la definición de las fuentes de luz
¾ En las propiedades del material
¾ En la generación de efectos
...no lo incluiremos en la discusión por claridad

Diego Gutiérrez y Francisco J. Serón

Tipos de reflexiones

En la vida real todos los materiales son, en mayor o menor


medida, difusos direccionales (menos los espejos perfectos)

Diego Gutiérrez y Francisco J. Serón


Orientación de las superficies

N y L son vectores unitarios


Theta es el ángulo de incidencia

Diego Gutiérrez y Francisco J. Serón

Un modelo sencillo de iluminación

Consideremos sólo iluminación ambiental:


¾ Uniforme desde todas las direcciones (intensidad Ia)
¾ Proviene de múltiples reflexiones
¾ I= IaKd
¾ Kd mide la reflectividad de una superficie ante luz difusa (ambiental).
Llamado coeficiente de reflexión difusa
¾ Kd tiene valores entre 0 y 1

Problemas?

Diego Gutiérrez y Francisco J. Serón


Un modelo sencillo de iluminación

Al usar la ecuación anterior, cada punto del objeto poseerá la


misma intensidad!
Perdemos la tridimensionalidad

Son esferas o círculos?

Diego Gutiérrez y Francisco J. Serón

Un modelo sencillo de iluminación

Ejercicio: escribir 1000 veces las siguientes frases:


¾ La iluminación ambiental es un truco rastrero y vil
¾ La iluminación ambiental es más mala que el tabaco
¾ La iluminación ambiental no es mi amiga!

Diego Gutiérrez y Francisco J. Serón


Ley del coseno de Lambert

La intensidad de la luz reflejada por una superficie depende de la


intensidad de la luz recibida, que a su vez depende de la fuente
de luz y la orientación de la superficie respecto a ella

Diego Gutiérrez y Francisco J. Serón

Ley del coseno de Lambert

Intensidad de luz Ip de área A


La luz se dispersa sobre un área A’
A’=A/cosθ
A=A’ cosθ
Luego la intensidad efectiva en la superficie es Ie=Ipcosθ
A

Diego Gutiérrez y Francisco J. Serón


Ley del coseno de Lambert

¿Por qué nos quemamos más los hombros en verano?

Los difusores ideales se comportan según esta ley (materiales


Lambertianos)
La intensidad reflejada es independiente
de la dirección de visualización
Sólo depende de la orientación de la
superficie respecto a la luz

Diego Gutiérrez y Francisco J. Serón

Ley del coseno de Lambert

Diego Gutiérrez y Francisco J. Serón


Reflexión difusa

Podemos calcular la intensidad de la luz reflejada de manera


difusa como:

Como N y L son vectores unitarios:

La intensidad de la luz reflejada de manera difusa es entonces:

Diego Gutiérrez y Francisco J. Serón

Reflexión difusa

Diego Gutiérrez y Francisco J. Serón


Un segundo modelo de iluminación

Consideramos ahora la componente ambiental más la difusa


(proviniente de una fuente puntual)

Para la componente difusa, cuando el producto escalar es


negativo (ángulos mayores de 90º), la superficie no “ve” la luz y
la energía reflejada es cero

Diego Gutiérrez y Francisco J. Serón

Un segundo modelo de iluminación

Ejemplos de esferas lambertianas con fuentes de luz en distintos


ángulos:

¿Por qué se usan esferas para tests de iluminación y sombreado?

Diego Gutiérrez y Francisco J. Serón


Reflexión especular

El modelo Lambertiano sólo permite modelar objetos mate


Las superficies brillantes ofrecen reflejos especulares (highlights)
bajo determinados ángulos de visión
Ojo con la terminología! (reflejo especular vs. highlight)
Luego la posición del highlight es una función del punto de vista
de la escena: introducimos la dependencia de la dirección de
visualización
Los highlights ocurren sobre un estrecho rango de ángulos
El color del highlight es generalmente el mismo que el de la lulz
que lo provoca
Los espejos son un ejemplo de reflexión especular perfecta:
ángulo de incidencia igual a ángulo de reflexión

Diego Gutiérrez y Francisco J. Serón

Reflexión especular

Ecuación de la reflexión

Diego Gutiérrez y Francisco J. Serón


Reflexión especular

El rayo, la normal y el rayo reflejado pertenecen al mismo plano


Ley de Snell:

La reflexión especular cumple que

Diego Gutiérrez y Francisco J. Serón

Reflexión especular

Ningún material real es especular perfecto


Imperfecciones en la superficie hacen que los
rayos reflejados se dispersen a partir de la
dirección teórica

Introducimos ahora un modelo empírico para


calcular el reflejo especular: Phong

Diego Gutiérrez y Francisco J. Serón


Modelo de iluminación de Phong

Introducimos más notación:


¾ N es la normal a la superficie
¾ L es la dirección hacia la fuente de luz
¾ V es la dirección hacia el punto de vista
¾ R es la dirección de la reflexión especular ideal
¾ Como veremos, la intensidad de la reflexión especular depende del
ángulo entre V y R

Diego Gutiérrez y Francisco J. Serón

Modelo de iluminación de Phong

Aviso de antemano: no confundir con el modelo de interpolación


de Phong

El modelo de iluinación de Phong es heurístico, sin base física...


...y uno de los más utilizados en CG

El término cos φ es máximo cuando la


superficie se mira desde la dirección especular,
y cae a 0 cuando se mira a 90º de esa dirección.
El término nshiny controla ese decaimiento

Diego Gutiérrez y Francisco J. Serón


Modelo de iluminación de Phong

La n (o nshiny) depende de la superficie:


¾ Reflector ideal: n=infinito

¾ Reflector casi nulo (una esponja): n=1


¾ En la práctica n[1..200]

Diego Gutiérrez y Francisco J. Serón

Modelo de iluminación de Phong

Podemos evaluar el cos φ vectorialmente:


¾ cos φ = R·V (ya que ambos vectores son unitarios)

La reflexión especular también depende de θ


Luego tenemos que:

En la práctica, se reemplaza W(θ) por Ks


Ks es el coeficiente de reflexión especular
Ks[0..1]

Diego Gutiérrez y Francisco J. Serón


Modelo de iluminación de Phong

Reflexiones especulares (modelo de Phong) con n cte. y variando


la posición de la fuente de luz

Diego Gutiérrez y Francisco J. Serón

Modelo de iluminación de Phong

Reflexiones especulares (modelo de Phong) aumentando n y


manteniendo la posición de la fuente de luz fija

Diego Gutiérrez y Francisco J. Serón


Tercer modelo de iluminación

Teníamos:

Seguimos completando el modelo:

Diego Gutiérrez y Francisco J. Serón

Tercer modelo de iluminación

Ejemplos:
¾ Kd=0.4 Ia=0.2Ip
n=3 n=10 n=100

Ks=0.25

Ks=0.5

Diego Gutiérrez y Francisco J. Serón


Tercer modelo de iluminación

La intensidad de luz de una fuente decae con la distancia al


cuadrado:
¾ I=Ip/(4πd2)

Esto suele sustituirse por la siguiente fórmula experimental:


¾ I=Ip/(d+d0)

...donde d0 es una constante determinada experimentalmente

De nuevo un truco empírico (hack) sustituye a un modelo del


fenómeno físico
Hay muchas “constantes determinadas experimentalmente” en CG

Diego Gutiérrez y Francisco J. Serón

Cuarto modelo de iluminación

Por modelos será: introducimos la atenuación de la luz con la


distancia y tenemos:

O en forma vectorial (vectores normalizados!)

Si hay más de una luz:

Diego Gutiérrez y Francisco J. Serón


Transparencia

Recordemos la Ley de Snell:

Diego Gutiérrez y Francisco J. Serón

Transparencia

Transparencia sin refracción:


¾ t es el coeficiente de transmisión

¾ Objeto opaco: t=1; Objeto transparente: t=0


¾ t puede ser función del color (ventana de una iglesia)
En el ejemplo, la intensidad observada sería:
¾ I=tIf+(1-t)Ib

Diego Gutiérrez y Francisco J. Serón


Dispersión

El índice de refracción n es f(λ): dispersión

Diego Gutiérrez y Francisco J. Serón

Color

De momento no hemos considerado el color, sólo hemos hablado


de intensidades de luz
El modelo de color más utilizado en CG es el RGB (lo cual no
implica que sea el mejor, ni siquiera el segundo mejor...)
Desacoplamos entonces la solución en tres longitudes de onda
linearmente independientes

Qué?
Diego Gutiérrez y Francisco J. Serón
Color

Desacoplamos entonces la solución en tres longitudes de onda


linearmente independientes:
¾ R,G,B
¾ Para el Rojo:

¾ Se ve cómo mantenemos la suposición de que el highlight especular


es del color de la fuente
Modelos espectrales más complejos dan mejores soluciones:

Diego Gutiérrez y Francisco J. Serón

Color

Al trabajar en RGB, los valores obtenidos [0..255] pueden


mapearse directamente a los canales RGB de un monitor

¿Y qué pasa si sobrepasamos el valor máximo?

Reproducción de tono

Diego Gutiérrez y Francisco J. Serón


Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Modelado Visual y Animación

Modelos de Iluminación Local


(in a nutshell)
Diego Gutiérrez y Francisco J. Serón

Iluminación local (in a nutshell)

Diego Gutiérrez y Francisco J. Serón


Iluminación local (in a nutshell)

Diego Gutiérrez y Francisco J. Serón

Iluminación local (in a nutshell)

Diego Gutiérrez y Francisco J. Serón


Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Shading
Diego Gutiérrez y Francisco J. Serón

Indice

Sombreado de polígonos
Sombreado plano
Sombreado de Gouraud
Sombreado de Phong
Cheap Phong
Coste computacional

Diego Gutiérrez y Francisco J. Serón


Sombreado de polígonos

Shading = sombreado

La mayoría de renderizadores trabajan sobre polígonos


La mayoría de los objetos se representan como polígonos
La mayoría de los algoritmos están pensados para polígonos
Los aceleradores gráficos trabajan sobre polígonos

Conclusión:
Los polígonos son tus amigos

Diego Gutiérrez y Francisco J. Serón

Sombreado de polígonos

Diego Gutiérrez y Francisco J. Serón


Sombreado de polígonos

Diego Gutiérrez y Francisco J. Serón

Sombreado de polígonos

Diego Gutiérrez y Francisco J. Serón


Sombreado de polígonos

Los modelos de iluminación que hemos desarrollado calculan la


intensidad de la luz en un punto aislado de la superficie
¿Cómo lo calculamos para todo el polígono?

Diferentes enfoques:
¾ Repetimos el cálculo para todos los puntos del polígono (innecesario,
poco práctico, nada inteligente)
¾ Flat shading: calculamos en un punto del polígono (generalmente el
centroide) y con el valor obtenido pintamos todo el polígono
¾ Gouraud y Phong: calculamos en puntos clave del polígono (vértices)
e interpolamos

Diego Gutiérrez y Francisco J. Serón

Flat shading (sombreado constante)

En inglés, a.k.a constant shading


El método más rápido y sencillo

El método menos realista


No pain, no gain

El centroide (o centro de gravedad) no tiene por qué caer en el


polígono (centroide de un donuts?)

Diego Gutiérrez y Francisco J. Serón


Flat shading (sombreado constante)

En realidad, para fuentes puntuales, la


dirección de la fuente de luz no es constante
sobre todo el polígono
Para reflejos especulares, la dirección del ojo
tampoco
Esto hace que la estructura poligonal interna
se haga evidente
Podemos refinar más la malla para
disimularla un poco

Diego Gutiérrez y Francisco J. Serón

Mach banding

Además, aparece el problema del Mach banding


¾ El sistema visual es muy bueno detectando aristas... aunque éstas no
existan!
¾ Discontinuidades C1
¾ Esto hace que las diferencias de sombreado entre polígonos parezcan
todavía mayores
¾ Y aunque usáramos el horriblemente ineficiente método de calcular
en cada punto del polígono, el resultado sería pobre

Diego Gutiérrez y Francisco J. Serón


Mach banding

Diego Gutiérrez y Francisco J. Serón

Mach banding

(Un ejemplo más de que no todo es interacción luz-materia...)

Diego Gutiérrez y Francisco J. Serón


Interpolación

Para eliminar estos efectos de banding y discontinuidad en el


sombreado, vamos a aplicar distintas técnicas de interpolación
El problema a resolver es: dado un polígono y una scanline,
determinar la intensidad de un punto P interior

Diego Gutiérrez y Francisco J. Serón

Sombreado de Gouraud

Gouraud shading se basa en interpolar las intensidades obtenidas


en cada vértice
Primero calculamos esa intensidad en A,B,C
¾ Necesitamos calcular la normal en cada vértice
¾ La aproximamos promediando la normal a la superficie en los
polígonos que comparten ese vértice

Diego Gutiérrez y Francisco J. Serón


Sombreado de Gouraud

¾ Equivale a hallar la normal a la superficie real que aproximan los


polígonos, asumiendo que éstos son una aproximación piecewise de la
superficie real (C0)
¾ Las normales proporcionan información sobre el plano tangente a la
superficie en cada punto (C1)
¾ Las normales en los vértices se usan sólo para iluminación (no backface
culling u otros cálculos geométricos)

Diego Gutiérrez y Francisco J. Serón

Sombreado de Gouraud

Primero calculamos la intensidad en Q y R (intersección del scan-


line con el polígono)
Y luego interpolamos entre IQ e IR para obtener Ip

Diego Gutiérrez y Francisco J. Serón


Sombreado de Gouraud

Pequeño hack: usar cálculo incremental para acelerar. Para dos


píxeles p1 y p2 situados sobre v1 y v2 respectivamente en la scan-
line, tenemos que:

...con lo que sólo hace falta calcular ΔI y Δv una vez por scanline,
reduciendo los cálculos por pixel a una suma

Diego Gutiérrez y Francisco J. Serón

Sombreado de Gouraud

Las discontinuidades entre polígonos adyacentes desaparecen (la


intensidad “al final de un polígono” a la que llegamos interpolando
será la intensidad “al comienzo del polígono siguiente”

Diego Gutiérrez y Francisco J. Serón


Sombreado de Gouraud

Problemas de Gouraud:
¾ Las aristas tienden a desaparecer
¾ Los reflejos especulares pueden perderse si caen dentro de un solo
polígono
¾ Como hemos visto, las bandas de Mach no se eliminan del todo

Para “recuperar” una arista que queremos que sea visible,


calculamos dos normales al vértice, una para cada lado. Cada
normal se halla promediando las normales a la superficie de los
polígonos del lado correspondiente

Diego Gutiérrez y Francisco J. Serón

Sombreado de Phong

No confundir con el modelo de iluminación de Phong


Interpolamos linealmente las normales de la superficie a lo largo
del polígono (no las intensidades como Gouraud)
Aparte de eso, el concepto es similar:

Diego Gutiérrez y Francisco J. Serón


Sombreado de Phong

Una vez interpoladas las normales, se aplica el modelo de


iluminación con la normal interpolada, para hallar la intesidad de
luz en el punto requerido

Apariencia más real. Los reflejos especulares se capturan mejor.


Las bandas de Mach se reducen
Requiere más cálculos (un cálculo de iluminación completo por
cada interpolación)

Diego Gutiérrez y Francisco J. Serón

Cheap Phong

O interpolación mediante el producto escalar


Es un compromiso entre interpolación de intensidades (Gouraud)
y de normales (Phong)
Las magnitudes a interpolar entre los extremos de una scanline
son los productos escalares N·L y (R·V)n

Diego Gutiérrez y Francisco J. Serón


Coste computacional
Cálculos por polígono.

Flat shading:
¾ Una sola vez
Gouraud
¾ Σscanlinespixels por scanline (Todo el modelo)
Cheap Phong
¾ Σscanlinespixels por scanline (N·L y R·V)
¾ Σscanlinespixels por scanline (Todo el modelo)
Phong
¾ Σscanlinespixels por scanline (N)
¾ Σscanlinespixels por scanline (N·L y R·V)
¾ Σscanlinespixels por scanline (Todo el modelo)

Diego Gutiérrez y Francisco J. Serón

Grupo de Informática Gráfica Avanzada


Universidad de Zaragoza

Modelado Visual y Animación

Shading (in a nutshell)


Diego Gutiérrez y Francisco J. Serón
Shading (in a nutshell)

Diego Gutiérrez y Francisco J. Serón

Shading (in a nutshell)


Hemos obtenido un modelo local de iluminación que incluye:
¾ Fuentes puntuales
¾ Reflexión difusa
¾ Reflexión especular
El modelo no incluye:
¾ Fuentes de área
¾ Reflexiones indirectas (especular-especular; especular-difuso;
difuso-especular; difuso-difuso)
Estas reflexiones indirectas se simulan con la iluminación
ambiental (puagh!)
Los modelos poligonales pueden simular la apariciencia de
superficies curvas
Hemos modelado el color con tres muestras (RGB)

Diego Gutiérrez y Francisco J. Serón


Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Iluminación Global
Diego Gutiérrez y Francisco J. Serón

Indice

Qué es Iluminación Global


Introducción a varios algoritmos de IG

Diego Gutiérrez y Francisco J. Serón


Qué es Iluminación Global

Diego Gutiérrez y Francisco J. Serón

Qué es Iluminación Global

Diego Gutiérrez y Francisco J. Serón


Qué es Iluminación Global

Diego Gutiérrez y Francisco J. Serón

Qué es Iluminación Global

Diego Gutiérrez y Francisco J. Serón


Qué es Iluminación Global

Diego Gutiérrez y Francisco J. Serón

Qué es Iluminación Global

Diego Gutiérrez y Francisco J. Serón


Qué es Iluminación Global

Diego Gutiérrez y Francisco J. Serón

Qué es Iluminación Global

Diego Gutiérrez y Francisco J. Serón


Qué es Iluminación Global

Monte Carlo = RUIDO!

Diego Gutiérrez y Francisco J. Serón

Qué es Iluminación Global

Ejemplo con photon mapping [Wann Jensen]

Diego Gutiérrez y Francisco J. Serón


Qué es Iluminación Global

Iluminación directa
¾ Fuentes de luz discretas
¾ Cálculos de iluminación eficientes basados en vectores de luz y
superficies (trucos!)
Iluminación indirecta
¾ Luz reflejada, dispersada, cáusticas...
¾ Cálculos basados en la física del transporte de luz en la escena
¾ BRDF’s (Bidireccional Reflective Distribution Function)

Diego Gutiérrez y Francisco J. Serón

Qué es Iluminación Global

(Esto es una cáustica)

Diego Gutiérrez y Francisco J. Serón


Luz indirecta

Museo de Arte Moderno de San Francisco

Diego Gutiérrez y Francisco J. Serón

Luz indirecta

Color bleed

Diego Gutiérrez y Francisco J. Serón


Luz indirecta

Color bleed

Diego Gutiérrez y Francisco J. Serón

Luz indirecta

Comparando con modelos locales, la mejora es evidente

Decid adiós a las bolas de navidad de los años 80...

Diego Gutiérrez y Francisco J. Serón


Objetivos

Diego Gutiérrez y Francisco J. Serón

Objetivos

Diego Gutiérrez y Francisco J. Serón


Objetivos

Diego Gutiérrez y Francisco J. Serón

Objetivos

Diego Gutiérrez y Francisco J. Serón


Objetivos

Diego Gutiérrez y Francisco J. Serón

Objetivos

Diego Gutiérrez y Francisco J. Serón


Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Ray Tracing
Diego Gutiérrez y Francisco J. Serón

Indice

Ray tracing: la idea


Esquema del algoritmo
Ejemplos
Características
Procedimiento
Sombras
Estructura de árbol
Intersecciones

Diego Gutiérrez y Francisco J. Serón


Ray tracing: la idea

En la vida real: de la luz al objeto al ojo

En un trazador de rayos: del ojo al objeto a la luz


¿Por qué?

Diego Gutiérrez y Francisco J. Serón

Ray tracing: la idea

El trazar rayos desde las fuentes del luz al ojo es altamente


ineficiente!

Por eso se denominó originalmente trazado de rayos inverso

Diego Gutiérrez y Francisco J. Serón


Ray tracing: la idea

Fenómeno real:

Ray tracing:

Diego Gutiérrez y Francisco J. Serón

Esquema del algoritmo

Empecemos por un algoritmo más sencillo: ray casting

Diego Gutiérrez y Francisco J. Serón


Esquema del algoritmo

Ray tracing puede entonces considerarse como un ray casting


recursivo:

Diego Gutiérrez y Francisco J. Serón

Esquema del algoritmo

El nivel de recursividad
puede afectar al
resultado!
En el ejemplo, el nivel
de recursividad es 0,1,2
y 3 respectivamente

Diego Gutiérrez y Francisco J. Serón


Esquema del algoritmo

La recursividad infinita es imposible

Diego Gutiérrez y Francisco J. Serón

Otro ejemplo

Profundidad 1 (=recursividad 0)

Diego Gutiérrez y Francisco J. Serón


Otro ejemplo

Profundidad 2 (=recursividad 1)

Diego Gutiérrez y Francisco J. Serón

Otro ejemplo

Profundidad 3 (=recursividad 2)

Diego Gutiérrez y Francisco J. Serón


Otro ejemplo

Profundidad 4 (=recursividad 3)

Diego Gutiérrez y Francisco J. Serón

Características

Sigue la energía de la luz a través de rayos


Es un procedimiento recursivo
Depende de la posición del observador
Aplicable a diferentes tipos de superficies (esferas, conos...), no
sólo polígonos

Diego Gutiérrez y Francisco J. Serón


Características

Ventajas:
¾ Reflejos
¾ Transparencias y refracciones
¾ Sombras
¾ Diseño conceptualmente sencillo
Inconvenientes:
¾ No permite una solución completa al problema de la iluminación
global
¾ Utiliza aproximaciones a la solución real

Diego Gutiérrez y Francisco J. Serón

Procedimiento (I)

Los rayos se lanzan desde el punto de vista:


¾ El plano de visualización se discretiza en una matriz de pixels
¾ Se lanza un rayo primario (primary ray, a.k.a. eye ray) a través de
cada pixel

Diego Gutiérrez y Francisco J. Serón


Procedimiento (II)

Se encuentra la intersección del rayo primario con el objeto más


cercano al punto de vista
¾ Ese objeto representa la superficie visible a través de ese pixel
¾ (Acabamos de dar con un algoritmo de eliminación de superficies
ocultas)

Diego Gutiérrez y Francisco J. Serón

Procedimiento (III)

Ahora calculamos la intensidad de luz en el punto de


intersección de la superficie
¾ Esta intensidad tendrá una componente de iluminación local más una
componente global (energía reflejada y energía transmitida)

Diego Gutiérrez y Francisco J. Serón


Procedimiento (III)

Kr es el coeficiente global de reflexión especular


(generalmente igual a Ks)
Kt es el coeficiente global de transmisión especular
Ir e It son las intensidades en las direcciones R y T

Diego Gutiérrez y Francisco J. Serón

Procedimiento (IV)

Los términos globales


se obtienen lanzando
rayos secundarios
desde la intersección
¾ Se calculan las nuevas
intersecciones de
estos rayos
secundarios con los
objetos de la escena
¾ Se calculan en los
nuevos puntos la
iluminación
Proceso recursivo

Diego Gutiérrez y Francisco J. Serón


Recursividad

Como hemos visto, el proceso podría repetirse recursivamente


hasta el infinito (teóricamente)
Necesidad de cortar en algún momento! (profundidad de rayos)

Kr=0 implica superficie difusa, no hay rayo reflejado


Kt=0 implica superficie opaca, no hay rayo transmitido

Muchos renderizadores comerciales sólo hacen trazado de rayos


en los pixels en los que es necesario

Diego Gutiérrez y Francisco J. Serón

Sombras

¿Qué sucede si un objeto B se interpone entre el punto de


intersección del objeto A con el rayo y la fuente de luz?
¾ Surgen las sombras
Para calcularlas, lanzamos rayos de sombra (shadow rays)
¾ Origen: intersección rayo-objeto
¾ Dirección: hacia la fuente de luz
Testeamos la intersección de este rayo con los objetos
¾ Si encontramos una intersección y el punto de intersección está antes
de la luz, el punto origen está en sombra
Si hay muchas fuentes de luz, se lanza un rayo de sombra a cada
una

Diego Gutiérrez y Francisco J. Serón


Sombras

Diego Gutiérrez y Francisco J. Serón

Rayos primarios, secundarios y de sombra

Podemos conseguir curiosos efectos haciendo invisibles los


objetos a algún tipo de rayo:

Diego Gutiérrez y Francisco J. Serón


Estructura de árbol

El proceso recursivo de ray


tracing puede visualizarse
como un árbol de rayos

Diego Gutiérrez y Francisco J. Serón

Estructura de árbol

Necesitamos especificar la profundidad máxima


¾ Si no, perderemos mucho tiempo en seguir rayos cuya contribución a
la imagen es despreciable
¾ Pero una profundidad escasa causará errores en la imagen
Para controlar la profundidad:
¾ Si el rayo abandona la escena, debe devolver un valor de background
¾ Fijar una profundidad máxima absoluta
¾ Fijar una profundidad máxima adaptativa, según un umbral de la
intensidad devuelta por un rayo secundario

Diego Gutiérrez y Francisco J. Serón


Intersecciones con objetos

El verdadero cuello de botella del ray tracing


En principio, cada rayo generado debe ser testeado contra todos
los objetos de la escena
Si se encuentran intersecciones, cuál es la más cercana?
Necesitamos algoritmos eficientes de intersección
¾ Con esferas, conos, polígonos, cajas, cilindros, toros...

Brainstorm: ¿se os ocurre alguna forma de evitar testear cada


rayo contra todos los objetos de la escena, o al menos de hacerlo
de una forma eficiente?

Diego Gutiérrez y Francisco J. Serón

Intersección rayo-esfera

Definimos el rayo primario de manera paramétrica:


¾ r(t)=O+Dt
¾ r(t) es el vector posición de un punto p
¾ O es el vector posición del origen del rayo
¾ D es el vector unitario en la dirección del rayo
¾ t es un parámetro real que representa la distancia recorrida a lo largo
del rayo
¾ Buscamos puntos de intersacción con valores de t positivos

Diego Gutiérrez y Francisco J. Serón


Intersección rayo-esfera

Esquema:

Diego Gutiérrez y Francisco J. Serón

Intersección rayo-esfera

Resolviendo para t (ecuación de segundo grado), obtenemos


Obtenemos:

γ<0: no hay solución; el rayo no intersecciona con la esfera


γ=0: una solución; el rayo “roza”
γ<0: dos soluciones: el rayo atraviesa la esfera

Diego Gutiérrez y Francisco J. Serón


Intersección rayo-esfera

Para hallar los puntos de intersección, sustituimos t en la ecuación


del rayo por los valores obtenidos

Diego Gutiérrez y Francisco J. Serón

Intersección rayo-polígono

[Graphic Gems]

Continúa...
Diego Gutiérrez y Francisco J. Serón
Intersección rayo-polígono

[Graphic Gems]

Diego Gutiérrez y Francisco J. Serón


Continúa...

Intersección rayo-polígono

[Graphic Gems]

Diego Gutiérrez y Francisco J. Serón Continúa...


Intersección rayo-polígono

[Graphic Gems]

Continúa...
Diego Gutiérrez y Francisco J. Serón

Intersección rayo-polígono

[Graphic Gems]

Diego Gutiérrez y Francisco J. Serón


Los 4 pasos del ray tracing

Diego Gutiérrez y Francisco J. Serón

Ray tracing demo

http://www.siggraph.org/education/materials/HyperGraph/raytrac
e/rt_java/raytrace.html

Yan Liu & Dr. G. Scott Owen (Georgia State University)


Diego Gutiérrez y Francisco J. Serón
Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Modelado Visual y Animación

Ray Tracing (in a nutshell)


Diego Gutiérrez y Francisco J. Serón

Ray tracing (in a nutshell)

Diego Gutiérrez y Francisco J. Serón


Ray tracing (in a nutshell)

Diego Gutiérrez y Francisco J. Serón


Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Ray Tracing Reloaded


(Técnicas de aceleración)

Diego Gutiérrez y Francisco J. Serón

Indice

Introducción
Bounding volumes
Subdivisión espacial
Subdivisión espacial no uniforme:
octrees
Conclusiones

Diego Gutiérrez y Francisco J. Serón


Introducción

Ray tracing, tal cual, puede ser un proceso muy lento


Aproximadamente, el 90% del tiempo de cálculo se gasta en las
intersecciones
¾ Cuantos más objetos hay en la escena, peor
¾ Cuanto más grande es la imagen, peor (más rayos primarios)
Técnicas de aceleración:
¾ Limitar el número de tests de intersección
¾ Retrasar un test caro hasta que uno más barato haya probado su
necesidad
¾ ...
Bounding volumes, subdivisión espacial
Además: light buffers...

Diego Gutiérrez y Francisco J. Serón

Bounding volumes

Concepto: encerrar un objeto complicado en una geometría más


simple.
¾ Si el rayo no intersecta ni siquiera esa geometría envolvente, su
contenido puede ser ignorado
¾ Si el rayo intersecta esa geometría envolvente, puede que intersecte
el objeto encerrado, o puede que no

Cuanto más cercano sea el volumen envolvente al objeto real,


mejor
Los primeros bounding volumes utilizados en CG fueron esferas,
debido a su fácil algoritmo de intersección y a que una sola basta
para encerrar un objeto
Sin embargo no dan un ajuste demasiado bueno

Diego Gutiérrez y Francisco J. Serón


Bounding volumes

Actualmente se usan mucho cajas alineadas con los ejes


Una jerarquía de cajas es aún mejor

Diego Gutiérrez y Francisco J. Serón

Bounding volumes

Primero se comprueba el test de intersección con el bounding


volume
Si existe intersección, entonces se comprueba el objeto encerrado
Si hay una estructura jerárquica de bounding volumes, se va
profundizando en ella durante los tests de intersección sencillos

Diego Gutiérrez y Francisco J. Serón


Subdivisión espacial

Funcionan en base a la idea de voxels:


¾ Estos voxels ocupan todo el espacio de la escena
¾ No se superponen unos sobre otros
¾ No tienen por qué contener completamente ningún objeto particular
Dos tipos de subdivisión espacial:
¾ Uniforme (todos los voxels son del mismo tamaño)
¾ No uniforme (octrees, jerarquía de voxels...)

Diego Gutiérrez y Francisco J. Serón

Subdivisión espacial

Idea general:
¾ Subdividir el espacio en regiones
¾ Hacer una lista con los objetos en cada región
¾ Sólo miramos las regiones por las que pasa el rayo
¾ Evitar computar dos veces una intersección si el objeto cae en dos o
más regiones

Diego Gutiérrez y Francisco J. Serón


Subdivisión espacial

¿Qué ganamos?:
¾ Tras hallar la primera intersección, todos los objetos con los que
intersecta el rayo en su camino no son calculados
¾ En el ejemplo, sólo 3 voxels se han tenido en cuenta para la
intersección
Básicamente, lo que hacemos es testear intersecciones sólo en las
proximidades del rayo

Diego Gutiérrez y Francisco J. Serón

Subdivisión espacial no uniforme: octrees

Arbol jerárquico de voxels de distintos


tamaños
¾ Refleja la distribución de los objetos en la
escena
Cómo se construye:
¾ Rodear la escena con un cubo (bounding
box)
¾ Subividir en 8 cubos iguales
¾ Guardar una lista con los objetos en cada
cubo
¾ Si en un cubo el número de objetos es mayor
que un umbral, subdividir de nuevo
La subdivisión sólo ocurre donde hay
muchos objetos

Diego Gutiérrez y Francisco J. Serón


Subdivisión espacial no uniforme: octrees

Diego Gutiérrez y Francisco J. Serón

Subdivisión espacial no uniforme: octrees

Diego Gutiérrez y Francisco J. Serón


Subdivisión espacial no uniforme: octrees

Sólo 6 voxels son considerados para dar con la intersección


Sólo 3 tests de intersección son realizados
El rayo atraviesa grandes zonas vacías de la escena muy
rápidamente
El trabajo útil sólo se realiza en zonas de alta densidad de
objetos

Diego Gutiérrez y Francisco J. Serón

Subdivisión espacial no uniforme: octrees

Una vez sabemos en qué voxel estamos... ¿cómo calculamos el


segmento de rayo dentro del voxel?
¾ Debemos encontrar el mayor valor de t que pueda adoptar el rayo en
el nodo actual
¾ Para ello primero intersectamos el rayo con los 6 planos delimitantes
del voxel...

Diego Gutiérrez y Francisco J. Serón


Subdivisión espacial no uniforme: octrees

Una vez sabemos en qué voxel estamos... ¿cómo calculamos el


segmento de rayo dentro del voxel?
¾ ...y luego hallamos la intersección de los tres rangos de t obtenidos

Diego Gutiérrez y Francisco J. Serón

Subdivisión espacial no uniforme: octrees

Para hallar el siguiente voxel,


debemos encontrar un punto
que sepamos que va a estar
en ese nuevo voxel:
¾ Avanzamos una distancia
minLen/2 perpendicular a
cada cara en la que caiga t+

Diego Gutiérrez y Francisco J. Serón


Conclusiones

El trade-off entre la resolución de cada voxel y el tiempo


empleado en recorrerlos debe ser ajustado en función de la
escena...
...ya sea subdivisión uniforme o no uniforme

Ejemplo: Una subdivisión uniforme de una escena con 10.000


objetos tardó 15 minutos en renderizarse... Y 40 días sin
voxelizar!

Diego Gutiérrez y Francisco J. Serón

Ray Tracing Reloaded in a nutshell

Diego Gutiérrez y Francisco J. Serón


Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Sampling y aliasing
Diego Gutiérrez y Francisco J. Serón

Indice

Qué es el aliasing
Mundo real vs. mundo digital
Sampling
Antialiasing uniforme
Antialiasing adaptativo

Diego Gutiérrez y Francisco J. Serón


Qué es el aliasing

La reconstrucción de una señal muestreada nos da una solución


falsa (alias), diferente a la señal continua original

Diego Gutiérrez y Francisco J. Serón

Qué es el aliasing

Diego Gutiérrez y Francisco J. Serón


Qué es el aliasing

Diego Gutiérrez y Francisco J. Serón

Qué es el aliasing

Diego Gutiérrez y Francisco J. Serón


Qué es el aliasing

Los ejemplos vistos hasta


ahora eran aliasing espacial.
Existe también el aliasing
temporal (o el efecto de la
rueda que gira hacia atrás en
las películas)

Diego Gutiérrez y Francisco J. Serón

Mundo real vs. Mundo digital

En el mundo real, la mayoría de las cosas son continuas


En un computador, todo es discreto
Muestrear: mapear una función continua a una discreta

La mayoría de las funciones que manejamos son analíticas, y


pueden por tanto expresarse como una serie de relaciones
algebraicas
Las imágenes, sin embargo, no pueden ser representadas de una
manera tan sencilla, en general
En vez de eso, usamos funciones tabuladas

Luego... ¿cómo llenamos la tabla?

Diego Gutiérrez y Francisco J. Serón


Mundo real vs. Mundo digital

Diego Gutiérrez y Francisco J. Serón

Sampling

Una imagen es, por lo general, una función continua I(x,y), que
da un valor de intensidad para cada coordenada (x,y)

Diego Gutiérrez y Francisco J. Serón


Sampling

La forma más común de muestrearla es multiplicarla por una


parrilla de muestreado (sampling grid) compuesta por funciones
delta de Kronecker distribuidas uniformemente

Diego Gutiérrez y Francisco J. Serón

Sampling

Cuando esta multiplicación se lleva a cabo, obtenemos un


conjunto de valores discretos (los pixels de la imagen)
Estos se almacenan en memoria como representación de la
función continua de la que provienen

Diego Gutiérrez y Francisco J. Serón


¿Qué es un pixel?

Por lo que hemos dicho, un pixel es un punto


No es un pequeño cuadradito, ni un círculo
Es un punto, sin dimensiones
Entonces... ¿cómo lo vemos?

Gracias a que los dispositivos de visualización no son perfectos, la


intensidad de cada punto en realidad decae con una gaussiana...
cobrando dimensión de área

Diego Gutiérrez y Francisco J. Serón

Antialiasing

El antialiasing intenta reducir los efectos del aliasing


La forma más habitual es el supersampling
¾ Uniform supersampling

¾ Jittered supersampling

En general, es recomendable el jittered

Diego Gutiérrez y Francisco J. Serón


Antialiasing

Supersampling uniforme vs jittered

Diego Gutiérrez y Francisco J. Serón

Antialiasing

Antialiasing adaptativo:
¾ Supersampling en cada pixel: altamente ineficiente!
¾ El aliasing sólo es visible en zonas de alto contraste
¾ Los esquemas adaptativos localizan los pixels donde el antialiasing es
más necesario

Ejemplo de esquema de antialiasing adaptativo:


¾ 1. Lanzar rayos a las esquinas de cada pixel
¾ 2. Para cada pixel, examinar la diferencia entre los valores obtenidos
¾ 3. Si esta diferencia es mayor que un umbral, dividir el pixel en
cuatro subpixels y repetir el proceso
¾ (si trabajamos en RGB, basta que uno de los valores supere el umbral
para que se subdivida otra vez)

Diego Gutiérrez y Francisco J. Serón


Antialiasing

Antialiasing adaptativo

Diego Gutiérrez y Francisco J. Serón

Antialiasing

El proceso de reconstrucción de las muestras tomadas se llama


filtrado:
¾ Caja
¾ Gaussiano
¾ Cónico
¾ ...

Diego Gutiérrez y Francisco J. Serón


Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Modelado Visual y Animación

Sampling y aliasing (in a nutshell)


Diego Gutiérrez y Francisco J. Serón

Sampling y aliasing (in a nutshell)

Diego Gutiérrez y Francisco J. Serón


Bibliografía

J. Foley, A. vanDam, S. Feiner and J. Hughes, Computer Graphics: Principles


and Practice. 2nd. ed. Addison-Wesley, 1990.
A. Watt and M. Watt, Advanced Animation and Rendering Techniques:
Theory and Practice. Addison-Wesley, 1992.

Diego Gutiérrez y Francisco J. Serón


Grupo de Informática Gráfica Avanzada
Universidad de Zaragoza

Texturas
Diego Gutiérrez y Francisco J. Serón

Indice

Aumentando el realismo
El concepto
Tipos de texturas
Mapeado bidimensional
¾ Planar, cilíndrico, esférico
Repetición de texturas
Superficies paramétricas
Texturas 3D
Bump y displacement mapping
Mapas de entorno
Antialiasing y mipmapping

Diego Gutiérrez y Francisco J. Serón


Indice

Diego Gutiérrez y Francisco J. Serón

Indice

Diego Gutiérrez y Francisco J. Serón


Aumentando el realismo

Diego Gutiérrez y Francisco J. Serón

Aumentando el realismo

Motivación: dejar atrás el aspecto de material plástico del modelo


de Phong

(Los juegos se basan muchísimo en eso!)

Diego Gutiérrez y Francisco J. Serón


Aumentando el realismo

Diego Gutiérrez y Francisco J. Serón

Aumentando el realismo

Diego Gutiérrez y Francisco J. Serón


Aumentando el realismo

Diego Gutiérrez y Francisco J. Serón

Aumentando el realismo

Diego Gutiérrez y Francisco J. Serón


El concepto

El concepto es muy sencillo:

Mapear cada triángulo del


modelo a una región
correspondiente de la textura

En la fase de rasterización, interpolar


los colores de la textura

Diego Gutiérrez y Francisco J. Serón

El concepto
Las posibilidades son ilimitadas:

Diego Gutiérrez y Francisco J. Serón


Tipos de texturas

Vamos a considerar dos tipos de texturas de superficie:


¾ Patrones, o texturas de color: “pegamos” el patrón sobre una
superficie suave, pero ésta sigue pareciendo suave. Este el proceso
comúnmente conocido como mapeado de texturas (texture
mapping)

Diego Gutiérrez y Francisco J. Serón

Tipos de texturas

Vamos a considerar dos tipos de texturas de superficie:


¾ Rugosidad: utilizando una función de perturbación que
aparentemente modifique la geometría de la superficie (bump
mapping; no confundir con los mapas de desplazamiento o
displacement maps)

Diego Gutiérrez y Francisco J. Serón


Tipos de texturas

Y hemos dicho aparentemente!

Diego Gutiérrez y Francisco J. Serón

Tipos de texturas

Los mapas de desplazamiento modifican realmente la geometría

Objetos caros como demonios!


La geometría debe ser desplazada antes de determinar la visibilidad
No es fácil de implementar en un trazador de rayos (Geometry Caching for
Ray-Tracing Displacement Maps, Matt Pharr and Pat Hanrahan)

Hay otros tipos: transparencia, IK-weights, property guiders (el pelo de


Might Joe Young…), mapas de especularidad…

Diego Gutiérrez y Francisco J. Serón


Tipos de texturas

Diego Gutiérrez y Francisco J. Serón

Coordenadas del mundo o del objeto

Casi todos los algoritmos de mapeado usan coordenadas del objeto


Objeto: el patrón es solidario al objeto mientras éste se mueve
Mundo: el patrón se desliza sobre el objeto si éste se mueve

Diego Gutiérrez y Francisco J. Serón


2D o 3D

Diego Gutiérrez y Francisco J. Serón

Mapeado bidimensional

Diego Gutiérrez y Francisco J. Serón


Mapeado bidimensional

Si los objetos están modelados mediante superficies paramétricas,


el proceso es posible
Si son mallas poligonales, el proceso no está definido

Diego Gutiérrez y Francisco J. Serón

Mapeado bidimensional

Diego Gutiérrez y Francisco J. Serón


Mapeado bidimensional

Diego Gutiérrez y Francisco J. Serón

Mapeado bidimensional

Proceso de dos pasos:

Diego Gutiérrez y Francisco J. Serón


Mapeado bidimensional

Proceso de dos pasos:

Diego Gutiérrez y Francisco J. Serón

Mapeado bidimensional

Interpolación lineal:

Diego Gutiérrez y Francisco J. Serón


Efecto de la proyección

Hummm..... Algo no funciona aquí...

Diego Gutiérrez y Francisco J. Serón

Efecto de la proyección

Consideremos una arista de un triángulo; esa arista y su


proyección pertenecen al mismo plano:

Diego Gutiérrez y Francisco J. Serón


Efecto de la proyección

Se ve cómo intervalos iguales en la proyección no corresponden


con intervalos iguales en la arista real

Diego Gutiérrez y Francisco J. Serón

Efecto de la proyección

Diego Gutiérrez y Francisco J. Serón


Efecto de la proyección

Solución: coordenadas homogéneas


¾ 1. Interpolación lineal para u
¾ 2. Interpolación lineal para v
¾ 3. Interpolación lineal para w
¾ uf=u/w vf=v/w

Diego Gutiérrez y Francisco J. Serón

UN MOMENTO!!!!

Habíamos dicho que “interpolamos utilizando un algoritmo


análogo al de Gouraud...
... Y hemos visto que ofrecía resultados erróneos
¿Significa eso que Gouraud está mal?

SI
Diego Gutiérrez y Francisco J. Serón
UN MOMENTO!!!!

El sombreado de Gouraud es erróneo. Lo que pasa es que la


transición de colores es suave, y como además no sabemos el
color que debería salir (sólo nos importa que salga algo bonito)...
A veces el error se hace aparente:
¾ Cuando cambiamos de nivel de detalle
¾ En junturas-T

Diego Gutiérrez y Francisco J. Serón

Mapeado bidimensional

¿Cómo pegamos la imagen en el objeto?


Para cada pixel, debemos responder a la pregunta: ¿a qué parte de
la textura miro para coger el color?

Diego Gutiérrez y Francisco J. Serón


Mapeado bidimensional

La textura se suele aplicar sobre una superficie intermedia antes de


aplicarse sobre el objeto (two-part mapping)

Diego Gutiérrez y Francisco J. Serón

Mapeado bidimensional

Para el mapeado S:
¾ Plano
¾ Cilindro
¾ Esfera
¾ Cubo
Para el mapeado O:

Diego Gutiérrez y Francisco J. Serón


Mapeado bidimensional

Lo más usual es tomarlo relativo al centro de masas del objeto,


pero hay más posibilidades
Por ejemplo, para el caso del mapeado cilíndrico, las diferentes
opciones nos darían los siguientes resultados:

Diego Gutiérrez y Francisco J. Serón

Mapeado planar

Cogemos un valor (x,y,z) del objeto y descartamos una


componente ) lo cual nos deja coordenadas 2D (coordenadas
planares). Usamos esas coordenadas para buscar el color en la
textura

Diego Gutiérrez y Francisco J. Serón


Mapeado planar

Presenta serios problemas...

El color en el objeto no varía a lo largo de la coordenada


descartada!

Diego Gutiérrez y Francisco J. Serón

Mapeado planar

¿Qué componentes se habían descartado en estos dos dibujos?

Diego Gutiérrez y Francisco J. Serón


Mapeado cilíndrico

(o etiqueta sobre bote de tomate)


Convertimos un valor (x,y,z) en coordenadas cilíndricas (r, theta,
altura). En mapeado de texturas, sólo nos interesan theta y la
altura
Para hallar el color, theta se convierte a un valor de x, y la altura a
un valor de y

Diego Gutiérrez y Francisco J. Serón

Mapeado cilíndrico

Diego Gutiérrez y Francisco J. Serón


Mapeado cilíndrico

Efectos de “trozos de tarta” en las coordenadas tmax y tmin (siendo


t[x,y,z] el eje del cilindro usado para mapear)

Diego Gutiérrez y Francisco J. Serón

Mapeado esférico

Convertimos un valor (x,y,z) en coordenadas esféricas (r, theta,


phi). En mapeado de texturas, sólo nos interesan theta (latitud) y
phi (longitud)
Para hallar el color, theta se convierte a un valor de x, y phi a un
valor de y

Diego Gutiérrez y Francisco J. Serón


Mapeado esférico

Diego Gutiérrez y Francisco J. Serón

Mapeado esférico

Diego Gutiérrez y Francisco J. Serón


Mapeado esférico

Los polos de la esfera de mapeado están sobre el eje Y. En los


“polos” del objeto, aparecen de nuevo los efectos de “trozo de
tarta”, aunque la singularidad aquí es más severa. El mapeado
esférico estira la textura en el ecuador y la encoge al acercarnos a
los polos.

Diego Gutiérrez y Francisco J. Serón

Mapeado en caja

Similar a seis mapeados planares

Diego Gutiérrez y Francisco J. Serón


Repetición de texturas

a.k.a. tileado de texturas


La textura ha de ser tileable (photoshop)
Aún así, ojo con los patrones: el ojo humano es increíblemente
bueno detectándolos!

Diego Gutiérrez y Francisco J. Serón

Repetición de texturas

Pensad en formas inteligentes de romper los patrones!

Diego Gutiérrez y Francisco J. Serón


Repetición de texturas

Pensad en formas inteligentes de romper los patrones!

Diego Gutiérrez y Francisco J. Serón

Superficies paramétricas

(u,v) son las coordenadas paramétricas normalizadas de la


superficie
Multiplicando estas coordenadas por la resolución en pixels de la
textura, obtenemos las coordenadas del pixel de textura (texel)
correspondiente

Diego Gutiérrez y Francisco J. Serón


Superficies paramétricas

(u,v) son las coordenadas paramétricas normalizadas de la


superficie
Multiplicando estas coordenadas por la resolución en pixels de la
textura, obtenemos las coordenadas del pixel de textura (texel)
correspondiente

Diego Gutiérrez y Francisco J. Serón

Superficies paramétricas

Esta tetera contiene 32 parches (patches) paramétricos, a cada


uno de los cuales se ha asignado una copia de la textura

Diego Gutiérrez y Francisco J. Serón


Superficies paramétricas

Podemos usar la misma técnica a superifices no paramétricas, sin


más que asignar coordenadas (u,v) [0..1] a cada vértice.

Diego Gutiérrez y Francisco J. Serón

El canal alfa

El canal alfa (RGBA) indica el grado de transparencia del pixel


Permite (entre otra cosas) utilizar una textura encima de otra y
combinarlas

Diego Gutiérrez y Francisco J. Serón


Aviso a los programadores

El mapeado de texturas 2D no está exento de singularidades


matemáticas
En el mapeado esférico, todos los puntos ymin e ymax de la textura
acaban colapsando en los polos
Un programa debe estar preparado para manejar estos eventos...

Diego Gutiérrez y Francisco J. Serón

Texturas 3D

El mapeado de texturas 3D usa directamente las coordenadas


(x,y,z) del objeto para calcular directamente el color (similar a
esculpir el objeto a partir de un bloque sólido)
Generalmente no se define explícitamente un valor para cada
(x,y,z), sino que se obtiene evaluando una función; por eso suelen
llamarse texturas procedurales

Diego Gutiérrez y Francisco J. Serón


Texturas 3D

Por ejemplo, para mapear la tetera de la izquierda hemos usado


un procedimiento que hallaba la parte entera de la coordenada z
de cada punto; si era par, pintamos de rojo, y si era impar, de
blanco

Diego Gutiérrez y Francisco J. Serón

Texturas 3D

Mármol, madera...
Procedimientos similares pueden aplicarse durante el modelado

Diego Gutiérrez y Francisco J. Serón


Texturas 3D

Algunos ejemplos:
¾ gray = noise(x,y,z)
if(gray > threshold)
choose white
else choose black
¾ Madera a partir de
círculos concéntricos
¾ Mármol a partir de
noise(x,y,z)

Diego Gutiérrez y Francisco J. Serón

Bump mapping

Introducido por Blinn (1978)


Se altera la normal a la superficie antes
de los cálculos de sombreado

Diego Gutiérrez y Francisco J. Serón


Bump mapping

Introducido por Blinn (1978)


Se altera la normal a la superficie antes
de los cálculos de sombreado

Diego Gutiérrez y Francisco J. Serón

Bump mapping

Recuerda: el bump mapping no altera la superficie de los objetos


Unicamente engaña al algoritmo de shading para crear
superifices interesantes

Diego Gutiérrez y Francisco J. Serón


Bump mapping

Recuerda: el bump mapping no altera la superficie de los objetos


Unicamente engaña al algoritmo de shading para crear
superifices interesantes

Diego Gutiérrez y Francisco J. Serón

Bump mapping

Diego Gutiérrez y Francisco J. Serón


Bump mapping

Diego Gutiérrez y Francisco J. Serón

Bump mapping

Diego Gutiérrez y Francisco J. Serón


Bump mapping

Diego Gutiérrez y Francisco J. Serón

Bump mapping

Diego Gutiérrez y Francisco J. Serón


Bump vs. Displacement

El mapa de desplazamiento (Cook, 1984) sí modifica la superficie


real
Qué tetera tiene bump y cuál displacement?

Diego Gutiérrez y Francisco J. Serón

Mapas de entorno

a.k.a environment maps (Blinn y Newell, 1976). Efectos de


reflejos sin necesidad de ray tracing
Podemos usar un z-buffer en vez de trazar
rayos

Diego Gutiérrez y Francisco J. Serón


(un paréntesis)

<parentesis>
¾ No todo es ray-tracing en informática gráfica!!

</parentesis>

Diego Gutiérrez y Francisco J. Serón

Mapas de entorno

¿Recordáis que para elegir un punto teníamos diferentes


opciones?

Diego Gutiérrez y Francisco J. Serón


Mapas de entorno

Trazado de rayos vs. mapa de desplazamiento: ¿veis alguna


diferencia?

Diego Gutiérrez y Francisco J. Serón

Mapas de entorno

Coste vs. resultado

Diego Gutiérrez y Francisco J. Serón


Aliasing

El aliasing en las texturas es debido a que dos pixels adyacentes


del objeto pueden no mapearse con dos pixels adyacentes de la
textura

Diego Gutiérrez y Francisco J. Serón

Antialiasing

Prefiltrado: (Catmull, 1978)


Trata los pixels como áreas
Promedia los valores de todos los pixels
de la textura (texels) que caen dentro
del área proyectada

Diego Gutiérrez y Francisco J. Serón


Antialiasing

Supersampling: similar, pero se promedian varios valores


dentro del área proyectada (Crow, 1981).
En el ejemplo, se escogen los valores de las esquinas

Diego Gutiérrez y Francisco J. Serón

Antialiasing

¿Cuál te parece mejor?


¿Por qué?
Diego Gutiérrez y Francisco J. Serón
Mipmapping

El antialiasing es un método computacionalmente caro


Mipmapping se basa en precalcular algunos de los colores
promedio de la textura (Williams, 1983)

El proceso acaba con una textura de un pixel, que contiene el


color promedio de toda la textura original

Diego Gutiérrez y Francisco J. Serón

Mipmapping

Durante el mapeado de la textura:


¾ Se mapea el área de cada pixel sobre la textura original
¾ Se calcula el número de texels del área de la textura
¾ Ese número indica el número de texels que influirán en el color final
del pixel
¾ En el ejemplo, tenemos que 9 texels se mapearán en un pixel del
objeto, luego el ratio texels-pixels es 9:1

Diego Gutiérrez y Francisco J. Serón


Mipmapping

Para calcular el color final, se encuentran las dos versiones de la


textura cuyos ratios más se aproximen al ratio texel-pixel obtenido
Buscamos los colores en los mapas correspondientes y los
promediamos

Diego Gutiérrez y Francisco J. Serón

Mipmapping

La figura muestra una forma eficiente de almacenar un mipmap


en memoria (overhead=1/3)

Diego Gutiérrez y Francisco J. Serón


Mipmapping

Los resultados del mipmapping son evidentes: eliminan altas


frecuencias allí donde esperamos encontrar bajas frecuencias

Diego Gutiérrez y Francisco J. Serón

Mipmapping

Arriba a la izda, sentido horario: sin antialiasing, con mipmapping,


supersampling con 9 texels por pixel, y supersampling con 9
texels por pixel más mipmapping

Diego Gutiérrez y Francisco J. Serón


Antialiasing

Supersampling: similar, pero se promedian los valores de las


esquinas del área proyectada (Crow, 1981)

Diego Gutiérrez y Francisco J. Serón

Grupo de Informática Gráfica Avanzada


Universidad de Zaragoza

Modelado Visual y Animación

Texturas (in a nutshell)


Diego Gutiérrez y Francisco J. Serón
Texturas (in a nutshell)

Diego Gutiérrez y Francisco J. Serón

Texturas (in a nutshell)

Diego Gutiérrez y Francisco J. Serón


Texturas (in a nutshell)

Diego Gutiérrez y Francisco J. Serón

Texturas (in a nutshell)

Diego Gutiérrez y Francisco J. Serón


Bibliografía

(Blinn, 1978) J. Blinn, Simulations of Wrinkled Surfaces. Computer Graphics 12(3) August
1978, 286-292.
(Blinn and Newell, 1976) J. Blinn and M. Newell, Texture and Reflection in Computer
Generated Images. Communications of the ACM 19(10) October 1976, 542-546.
(Catmull, 1974) E. Catmull, A Subdivision Algorithm for Computer Display of Curved
Surfaces. PhD thesis, Department of Computer Science, University of Utah, December 1974.
(Catmull, 1978) E. Catmull, A Hidden-Surface Algorithm with Anti-Aliasing. Computer
Graphics 12 (3) August 1978, 6-10.
(Cook, 1984) R. Cook, Shade Trees. Computer Graphics 18 (3) July 1984 223-231.
(Crow, 1981) F. Crow, A Comparison of Antialiasing Techniques. IEEE Computer Graphics
and Applications. 1 (1) January 1981, 40-49.
(Peachey, 1985) D. Peachey, Solid Texturing of Complex Surfaces. Computer Graphics 19
(3) July 1985, 279-286.
(Perlin, 1985) K. Perlin, An Image Synthesizer. Computer Graphics 19 (3) July 1985, 287-
296.
(Williams, 1983) L. Williams, Pyradmial Parametrics. Computer Graphics 17 (3) July
1983, 1-11.
D. Ebert, F. K. Musgrave, D. Peachey, K. Perlin and S. Worley, Texturing and Modeling: A
Procedural Approach. Academic Press, 1994.
J. Foley, A. vanDam, S. Feiner and J. Hughes, Computer Graphics: Principles and
Practice. 2nd. ed. Addison-Wesley, 1990.
A. Watt and M. Watt, Advanced Animation and Rendering Techniques: Theory and
Practice. Addison-Wesley, 1992.

Diego Gutiérrez y Francisco J. Serón


Luz Virtual Introducción

Diego Gutiérrez Luz Virtual 1

Luz Virtual Introducción

Diego Gutiérrez Luz Virtual 2


Luz Virtual Introducción

Diego Gutiérrez Luz Virtual 3

Luz Virtual Todo lo que debes saber...

Aprender a iluminar es
aprender a observar

Diego Gutiérrez Luz Virtual 4


Luz Virtual Introducción

• El término “iluminación” en el ámbito de la informática gráfica


suele incluir conceptos tales como la descripción de las
características de un material y su respuesta ante la luz (shaders).
• Estas notas tratan el tema de la iluminación desde un punto de
vista más artístico, en términos de diseño de ambientes y
colocación de luces, siempre orientado al mundo digital.
• No existen reglas fijas: todo lo que se diga aquí debe utilizarse
únicamente como guía. El objetivo es enseñar a plasmar sobre el
ordenador la imagen que el artista ha visualizado mentalmente.
• Las “reglas” deben servir a la imagen, no someterla.

Diego Gutiérrez Luz Virtual 5

Luz Virtual Objetivos de la iluminación

• Crear una ilusión tridimensional a partir de una imagen plana.


• Producir un impacto visual atrayente.
• Crear una ambientación adecuada.
• Dotar de personalidad a los distintos elementos y situaciones.
• Encauzar la atención de la audiencia hacia los puntos más
relevantes.
• Ocultar defectos de modelado, animación...
• Integrar y dar coherencia a la historia.
• En definitiva, hacer la historia (o imagen estática), fácilmente
legible, atractiva y, dentro de su contexto, creíble.

Diego Gutiérrez Luz Virtual 6


Luz Virtual Encauzar la atención

• Aspecto especialmente importante en el ámbito de la animación


por ordenador.
• Lo primero que detecta el ojo humano en una escena es (sin orden
fijo):
– La figura humana
– El movimiento
– El color rojo
• Hay que saber utilizar esto para favorecer la legibilidad de una
escena (un personaje irrelevante pasando por detrás de nuestro
héroe NO PUEDE ir vestido de rojo...)

Diego Gutiérrez Luz Virtual 7

Luz Virtual Encauzar la atención

Diego Gutiérrez Luz Virtual 8


Luz Virtual Encauzar la atención

Diego Gutiérrez Luz Virtual 9

Luz Virtual Composición

• El término composición se utiliza para describir una serie de


principios visuales relacionados.
• La iluminación debe partir de una buena composición, o tratar de
corregirla si esta es defectuosa.
• Los principios que se van a presentar actúan de manera conjunta,
aunque se expliquen separadamente.
• Dependiendo de muchos factores, uno será más fuerte que otro en
un momento dado.
• Una vez más, las reglas no son fijas.

Diego Gutiérrez Luz Virtual 10


Luz Virtual Composición

• La teoría de la Gestalt está basada en la noción de que tenemos un


deseo intrínseco por la unidad y la armonía. El principio básico de
la teoría es que vemos el conjunto antes que las partes que lo
componen, y este conjunto es además superior a la suma de sus
partes
• El ojo y el cerebro buscan organizar las imágenes. Si no lo
consiguen, aparecen caóticas

Diego Gutiérrez Luz Virtual 11

Luz Virtual Composición

• Unidad y armonía: • El ojo perderá demasiado tiempo


intentando “ordenar” una escena sin
unidad ni armonía. Por otra parte,
una escena demasiado “ordenada”
será visualmente poco atractiva.

Diego Gutiérrez Luz Virtual 12


Luz Virtual Composición

Diego Gutiérrez Luz Virtual 13

Luz Virtual Composición

Diego Gutiérrez Luz Virtual 14


Luz Virtual Composición

• Formas familiares: • El ojo busca interpretar el mundo a


través de formas familiares. Una
escena que carezca de ellos será
más difícil de leer y desorientará al
espectador.

Diego Gutiérrez Luz Virtual 15

Luz Virtual Composición

• Contornos imaginarios : • Tenemos la habilidad de completar


imágenes (de nuevo buscando
unidad, armonía y formas
reconocibles!)

Diego Gutiérrez Luz Virtual 16


Luz Virtual Composición

• Contornos imaginarios: • Estrechamente relacionados con el


reconocimiento de formas

Diego Gutiérrez Luz Virtual 17

Luz Virtual Composición

• Eliminación: • Consiste en deshacerse de


información no esencial, para
realzar más lo que dejamos (Walt
Disney…)

Diego Gutiérrez Luz Virtual 18


Luz Virtual Composición
• Foco: énfasis
• Una imagen necesita un punto focal
donde centrar la atención. Si no,
obtenemos una imagen visualmente
“plana”. O no.

Diego Gutiérrez Luz Virtual 19

Luz Virtual Composición

Diego Gutiérrez Luz Virtual 20


Luz Virtual Composición
• Foco: énfasis

Diego Gutiérrez Luz Virtual 21

Luz Virtual Composición

• Foco: énfasis
• Enfasis por
reconocimiento y
movimiento.

Diego Gutiérrez Luz Virtual 22


Luz Virtual Composición

• Foco: • Inconscientemente, dividimos la


imagen en cuatro cuadrantes: si el foco
no está en el centro, es mejor que caiga
en uno de ellos. (regla de los treses y
cincos)

Diego Gutiérrez Luz Virtual 23

Luz Virtual Composición

• Foco:
• Reconstruimos las escenas a
base de recorrer la imagen en
busca de puntos focales (2º)

Diego Gutiérrez Luz Virtual 24


Luz Virtual Composición

• Equilibrio: • Dividimos la imagen en un eje


horizontal y otro vertical
• Por forma, color, contraste, peso
aparente...
• Un objeto desequilibrado llama la
atención y es visualmente
inquietante (mansión encantada en
una película de terror...).

Diego Gutiérrez Luz Virtual 25

Luz Virtual Composición

Diego Gutiérrez Luz Virtual 26


Luz Virtual Composición

• Equilibrio:

• Formato: transmiten diferentes


sensaciones. Rebelarse contra los
formatos “standard”!

Diego Gutiérrez Luz Virtual 27

Luz Virtual Formato

Diego Gutiérrez Luz Virtual 28


Luz Virtual Formato

Diego Gutiérrez Luz Virtual 29

Luz Virtual Formato

Diego Gutiérrez Luz Virtual 30


Luz Virtual Formato

Diego Gutiérrez Luz Virtual 31

Luz Virtual Composición

• Encuadre: imágenes que “se salen” de los límites del cuadro crean
un espacio más allá del encuadre. La composición queda más plana
si nada se sale del cuadro

Diego Gutiérrez Luz Virtual 32


Luz Virtual Composición

• Encuadre

Diego Gutiérrez Luz Virtual 33

Luz Virtual Composición

• No siempre es aconsejable un perfecto equilibrio

• IZDA: perfecto equilibrio, ausencia de diagonales…


• DCHA: la tensión provocada por el movimiento potencial del
esqueleto es acentuada por el desequilibrio vertical de la imagen

Diego Gutiérrez Luz Virtual 34


Luz Virtual Composición

Diego Gutiérrez Luz Virtual 35

Luz Virtual Composición

Diego Gutiérrez Luz Virtual 36


Luz Virtual Composición

Diego Gutiérrez Luz Virtual 37

Luz Virtual Composición


• Una pequeña
prueba…

Diego Gutiérrez Luz Virtual 38


Luz Virtual Composición
• Líneas y contornos: líneas
reales, implícitas y
psicológicas.

Diego Gutiérrez Luz Virtual 39

Luz Virtual Composición


• Jugando con luces y
sombras podemos añadir
más líneas a una escena
que las puramente
geométricas.
• Las sombras sugieren

Diego Gutiérrez Luz Virtual 40


Luz Virtual Composición
• Jugando con luces y
sombras podemos añadir
más líneas a una escena
que las puramente
geométricas.
• Las sombras sugieren

Diego Gutiérrez Luz Virtual 41

Luz Virtual Composición

• Líneas horizontales: estabilidad.


• Líneas verticales: movimiento potencial.
• Líneas diagonales: inestabilidad,
movimiento y profundidad.

Diego Gutiérrez Luz Virtual 42


Luz Virtual Composición

Diego Gutiérrez Luz Virtual 43

Luz Virtual Composición

Diego Gutiérrez Luz Virtual 44


Luz Virtual Composición
• Formas: reconocimiento de formas
familiares. División en zonas
positivas (primer plano), y
negativas (fondo).

Diego Gutiérrez Luz Virtual 45

Luz Virtual El papel del color

• Dotar a una imagen, escena, animación o película de emoción


implica seleccionar una paleta de colores adecuada (Marea Roja,
El Quinto Elemento, El Ultimo Hombre...).
• Aunque es algo muy subjetivo, existen algunas generalizaciones:
colores fríos y cálidos; los saturados resaltan, los apagados se
funden con el fondo.
• Rojo (enfado, pasión, violencia); verde (seguridad, equilibrio);
azul (orden, paz); violeta (misticismo, magia); amarillo (felicidad,
hambre, timidez); naranja (color festivo); marrón
(responsabilidad, pobreza); rosa (carácter femenino, salud); negro
(formal, malvado, misterioso); blanco (virginal, inocente); gris
(indiferencia, tristeza)...

Diego Gutiérrez Luz Virtual 46


Luz Virtual El papel del color

Diego Gutiérrez Luz Virtual 47

Luz Virtual Algoritmos de iluminación

• Primero hay que entender cómo interacciona la luz con la materia


(reflexiones especular y difusa).
• Scanline
• Z-buffer
• Trazado de rayos (ray tracing)
• Radiosidad
• Trazado de rayos + radiosidad
• Radiancia
• Cone tracing, path tracing
• Photon mapping

Diego Gutiérrez Luz Virtual 48


Luz Virtual Algoritmos de iluminación

Diego Gutiérrez Luz Virtual 49

Luz Virtual Algoritmos de iluminación

• La iluminación es otra herramienta más para conseguir imágenes realistas


• Una iluminación incorrecta no producirá la sensación adecuada
• Punto de vista artístico y algorítmico! El mayor problema es que los
modelos de iluminación digitales sólo ofrecen una burda y lenta
aproximación de la compleja fenomenología de la interacción real de la
luz con la materia.

Diego Gutiérrez Luz Virtual 50


Luz Virtual Algoritmos de iluminación

Diego Gutiérrez Luz Virtual 51


Luz Virtual Todo lo que debes saber...

Aprender a iluminar es
aprender a observar

Diego Gutiérrez Luz Virtual 1

Luz Virtual Introducción

• El término “iluminación” en el ámbito de la informática gráfica


suele incluir conceptos tales como la descripción de las
características de un material y su respuesta ante la luz (shaders).
• Estas notas tratan el tema de la iluminación desde un punto de
vista más artístico, en términos de diseño de ambientes y
colocación de luces, siempre orientado al mundo digital.
• No existen reglas fijas: todo lo que se diga aquí debe utilizarse
únicamente como guía. El objetivo es enseñar a plasmar sobre el
ordenador la imagen que el artista ha visualizado mentalmente.
• Las “reglas” deben servir a la imagen, no someterla.

Diego Gutiérrez Luz Virtual 2


Luz Virtual Introducción

Diego Gutiérrez Luz Virtual 3

Luz Virtual Objetivos de la iluminación

• Crear una ilusión tridimensional a partir de una imagen plana.


• Producir un impacto visual atrayente.
• Crear una ambientación adecuada.
• Dotar de personalidad a los distintos elementos y situaciones.
• Encauzar la atención de la audiencia hacia los puntos más
relevantes.
• Ocultar defectos de modelado, animación...
• Integrar y dar coherencia a la historia.
• En definitiva, hacer la historia (o imagen estática), fácilmente
legible, atractiva y, dentro de su contexto, creíble.

Diego Gutiérrez Luz Virtual 4


Luz Virtual Objetivos de la iluminación

• Ejemplos: ocultar defectos de


modelado o animación, dar
coherencia a la imagen…

Diego Gutiérrez Luz Virtual 5

Luz Virtual Personalidad

• Iluminación baja con sombras definidas: maldad, algo criminal.


• Iluminación baja con sombras difusas: sensualidad.
• Luz desde arriba: vértigo si el personaje mira hacia abajo;
esperanza si mira hacia arriba.
• Iluminación ilógica: se usa para narrar sueños o alucinaciones.
• Queramos o no, reaccionamos emocionalmente a casi todo lo
que vemos. Algunas reacciones son casi genéticas (oscuridad),
otras dependen de la cultura (color rojo), y otras son de índole
completamente personal. Un buen diseño de iluminación debe
saber aprovechar estas reacciones sutiles para guiar al
espectador durante la historia.

Diego Gutiérrez Luz Virtual 6


Luz Virtual Personalidad

Diego Gutiérrez Luz Virtual 7

Luz Virtual Personalidad

• Colores cálidos y sombras duras

• Colores fríos y sombras suaves

Diego Gutiérrez Luz Virtual 8


Luz Virtual Personalidad

Diego Gutiérrez Luz Virtual 9

Luz Virtual Objetivos de la iluminación

Diego Gutiérrez Luz Virtual 10


Luz Virtual Objetivos de la iluminación

Diego Gutiérrez Luz Virtual 11

Luz Virtual Iluminación en CG

• El mayor problema es que los modelos de iluminación digitales


sólo ofrecen una burda y lenta aproximación de la compleja
fenomenología de la interacción real de la luz con la materia.
• El objetivo es concentrarse en problemas y sus soluciones, no
explicar qué hace cada comando del menú de un programa
determinado.
• Es muy fácil echar la culpa a nuestro renderizador, diciendo que
no es muy bueno, que no da más de sí...
• Por ejemplo, el rederizador de 3DS Max no es nada del otro
mundo...

Diego Gutiérrez Luz Virtual 12


Luz Virtual Iluminación en CG

Diego Gutiérrez Luz Virtual 13

Luz Virtual Iluminación en CG

Diego Gutiérrez Luz Virtual 14


Luz Virtual Iluminación en CG

• Un buen artista debe saber continuar donde su software acaba,


explorando caminos que ni los propios programadores del soft
habían sospechado.

• (MYST; Strata Vision 3D, Mac)

Diego Gutiérrez Luz Virtual 15

Luz Virtual Creando profundidad

• La plataforma final no es más que una superficie 2D sobre la


que se proyecta luz. Cualquier sensación de tridimensionalidad
no es más que una ilusión.
• Planos de luz: Conjunto de objetos o personajes paralelos al
plano de la cámara, que son iluminados como una unidad,
contrastando con el resto de planos.
• Por ejemplo, una escena de interior podría estar formada por
cuatro planos de luz: el paisaje visto a través de la ventana, la
pared de la habitación, los personajes en la habitación y un
objeto (un jarrón...) en primer plano.

Diego Gutiérrez Luz Virtual 16


Luz Virtual Creando profundidad

• El jarrón podría ser sólo una silueta oscura; los personajes estar
bien iluminados; la pared sumida en semisombra y el paisaje
fuertemente iluminado por la luz del sol.
• Podemos añadir más sensación de profundidad variando la
temperatura de la luz en cada plano (personajes con luz cálida y
luz más fría para la pared).
• Como toque final, podemos desenfocar tanto el jarrón como el
paisaje al fondo

Diego Gutiérrez Luz Virtual 17

Luz Virtual Creando profundidad

Diego Gutiérrez Luz Virtual 18


Luz Virtual Creando profundidad

Diego Gutiérrez Luz Virtual 19

Luz Virtual Creando profundidad

Diego Gutiérrez Luz Virtual 20


Luz Virtual Creando profundidad

• Volumen y espacio: Podemos acentuar el volumen aparente de


los objetos o personajes usando luz lateral o trasera, jugando con
las sombras.
• Una luz situada en la dirección de la cámara tiende a reducir la
sensación de volumen.
• Conviene no iluminar de manera uniforme las grandes
superficies planas.
• Jugando con charcos de luz acentuamos la ilusión de espacio
(calle de noche iluminada por farolas). Sin embargo, hay que
dar al ojo la posibilidad de conectar esos charcos de luz.

Diego Gutiérrez Luz Virtual 21

Luz Virtual Creando profundidad

Diego Gutiérrez Luz Virtual 22


Luz Virtual Creando profundidad

Diego Gutiérrez Luz Virtual 23

Luz Virtual Creando profundidad

• Atmósfera: Menos en días de mucho viento o después de una


tormenta, la atmósfera está llena de partículas de polvo y agua
en suspensión, que reflejan y refractan luz.
• Este efecto se nota sobre todo con la distancia, donde se reduce
el contraste y la saturación de los colores.
• Profundidad con el color: Un objeto cálido sobre un fondo frío
añade ilusión de profundidad, igual que un objeto brillante sobre
un fondo oscuro.

Diego Gutiérrez Luz Virtual 24


Luz Virtual Atmósfera

Diego Gutiérrez Luz Virtual 25

Luz Virtual Atmósfera

Diego Gutiérrez Luz Virtual 26


Luz Virtual Atmósfera

Diego Gutiérrez Luz Virtual 27

Luz Virtual Atmósfera

Diego Gutiérrez Luz Virtual 28


Luz Virtual ¿Qué hora es?

• No hay que ser muy estricto a la hora de simular de manera


realista la posición del sol en escenas diurnas. Basta con dar una
idea de cuándo se está desarrollando la historia.
• Al amanecer podemos usar tonos azulados, que van saturando a
blanco mientras nos acercamos al mediodía. Durante la puesta
del sol la luz se vuelve rojiza.
• De manera similar, la primavera conlleva una iluminación más
clara y fresca, el verano cálida, para irse enrojeciendo con el
otoño y enfriándose en invierno.
• Hay que aprovechar la subjetividad de los colores.

Diego Gutiérrez Luz Virtual 29

Luz Virtual ¿Qué hora es?

Diego Gutiérrez Luz Virtual 30


Luz Virtual

Diego Gutiérrez Luz Virtual 31

Luz Virtual Luz y composición

• La iluminación es parte intrínseca de la composición final. Para


comprobar esto, basta con iluminar una escena cualquiera con
un sólo foco tipo “spot”, e ir moviéndolo por la escena para ver
cómo su lectura cambia sustancialmente.
• Cada escena es única y requiere un análisis individual.
• La mejor forma de comenzar a iluminar una escena nueva es
(discutiblemente) resaltar el punto focal, para minimizar luego
elementos que interfieran con este punto.

Diego Gutiérrez Luz Virtual 32


Luz Virtual Luz y composición

Diego Gutiérrez Luz Virtual 33

Luz Virtual Continuidad

• A todos nos gustaría hacer de cada escena una obra maestra de


la iluminación. Pero en una escena de un segundo debemos
decirle al ojo dónde mirar de manera inmediata, sin dejarle
vagar por la imagen.
• Por otra parte, debemos ser consistentes a lo largo de la
animación, y esto suele obligarnos a hacer trampas (Cameron en
Titanic...).
• Trucos de edición (cortes, fundidos...) pueden ayudarnos a
alterar ligeramente la iluminación de una escena a otra (o de un
plano largo a uno medio), sin perder continuidad.
• Hay que previsualizar las escenas en su formato final (VHS,
monitor...) para evitar sorpresas al final.
Diego Gutiérrez Luz Virtual 34
Luz Virtual El sistema visual humano

• Invariancia: propiedades intrínsecas de las


escenas u objetos (reflectividad…). Las
propiedades extrínsecas incluyen las
condiciones de iluminación, el punto de
vista…
• Constancia: capacidad de extraer condiciones
accidentales y extraer los invariantes
• Ejemplos: tamaño y perspectiva o constancia
del color (interior de un tren...)

Diego Gutiérrez Luz Virtual 35

Luz Virtual Constancia del color

• Fijémonos en la tapa del


inodoro

Diego Gutiérrez Luz Virtual 36


Luz Virtual Constancia del color

Diego Gutiérrez Luz Virtual 37

Luz Virtual Constancia del color

Diego Gutiérrez Luz Virtual 38


Luz Virtual Constancia del color

Diego Gutiérrez Luz Virtual 39

Luz Virtual Constancia del color

Diego Gutiérrez Luz Virtual 40


Luz Virtual Constancia del color

Diego Gutiérrez Luz Virtual 41

Luz Virtual Constancia del color


• Es fácil estimar el color intrínseco de un objeto, pero muy difícil el
color de la luz que refleja!

Diego Gutiérrez Luz Virtual 42


Luz Virtual Constancia

• Otro ejemplo: nuestra


imagen en el espejo es sólo
la mitad de grande que
nosotros!

Diego Gutiérrez Luz Virtual 43

Luz Virtual El sistema visual humano

Diego Gutiérrez Luz Virtual 44


Luz Virtual El sistema visual humano

Diego Gutiérrez Luz Virtual 45

Luz Virtual El sistema visual humano

Diego Gutiérrez Luz Virtual 46


Luz Virtual El sistema visual humano

• Esta capacidad de detectar contrastes es utilizada


constantemente (aumenta el rango dinámico aparente)

Diego Gutiérrez Luz Virtual 47

Luz Virtual El sistema visual humano

Diego Gutiérrez Luz Virtual 48


Luz Virtual El sistema visual humano

• Nuestra percepción de contrastes da lugar a muchos otros


fenómenos curiosos…

Diego Gutiérrez Luz Virtual 49

Luz Virtual Rango dinámico

Diego Gutiérrez Luz Virtual 50


Luz Virtual Rango dinámico

Diego Gutiérrez Luz Virtual 51

Luz Virtual El aspecto subjetivo

Diego Gutiérrez Luz Virtual 52


Luz Virtual El aspecto subjetivo

Diego Gutiérrez Luz Virtual 53

Luz Virtual El aspecto subjetivo

Diego Gutiérrez Luz Virtual 54


Luz Virtual El aspecto subjetivo

Diego Gutiérrez Luz Virtual 55

Luz Virtual El sistema visual humano

Imágenes basadas en la
percepción: Sin limitarnos a
los cálculos físicos de la
interacción de la luz con la
materia.

Diego Gutiérrez Luz Virtual 56


Luz Virtual

Diego Gutiérrez Luz Virtual 57

Luz Virtual El sistema visual humano

Diego Gutiérrez Luz Virtual 58


Luz Virtual Luces motivadas o no motivadas

• Una luz motivada es aquella cuya fuente aparece en la escena o


es fácilmente deducible de ella (una lámpara en una habitación,
el sol...). Suele arrojar sombras.
• Una luz no motivada es aquella sin fuente aparente. Suelen
aplicarse para resaltar detalles o ensalzar el ambiente de la
escena. Debido a su no motivación, no arrojan sombras ya que
éstas delatarían su origen.
• “Empiezan donde el renderizador acaba”.
• El truco es integrar ambos tipos en la escena, logrando
transmitir el efecto deseado sin que el espectador detecte la
presencia de luces no motivadas, lo cual rompería toda la ilusión
generada.
Diego Gutiérrez Luz Virtual 1

Luz Virtual Luces puntuales o de área

Diego Gutiérrez Luz Virtual 2


Luz Virtual Luces volumétricas

Diego Gutiérrez Luz Virtual 3

Luz Virtual

Diego Gutiérrez Luz Virtual 4


Luz Virtual Configuración básica

• Un buen comienzo es empezar con la configuración de tres luces


(3-light setup): luz principal (key light), luz de relleno (fill light)
y luz posterior (rim light).

Diego Gutiérrez Luz Virtual 5

Luz Virtual Luz principal

• Luz principal: Suele ser motivada, y por tanto arroja sombras.


De hecho, las sombras de la luz principal ayudan a esculpir la
escena tanto o más que la propia luz.
• Suele situarse frontalmente, a un lado de la cámara, más o
menos elevada según el tipo de sombras buscado. También
pueden ponerse en un lateral o incluso detrás (side key, rear
key).
• La posición básica es una “3/4”: aproximadamente tres cuartas
partes del personaje están iluminadas por ella. Esta es la
posición que arroja de entrada sombras más agradables.

Diego Gutiérrez Luz Virtual 6


Luz Virtual Luz principal

• Suele ser la primera luz en el proceso de iluminación. Las otras


dependen de ella.
• Un error muy cometido por principiantes es el de situar la luz
principal justo donde está la cámara, aplanando
lamentablemente la imagen. Hay que dejar que las sombras
añadan detalle al modelo.
• Las sombras que arroja pueden ser definidas o difusas, según el
origen de la luz.

Diego Gutiérrez Luz Virtual 7

Luz Virtual Luz principal

Diego Gutiérrez Luz Virtual 8


Luz Virtual Luz de relleno

• La luz de relleno suaviza y rellena las sombras creadas por la luz


principal. Tal y como se trata en el lenguaje cinematográfico, es
diferente de la luz ambiental.
• Suele ser no motivada, sin sombras.
• Se sitúa de manera que cubra todas las sombras que deja la luz
principal, al menos las visibles en la escena (entre 45º y 180º al
otro lado de la cámara).
• Altura antagonista con respecto a la luz
principal.
• Su intensidad parte de 1/2 de la principal

Diego Gutiérrez Luz Virtual 9

Luz Virtual Luz de relleno

Diego Gutiérrez Luz Virtual 10


Luz Virtual Luz posterior

• La luz posterior resalta el contorno del personaje, separándolo


del fondo (también separa la vida real de Hollywood...).
• Es una de las “aberraciones” más aceptadas en el lenguaje
cinematográfico (Men In Black...), dotando a la imagen de un
cierto aspecto estilizado.
• Suele situarse detrás y por encima del personaje,
diametralmente opuesta a una luz principal de 3/4.
• Su origen estaba motivado por las películas
antiguas en blanco y negro, pero sobrevivió
a la llegada del color.

Diego Gutiérrez Luz Virtual 11

Luz Virtual Luz posterior

Diego Gutiérrez Luz Virtual 12


Luz Virtual Luz posterior

• Aquí la luz posterior ayuda


claramente a perfilar el contorno
del conejo en aquellas zonas
demasiado oscuras, permitiendo
leer la imagen rápidamente al
identificar al conejo de manera
instantánea.

Diego Gutiérrez Luz Virtual 13

Luz Virtual Luz posterior

Diego Gutiérrez Luz Virtual 14


Luz Virtual Principal + relleno + posterior

Diego Gutiérrez Luz Virtual 15

Luz Virtual Un ejemplo

Diego Gutiérrez Luz Virtual 16


Luz Virtual Profundidad a través del color

• Una buena
composición
generalmente
juega con los
colores de
cada fuente de
luz

Diego Gutiérrez Luz Virtual 17

Luz Virtual Radiosidad a través del color

• Así integramos el modelo 3D en el ambiente (real o sintético) a


través de una simulación de la interreflexión difusa de la luz.

Diego Gutiérrez Luz Virtual 18


Luz Virtual Radiosidad a través del color

Diego Gutiérrez Luz Virtual 19

Luz Virtual Hablando de integración...

• Unas bolas difusas y reflectantes capturan la iluminación del


escenario

Diego Gutiérrez Luz Virtual 20


Luz Virtual Hablando de integración...

• La integración de un modelo CG con una escena real SIEMPRE


conlleva una corrección del color en post.

Diego Gutiérrez Luz Virtual 21

Luz Virtual El papel de las luces

• Las tres luces estudiadas pueden intercambiarse los papeles.


• Por ejemplo, en una escena nocturna es fácil tener la luz
posterior como fuente principal de luz. Esto ayuda a mantener
un tono oscuro, sin afectar ni la legibilidad ni la ilusión de
nocturnidad, ni la sensación tridimensional de la escena. La luz
principal, drásticamente reducida, pasaría a ser la luz de relleno.
• La motivación de las luces es más fuerte que las reglas de la
configuración básica.

Diego Gutiérrez Luz Virtual 22


Luz Virtual El papel de las luces

Diego Gutiérrez Luz Virtual 23

Luz Virtual El papel de las luces

Diego Gutiérrez Luz Virtual 24


Luz Virtual Luz ocular y kicker

• La luz ocular se utiliza mucho en cinematografía tradicional.


Los ojos de los actores cobran una mayor expresividad si
pueden verse reflejos especulares en ellos.
• El kicker es una luz, justificada o no, que sutilmente destaca al
personaje u objeto principal del resto (Adam´s Family, Antz, el
anuncio de Carlsberg...).
• El kicker, cuando es necesario, suele ir reforzado por otros
elementos (una chaqueta o vestido rojos en medio de una
multitud permiten localizar enseguida al personaje principal...)

Diego Gutiérrez Luz Virtual 25

Luz Virtual Luz ocular y kicker

• Luz ocular

Diego Gutiérrez Luz Virtual 26


Luz Virtual Luz ocular y kicker

• Kicker

Diego Gutiérrez Luz Virtual 27

Luz Virtual Luces prácticas

• Las luces prácticas están en la escena porque la historia lo


requiere. La iluminación puede basarse en éstas, o permitir que
la sobrepasen, si ayuda a transmitir la idea (en Encuentros en la
Tercera Fase, los destellos de la nave nodriza deslumbran
completamente al espectador...)
• En cinematografía digital, muchas veces es necesario simularlas
con otra luz más potente fuera de encuadre (foco simulando la
luz de una vela en una película de terror...). En cinematografía
digital esto no es necesario, podemos actuar directamente sobre
la propia luz práctica.

Diego Gutiérrez Luz Virtual 28


Luz Virtual Luz ambiental

• Viene a suplantar el fenómeno de interreflexión difusa de la luz


con la atmósfera en una escena real. La mayoría de los
renderizadores comerciales están basados en algoritmos de
trazado de rayos, e ignoran este fenómeno. Los renderizadores
basados en radiosidad se acercan algo más al proceso real, por lo
que necesitan menos luz de relleno.
• Si utilizamos la luz ambiental por defecto de los paquetes de
animación 3D, el resultado es bastante pobre. La imagen se
aplana. No conviene abusar de ella, o será imposible quitar a
nuestra escena el look característico de las imágenes generadas
por ordenador.

Diego Gutiérrez Luz Virtual 29

Luz Virtual Luz ambiental

• Interreflexión difusa:

Diego Gutiérrez Luz Virtual 30


Luz Virtual Luz ambiental

• ¿Qué sucede cuando, en una habitación del mundo real,


encendemos la luz? ¿Qué sucede en un mundo análogo digital?
• En cinematografía tradicional, se utilizan grandes lonas blancas
para aumentar la luz ambiental, o negras para absorberla.
• El truco es saber equilibrar este tipo de iluminación,
difícilmente controlable.
• La regla de oro que nunca hay que olvidar es que cuanta más luz
ambiental hay en una escena, menos contraste obtenemos.

Diego Gutiérrez Luz Virtual 31

Luz Virtual Luces locales y otros trucos

• Pero donde de verdad nos desmarcamos de los


cinematógrafos tradicionales es en herramientas tales
como:
– La posibilidad de aislar el efecto de cada luz (incluyendo o
excluyendo).
– La creación de focos de luz negativa.
– La posibilidad de definir luces que no arrojen sombras.
– El hecho de que nuestros focos de luz no existen como
objetos en el mundo creado, y no se renderizan
• A cambio, debemos apañarnos con modelos de iluminación
limitados.

Diego Gutiérrez Luz Virtual 32


Luz Virtual Simulando luz ambiental (1)

• Supongamos un caso de iluminación extrema: un sólo foco.

Diego Gutiérrez Luz Virtual 33

Luz Virtual Simulando luz ambiental (1)

• Para simular la luz rebotada del suelo, aumentamos la luz


ambiente...

• El resultado: hemos aplanado la imagen. Esto sucede SIEMPRE


que usemos la luz ambiental de cualquier software
Diego Gutiérrez Luz Virtual 34
Luz Virtual Simulando luz ambiental (1)

• Si en lugar de usar la luz ambiental (más mala que el tabaco!!),


nos complicamos la vida un poco más, podemos colocar una
suave luz puntual en el suelo que simule la luz rebotada en él...

Diego Gutiérrez Luz Virtual 35

Luz Virtual Simulando luz ambiental (1)

• El resultado es una imagen con mucho más volumen que la


anterior:

Diego Gutiérrez Luz Virtual 36


Luz Virtual Simulando luz ambiental (2)

• Otro ejemplo: una habitación soleada. Pensamos “hummm, la


luz rebota por todos los lados y satura la habitación de luz
difusa. ¡Ya está!. Le meto un montón de luz ambiental y
arreglados”.
• El resultado no es
demasiado espectacular
que digamos...
• Y eso que usamos uno de
los mejores programas
que existen
(Softimage | 3D)

Diego Gutiérrez Luz Virtual 37

Luz Virtual Simulando luz ambiental (2)

• Para simularla, situamos un tenue foco azulado en cada ventana


apuntando al suelo, y dos más tenues y cálidos desde el suelo a
las paredes y el techo:

Diego Gutiérrez Luz Virtual 38


Luz Virtual Simulando luz ambiental (2)

• De nuevo, el resultado es una imagen mucho más atractiva que


la anterior:

Diego Gutiérrez Luz Virtual 39

Luz Virtual Amortiguación

• Cualquier renderizador que se precie nos permitirá definir una


velocidad de amortiguación de las luces, que simule su
comportamiento real.
• Puede simularse, a la vez que ahorramos tiempo de rendering,
excluyendo objetos lejanos de la influencia de una luz dada.
• ¿Utilizaríamos amortiguación para las luces de la escena de la
habitación soleada?

Diego Gutiérrez Luz Virtual 40


Luz Virtual El aspecto subjetivo

• La forma en que el ojo capta la información de la luminancia de


una misma escena varía según la situación.
• La misma medida física de luminancia en una habitación es
percibida de forma diferente si el ojo que la percibe ha estado
sumido mucho tiempo en la oscuridad o si, por el contrario,
acaba de quedarse medio ciego mirando al sol.
• Los renderizadores comerciales no tienen en cuenta este efecto
subjetivo, por lo que, si la narración de la historia lo requiere,
habrá que simularlo sin más que exagerar o disminuir la
intensidad de las luces.

Diego Gutiérrez Luz Virtual 41


Bibliografía

(Blinn, 1978) J. Blinn, Simulations of Wrinkled Surfaces. Computer Graphics 12(3) August
1978, 286-292.
(Blinn and Newell, 1976) J. Blinn and M. Newell, Texture and Reflection in Computer
Generated Images. Communications of the ACM 19(10) October 1976, 542-546.
(Catmull, 1974) E. Catmull, A Subdivision Algorithm for Computer Display of Curved
Surfaces. PhD thesis, Department of Computer Science, University of Utah, December 1974.
(Catmull, 1978) E. Catmull, A Hidden-Surface Algorithm with Anti-Aliasing. Computer
Graphics 12 (3) August 1978, 6-10.
(Cook, 1984) R. Cook, Shade Trees. Computer Graphics 18 (3) July 1984 223-231.
(Crow, 1981) F. Crow, A Comparison of Antialiasing Techniques. IEEE Computer Graphics
and Applications. 1 (1) January 1981, 40-49.
(Peachey, 1985) D. Peachey, Solid Texturing of Complex Surfaces. Computer Graphics 19
(3) July 1985, 279-286.
(Perlin, 1985) K. Perlin, An Image Synthesizer. Computer Graphics 19 (3) July 1985, 287-
296.
(Williams, 1983) L. Williams, Pyradmial Parametrics. Computer Graphics 17 (3) July
1983, 1-11.
D. Ebert, F. K. Musgrave, D. Peachey, K. Perlin and S. Worley, Texturing and Modeling: A
Procedural Approach. Academic Press, 1994.
J. Foley, A. vanDam, S. Feiner and J. Hughes, Computer Graphics: Principles and
Practice. 2nd. ed. Addison-Wesley, 1990.
A. Watt and M. Watt, Advanced Animation and Rendering Techniques: Theory and
Practice. Addison-Wesley, 1992.

Diego Gutiérrez y Francisco J. Serón


Diego Gutiérrez
Francisco José Serón

Informática Gráfica
Texturado, iluminación y render de
imágenes sintéticas

También podría gustarte