Resumen simple e implementación de la ecuación de renderizado PBR
Escriba aquí una versión simple de la implementación de PBR, dejando algunos rastros de aprendizaje.
Phong propuso el modelo de reflexión de Phong en 1975:
El modelo de Phong modificado por Blinn en 1977 es el modelo de reflexión de Blinn-Phong que luego se utilizó ampliamente:
Un Blinn-Phong simple basado en la física;
Las cantidades básicas de medición de radiación en física y sus relaciones (los símbolos están simplificados por mí, como ángulos sólidos y derivadas parciales);
La emisividad cuantifica el tamaño o la intensidad de la luz emitida en una sola dirección y no varía con la distancia. Esta es una unidad de medida de la intensidad del color vista por el ojo humano.
La ecuación de representación (ecuación de reflexión) de PBR es generalmente la siguiente:
v es la dirección de visión y l es la dirección de iluminación.
Algunos artículos utilizan, lo que significa multiplicar los componentes del vector, ya que la suma contiene los tres componentes de RGB.
La relación entre emisividad e irradiancia se define de la siguiente manera:
La definición de la función de distribución de reflexión bidireccional BRDF es:
La ecuación integral general es Monte Carlo Aproximadamente calculado por el método Luo. Aun así, no se puede calcular en tiempo real y normalmente se preprocesa fuera de línea. Algunos métodos conocidos
Para fuentes de luz ideales (fuentes de luz puntuales, luces paralelas, etc.), no tiene sentido. Por ejemplo, la luz paralela tiene solo una dirección de valor y el valor es infinito.
Para objetos iluminados por una fuente de luz ideal, la irradiancia tiene sentido y la ecuación de renderizado degenera en:
Esta ecuación se puede calcular en tiempo real en el sombreador.
El modelo siguiente probablemente se llame modelo BRDF de Cook-Torrance.
Primero, BRDF se divide en reflexión difusa y reflexión especular:
El coeficiente se utiliza para controlar la conservación de energía.
n es la normal a la superficie.
h es el vector de medio ángulo mencionado anteriormente. También tiene aquí otro significado: la normal de microsuperficie.
α es la rugosidad de la superficie (la definición en el artículo de UE da lugar a algunos errores al escribir, aquí es la rugosidad directamente), y n es la normal de la superficie. Esta fórmula fue desarrollada especialmente por Big Boss.
El fenómeno de Fresnel consiste en que cuanto mayor es el ángulo rasante, más fuerte es la reflexión especular, lo que produce reflejos en los bordes.
Representa la reflectancia básica de la superficie que distingue metales y no metales. Los metales son superiores a 0,5, los no metales son inferiores a 0,2 y los no metales ordinarios son inferiores a 0,04.
El método de entrada de este valor es generalmente: el metal se ingresa a través del mapa, el no metal se establece directamente en 0.04.
Los coeficientes antes mencionados son iguales a .
Al utilizar este método, puedes lograr la conservación de energía: reflexión especular + reflexión difusa.
Hay muchas soluciones y las ecuaciones de representación de Disney, Unity y Unreal son todas diferentes.
Esta es sólo una posible solución.
Hay dos situaciones.
El renderizado PBR requiere la síntesis de luz indirecta para conseguir buenos resultados.
El PBR debe calcularse en un espacio lineal y se pueden agregar linealmente diferentes fuentes de luz. Cuando el resultado > 1, existen algoritmos especiales para la normalización.
La exposición predeterminada es 1 y se puede configurar o suavizar según el brillo promedio del fotograma anterior.
Puedes ver el área de comentarios de LearnOpenGL.
Solo se implementa uno y sólo admite una luz paralela.
Utiliza adicionalmente algunas de las funciones integradas de Unity: sombras, luz ambiental SH y SkyBox.
La representación de la cápsula estándar es cercana al estándar, por lo que se siente así.
La parte sobre obtener luz indirecta del ambiente es realmente~~~Lo entenderé la próxima vez.