Según tengo entendido, los armónicos esféricos a veces se usan para aproximar ciertos aspectos de la iluminación (dependiendo de la aplicación).
Por ejemplo, parece que puede aproximarse a la iluminación difusa causada por una fuente de luz direccional en un punto de superficie, o partes de él, calculando los coeficientes SH para todas las bandas que está utilizando (para cualquier precisión que desee) en la dirección de la superficie normal y escalarlo con lo que sea necesario para escalarlo (por ejemplo, intensidad de color claro, punto (n, l), etc.).
Lo que aún no entiendo es lo que se supone que debe lograr. ¿Cuáles son las ventajas reales de hacerlo de esta manera en lugar de evaluar el BRDF difuso de la manera normal? ¿Guarda los cálculos en alguna parte? ¿Hay alguna información adicional contenida en la representación SH que no pueda obtener de los resultados escalares de la evaluación normal?
fuente
Respuestas:
La razón para usar armónicos esféricos es aproximar la distribución de luz entrante alrededor de un punto, típicamente luz indirecta calculada por algún algoritmo de iluminación global. Luego, el BRDF también se aproxima con armónicos esféricos, para permitir el cálculo eficiente de la luz saliente vista por el espectador, al tomar el producto de punto de los coeficientes SH de luz entrante con los coeficientes SH BRDF. Esto se aproxima a la convolución de la luz entrante con el BRDF, como se ve en la ecuación de representación.
Si solo desea recibir luz de fuentes puntuales, no necesita SH. Las luces de punto se manejan con mayor precisión simplemente evaluando el BRDF directamente. Además, si tiene un entorno fijo (cielo, etc.) del que desea recibir luz, puede generar mapas de cubos preconvolucionados sin conexión (utilizando CubeMapGen, por ejemplo) que hacen un trabajo bastante bueno al aproximar la convolución del mapa del entorno con el BRDF No hay necesidad de SH aquí tampoco.
Donde SH realmente es útil es cuando tienes una escena compleja y quieres iluminación indirecta, es decir, iluminación de rebote. En este caso, la distribución de la luz varía de un lugar a otro. En principio, cada punto individual de la escena tiene un entorno de iluminación diferente en función de su entorno. En la práctica, muestreamos la iluminación en puntos discretos utilizando algún algoritmo de iluminación global. Hay muchas formas de hacerlo: puede probar la iluminación en cada vértice de las superficies, por ejemplo, o en cada texel de un mapa de luz. O cree una representación volumétrica utilizando una cuadrícula o una malla tetraédrica .
El punto es que hay una gran cantidad de puntos donde se muestrea la iluminación, por lo que necesitamos una representación flexible pero muy compacta de la iluminación alrededor de un punto, para evitar consumir demasiada memoria. SH cumple este papel muy bien. También tiene la propiedad práctica de que funciona bien con la interpolación, es decir, los coeficientes SH se pueden interpolar de un punto de muestra a otro y la iluminación intermedia se comportará razonablemente. Y dado que captura la distribución angular general de la luz entrante, no solo la luz de una dirección, puede usarla con una superficie mapeada normal y obtener resultados bastante buenos.
Sin embargo, debe tenerse en cuenta que SH solo es realmente útil para la iluminación difusa. A menos que use un número verdaderamente loco de coeficientes SH, se desdibujará demasiado la distribución angular de la luz entrante. Para una iluminación indirecta especular de alta calidad, se necesita algo más, como mapas de cubo con corrección de paralaje y / o trazado de rayos en el espacio de la pantalla.
fuente
Respuesta corta, cálculos de luz física más precisos. (con respecto a algunas características de interacción de la superficie de la luz).
Lamentablemente, el problema radica en la definición de la forma normal . El modelo de reflexión de phong "normal" ha sido adoptado hace mucho tiempo por la comunidad de renderizado en tiempo real desde el principio y ha sido el estándar de facto debido a su simplicidad que lo hace apropiado para el uso del renderizado en tiempo real.
Sin embargo , el problema es que la interacción luz / material de la vida real es tan complicada que no puede ser modelada por un solo BRDF.
Los BRDF son una abstracción de cómo se supone que suceda la interacción de luz real. Phong es uno más, que tiene la ventaja de la simplicidad.
En gráficos de computadora hay diferentes BRDF que se dividen en dos categorías principales:
Hablando de la segunda categoría, cada BRDF intenta lograr ciertas características con la interacción de la superficie de la luz. El BRDF más simple posible es Lambertian, que intenta modelar la dispersión subsuperficial y a menudo se usa en gráficos de computadora. El valor de reflectancia constante de un BRDF Lambertian se conoce comúnmente como el color difuso.
En tiempo real, los gráficos por computadora generalmente se seleccionan manualmente y los parámetros se configuran para lograr el aspecto deseado (por ejemplo, usando Phong con ciertos valores para modelar una superficie de plástico o cromo).
Por otro lado, a veces los BRDF se miden directamente desde la superficie deseada (y no están representados por una ecuación matemática). Esto nos da datos mucho más precisos físicamente sobre la superficie que de otro modo serían difíciles de lograr analíticamente.
Un método para ajustar esos datos capturados es seleccionar un BRDF analítico y ajustar estos datos en él. Los armónicos esféricos son solo una técnica utilizada para representar esas cantidades medidas y ajustarlas en un modelo analítico BRDF.
El mejor recurso para la teoría BRDF se puede encontrar en la representación en tiempo real
fuente