Armónicos esféricos
Si sabes lo que es una transformación de Fourier, ya casi sabes qué son los armónicos esféricos: son solo una transformación de Fourier pero de forma esférica en lugar de lineal. Es decir, mientras que una transformada de Fourier es una forma diferente de representar una función , los armónicos esféricos son lo análogo para las funciones polares .f ( θ , ϕ )f(x)f(θ,ϕ)
Si no sabe qué es una transformación de Fourier, necesita saber antes de comprender los armónicos esféricos. La transformación de Fourier le permite representar una señal como una serie de ondas seno y coseno, cada una con el doble de frecuencia que la última. Es decir, puede representar la señal como su promedio, más una onda sinusoidal cuya longitud de onda es la misma que la longitud de la señal, más una onda sinusoidal el doble de esa longitud de onda, y así sucesivamente. Debido a que la transformación de Fourier lo fija a estas longitudes de onda particulares, solo necesita registrar la amplitud de cada una.
Comúnmente usamos transformadas de Fourier para representar imágenes, que son solo señales digitales 2D. Es útil porque puede tirar algunas de las ondas sinusoidales (o reducir la precisión con la que almacena su amplitud) sin cambiar significativamente el aspecto de la imagen para los ojos humanos. OTOH, tirar los píxeles cambia mucho el aspecto de la imagen.
En una señal muestreada como una imagen, si usa la misma cantidad de ondas sinusoidales que había muestras (píxeles) en la imagen original, puede reconstruir la imagen exactamente, por lo que una vez que comience a desechar cualquier frecuencia, estará haciendo la La imagen toma menos almacenamiento.
Los armónicos esféricos son como las transformadas de Fourier, pero en lugar de ondas sinusoidales, utilizan una función esférica, por lo que en lugar de funciones lineales (como imágenes), pueden representar funciones definidas en la esfera (como mapas de entorno).
Sondas de luz
Al igual que una imagen estándar registra toda la luz que alcanza un cierto punto a través del plano de la imagen, una sonda de luz registra toda la luz que llega a un cierto punto desde todas las direcciones. Primero salieron de los efectos de la película. Si desea agregar un objeto generado por computadora a una escena del mundo real, debe poder encender el objeto sintético con la iluminación del mundo real. Para hacer eso, necesita saber qué luz alcanza el punto de la escena donde estará el objeto sintético. (Nota: aunque digo "iluminación", está grabando una imagen de toda la luz, por lo que también puede usarse para reflexiones).
Como no puede tener una cámara con una lente esférica que grabe toda la luz que llega a un solo punto desde todas las direcciones, puede grabar esto tomando fotografías normales de un espejo esférico y luego reproyectando las imágenes en una esfera.
Fuera de los efectos de la película, es más común usar sondas de luz generadas a partir de una escena artificial. Imagine que tiene un algoritmo costoso para calcular la iluminación global (GI) en una escena, y también tiene algunos objetos más pequeños que se mueven en esta escena (como un nivel de juego con jugadores en ella). No puede ejecutar todo el algoritmo GI cada vez que se mueve un objeto, por lo que lo ejecuta una vez con la escena estática y guarda las sondas de luz tomadas en varios puntos del nivel. Entonces puede obtener una buena aproximación al IG iluminando al jugador con la sonda de luz más cercana.
Usándolos juntos
En general, de todos modos, desea filtrar los bordes afilados en su iluminación global, por lo que desea una forma de representarlos que sea compacta y que le permita desechar fácilmente las frecuencias altas. ¡En eso son realmente buenos los armónicos esféricos! Es por eso que escucharás que estos dos términos se usan mucho juntos.
Calcula las sondas de luz con su costoso algoritmo GI, generalmente en la herramienta de diseño de nivel, o tal vez una vez por segundo (en lugar de una vez por fotograma) si desea incluir sus objetos dinámicos. Los almacena de forma económica con armónicos esféricos: 16 flotadores son suficientes para una iluminación de alta calidad, pero no para reflejos. Luego, para cada objeto dinámico que desee iluminar, elija la sonda de luz más cercana (o interpole linealmente varias juntas) y úsela como una entrada uniforme o constante a su sombreador. También es común usar armónicos esféricos para representar los datos de oclusión ambiental, y es muy barato convolver eso con la sonda de luz, aunque hay cierta complejidad en torno a las funciones rotatorias de armónicos esféricos.