Iluminación global

De Wikipedia, la enciclopedia libre
Renderización sin iluminación global. Las zonas que están fuera del alcance directo de la luz procedente de la lámpara del techo carecen de definición. Por ejemplo las paredes del fondo parecen superficies uniformes, y si no se hubiera añadido una iluminación ambiente (constante) se verían de color negro.
Renderización con iluminación global. La luz es reflejada en las superficies, lo que produce fenómenos como la transferencia de colores entre superficies cercanas (color bleeding). Nótese que los colores de la pared roja y la pared verde (no visible) se reflejan sobre otras superficies en la escena. También se puede notar la cáustica proyectada sobre la pared roja, proveniente de la luz que atraviesa la esfera de cristal.

Iluminación global (abreviado como IG) o iluminación indirecta es un nombre general para un grupo de algoritmos usados en gráficos por computadora tridimensionales que tienen como objetivo añadir realismo a la modelación de la luz en escenas 3D. Dichos algoritmos tienen en cuenta además de la luz proveniente directamente de una fuente de luz(direct illumination), los rayos de luz que provienen de la misma fuente pero que han sido a través de reflexiones sobre superficies de la escena (reflexivas o no) (indirect illumination).

Reflexiones, refracciones, inter-reflexiones difusas y sombras son todos ejemplos de iluminación global, a la hora de modelar cada uno de estos fenómenos tenemos que tener en consideración cómo cada objeto de la escena afecta al resto. Lo contrario en el caso donde solo se tiene en cuenta la iluminación que proviene directamente de la fuente de luz, aquí se asume que el único objeto en la escena es que está siendo analizado, por tanto se puede decir que esta es una aproximación local.

Las imágenes rendereadas utilizando algoritmos de iluminación global suelen tener mayor foto realismo que aquellas rendereadas utilizando algoritmos de iluminación directa únicamente. Sin embargo, estas imágenes son computacionalmente más costosas y consecuentemente mucho más lentas de generar. Una aproximación común es computar la iluminación global de una escena y almacenar esa información con la geometría, por ejemplo, radiosidad. Esos datos almacenados pueden luego ser usados para generar imágenes desde diferentes puntos de vista, de esta manera se pueden visualizar la escena sin tener que realizar costosos cálculos de iluminación de manera repetida.

Radiosidad, trazado de rayos, trazado de cono, trazado de camino, transporte de la luz de Metropolis, oclusión ambiental, mapeado de fotones, e Iluminación basada en imágenes son ejemplos de algoritmos usados en iluminación global, algunos de los cuales pueden ser usados en conjunto para obtener resultados precisos aunque no con gran eficiencia.

Estos algoritmos modelan inter reflexiones difusas la cual es una parte muy importante de la iluminación global; sin embargo la mayoría de estos también modelan reflexión especular, lo cual los hace algoritmos más precisos para resolver la fórmula de iluminación y proveer una escena iluminada de una forma más realista.

Los algoritmos utilizados para calcular la distribución de energía en forma de luz entre superficies de una escena están estrechamente relacionados con simulaciones de transferencia de calor realizadas en métodos de [método de los elementos finitos]] en diseño ingenieril.

En los gráficos 3D en tiempo real, el componente de inter reflexiones difusas de la iluminación global es aproximados en ocasiones por un término "ambiente" en la fórmula de iluminación, lo cual es llamado también "luz ambiental" o "color ambiental" en los paquetes de programas 3D. Aunque este método de aproximación (también conocido como "trampa" porque no es realmente un método de iluminación global) es fácil de realizar computacionalmente, cuando es usado solo no da como resultado un efecto suficientemente realista. Iluminación ambiente es conocido como sombras "aplanadas" en escenas 3D, haciendo que el efecto sea usualmente más suave. Sin embargo, usado de manera correcta, la iluminación ambiente puede ser una manera eficiente cuando se dispone de poco poder de cómputo.

Procedimiento[editar]

Algoritmos más y más especializados son usados en programas 3D que pueden simular de manera correcta la iluminación global. Estos algoritmos son aproximaciones numéricas de la fórmula de renderización. Bien conocidos algoritmos para computar iluminación global son trazado de camino, Mapeado de fotones y radiosidad.

Aquí se pueden notar las siguientes aproximaciones.

  • Inversión:
    • no es aplicado en la práctica.
  • Expansión:
    • aproximación bidireccional: mapeado de fotones + Trazado de rayos distribuido, trazado de camino bidireccional, transporte de la luz de Metropolis
  • Iteración:

Iluminación basada en imágenes[editar]

Otra manera de simular iluminación global real es el uso de Alto rango dinámico, también conocidos como mapas de entorno, los cuales rodean e iluminan la escena. Este proceso es conocido como Iluminación basada en imágenes.

Lista de métodos[editar]

Método Descripción/Notas
Trazado de rayos Varias alternativas existen para resolver problemas relacionados con aliasing, sombras suaves: Trazado de rayos distribuido, Trazado de cono
Trazado de camino Imparcial, Variante: Trazado de camino bidireccional
Mapeado de fotones Consistente, parcial; variantes mejoradas: Mapeado de Fotones progresivo, Mapeado de Fotones estocástico progresivo[1]
Cortes de luz variantes mejoradas: Cortes de luz multidimensionales, Cortes de luz bidimensionales
Iluminación global basada en puntos Usado de manera extensiva en animación cinematográfica[2][3]
Radiosidad Método de los elementos finitos, muy bueno para pre cálculos.
Transporte de la luz de Metropolis Se basa en trazado de camino bidireccional, imparcial
Iluminación esférica armónica Utilizado para renderización en tiempo real de escenas estáticas.
Oclusión ambiental No es un método físicamente correcto, pero reporta buenos resultados en general. Muy bueno para pre cálculos.

Referencias[editar]

Enlaces externos[editar]