¿En qué se diferencia una sonda de luz de un mapa de cubo ambiental?

17

Al observar una textura de sonda ligera, se ve como un mapa de entorno borroso.

¿Cuál es la diferencia entre los dos, cómo se hace una sonda de luz y cuál es el beneficio de que sea borrosa?

Alan Wolfe
fuente
3
Respuesta corta: "sondas de luz" generalmente significa una representación armónica esférica compacta del entorno. Están borrosos tanto porque son muy compactos (solo unas pocas decenas de bytes de almacenamiento) como porque están prefiltrados para su uso como iluminación difusa. Expandiré en una respuesta más larga cuando tenga una oportunidad. :)
Nathan Reed
¿Hay algún contexto para tu pregunta? El término 'sonda de luz' es ambiguo y se usa de manera diferente en diferentes escenarios, algoritmos y motores.
David Kuri
Específicamente, si ha estado en shadertoy.com, verá dos conjuntos de mapas de cubos disponibles para su uso. Un conjunto es mapas de entorno, el otro conjunto se ve igual pero borroso que están etiquetados como sondas de luz. Solo curiosidad por eso y sondas de luz en general.
Alan Wolfe

Respuestas:

18

Soy consciente de dos significados comunes diferentes de "sonda de luz". Ambos representan la luz alrededor de un solo punto en una escena, es decir, lo que vería a su alrededor en todas las direcciones si se redujera a un tamaño pequeño y se parara en ese punto.

Un significado es una representación armónica esférica de la luz alrededor de un punto. Los armónicos esféricos son una colección de funciones definidas sobre un dominio esférico, que son análogas a las ondas sinusoidales que oscilan un cierto número de veces alrededor del ecuador y de polo a polo en la esfera.

Los armónicos esféricos se pueden usar para crear una aproximación suave y de baja resolución de cualquier función esférica, escalando y sumando algunos armónicos esféricos, generalmente 4 (conocidos como SH lineal, de primer grado o de una banda) o 9 ( llamado SH cuadrático, de segundo grado o de dos bandas). Esto es muy compacto porque solo tiene que almacenar los factores de escala. Por ejemplo, para SH cuadrático con datos RGB, solo necesita 9 * 3 = 27 valores por sonda. Entonces, SH hace una representación muy compacta, pero también necesariamente muy suave y borrosa, de la luz alrededor de un punto. Esto es adecuado para iluminación difusa, y quizás especular con una gran rugosidad.

Esta captura de pantalla del blog de tecnología de Simon muestra una serie de sondas de luz SH espaciadas a lo largo de una escena, cada una de las cuales muestra la iluminación indirecta recibida en ese punto:

Matriz de sonda de luz SH

El otro significado actualmente común de "sonda de luz" es un mapa de cubo de entorno cuyos niveles de mip se han desenfocado previamente en diferentes extensiones para que pueda usarse para iluminación especular con diferentes niveles de rugosidad. Esta imagen del blog de Seb Lagarde muestra la idea básica:

Niveles prefiltrados de mip de cubemap

Los mips de mayor resolución (hacia la izquierda) se utilizan para superficies altamente pulidas donde necesita una imagen reflejada detallada. Hacia la derecha, los niveles de mip de baja resolución son cada vez más borrosos y se utilizan para reflexiones desde superficies más rugosas. En un sombreador, al muestrear este mapa de cubos, puede calcular el nivel de mip solicitado en función de la rugosidad del material y aprovechar el hardware de filtrado trilineal.

Ambos tipos de sondas de luz se utilizan en gráficos en tiempo real para aproximar la iluminación indirecta. Si bien la iluminación directa se puede calcular en tiempo real (o al menos bien aproximada para las luces de área), la iluminación indirecta generalmente todavía se cuece en un preproceso fuera de línea debido a su complejidad y sobrecarga computacional.

Tradicionalmente, el resultado del proceso de horneado serían mapas de luz, pero los mapas de luz solo funcionan para la iluminación difusa en geometría estática, y además ocupan mucha memoria. Hornear un montón de sondas de luz SH (puede permitirse muchas porque son muy compactas), además de una dispersión más escasa de sondas de luz de mapa de cubos, le permite obtener una iluminación indirecta especular y difusa decente tanto en objetos estáticos como dinámicos. Son una opción popular en los juegos de hoy.

Nathan Reed
fuente
¡Gran explicación! Solo para confirmar la parte sobre el uso del filtrado trilineal en los mips ... ¿Se prefieren los mips a las texturas de volumen porque usan menos resolución y los niveles de desenfoque más altos necesitan menos resolución?
Alan Wolfe
1
Yo diría que ambos "tipos" de sondas de luz son iguales. Las sondas de luz son una medida de la radiación (generalmente preconvolucionada de alguna manera) recibida en un punto de la escena. Cubemaps y SH son solo diferentes formas de almacenar / calcular una sonda de luz, haciendo diferentes intercambios de almacenamiento / rendimiento / calidad. (EDITAR: solo para aclararlo, estoy de acuerdo con la respuesta, solo creo que es contraproducente pensar en ellos como cosas separadas.)
yuriks
@AlanWolfe Hay un uso que consiste en tener mapas de ligadura difusa tomados de un entorno real (llamado bola gris / bola blanca), no solo especular. Aquí hay una discusión sobre ambos Mirror / Gray Ball Shaders
joojaa
1
@AlanWolfe Correcto y mdash; necesita menos resolución en los niveles más borrosos. Además, las texturas de volumen de cubemap no existen en el hardware. :)
Nathan Reed