Finalmente descubrí una falla en mi argumentación para usar el medio vector para la parte difusa.
tl; versión dr:
αhi y no son iguales, esta suposición solo funciona para la parte especular. Por lo tanto, no se da la conservación de energía.αho
Más correcto: por definición , pero no está permitido usarlos en la ecuación, debe usar las normales de microfaceta en lugar de los medios vectores. Sin embargo, la microfaceta normal y el medio vector no son generalmente iguales.αhi=αho
Versión larga:
El BRDF difuso (como el especular) es una integración sobre todas las normales de microfaceta posibles. El formulario BRDF generalizado es:
(1)
f=∫Ωρm∗D∗G∗cos(αhi)∗cos(αho)cos(θi)∗cos(θo)
donde es el comportamiento de la luz cuando alcanza una microfaceta, es la función de distribución normal, es la función de geometría y el resto es normalización [PBR, p.16-25] [HEI, p.61f.]ρmDG
Ahora para el BRDF especular, el comportamiento es la reflexión perfecta. Esto significa que solo las microfacetas donde la microfaceta normal es igual al medio vector entre la luz ( ) y la dirección de vista ( ) reflejan la luz desde la dirección de la luz hacia la dirección de la vista. Matemáticamente, esto se traduce en una función Delta de Dirac . La cantidad de luz reflejada se determina por Fresnel . Al tener en cuenta los cambios en el dominio de integración [PBR, p.31-41], esto lleva a que ( sea la reacción específica especular de las microfacetas para la parte especular):ωmωhωiωoδ(ωh)Fρm,s
(2)
ρm,s=δ(ωh)∗F4∗αhi∗αho
Conecte esto en (1) e integre sobre cualquier , pero la función dirac delta lo hace ignorar cualquier cosa donde . Esto es lo bueno de esas funciones dirac delta, el "cancelar" la integral. Por lo tanto, vienes al conocido BRDF [PBR, p.43]ωmωm≠ωh
(3)
fs=F∗D∗G4∗cos(θi)∗cos(θo)
y aquí puede asumir con seguridad . La parte de Fresnel hace que este sea un lado de una interpolación lineal (ya que esta es la relación de luz que se refleja de forma especular).αhi=αho
Sin embargo, en el otro lado, todavía tienes una integral y no puedes "cancelarla" con nada. Sea el ángulo entre el microfacet normal y el directorio de luz, theta_mo entre el microfacet normal y el directorio de vista (en oposición a y , que se definen específicamente para la mitad ángulo!). Eso significa 2 cosas importantes:θmiαhiαho
(4)
θmi≠αhi=αh=αho≠θmo∀ωm≠ωh
y (ya que la reacción difusa de la luz al llegar a las microfacetas) depende de Fresnel, solo puede usar partes no reflejadas, pero no puede suponer que CADA microfacet difusley normal refleja toda la luz que no se reflejó especularmente (es decir, ).ρm,d(1−F(αh))
Entonces, el problema ahora es que tiene un lado de esa interpolación lineal que es el BRDF especular analíticamente solucionable sin una integral. Por otro lado, tiene el factor de interpolación dentro de la integral y, por lo tanto, lo usaría para cualquier microfaceta normal. Esto ya no energía, si modela con un término lambertiano.ρm,d
Si logra sacar la parte de la integral, entonces y solo entonces puede usar el medio vector para BRDF tanto especulares como difusos, de lo contrario, debe manejarlo de manera diferente.1−F
Si aún desea utilizar el medio vector para la "Interpolación Fresnel", entonces necesita normalizar.
f=F(αh)∗rs+(1−F(αh))∗rd∗k
Con siendo elegido, de modo quek
rd∗k=1
Tenga en cuenta que todavía incluye una integral sobre todas las posibles normales de microfacet.rd
Usando yθiθo
Creo que debería agregar una oración sobre los ángulos realmente usados, porque la pregunta que planteé originalmente no era solo "por qué no " sino también "por qué y ". Entonces, para el pueblo que se pregunta si esto es correcto: No. Es solo una aproximación.αhθiθo
En cambio, podemos modificar el término mate para que sea una aproximación simple que capture el importante comportamiento angular cualitativo [...].
[SHI, p.46]
Discusión sobre por qué esto es tan difícil de entender
Ahora [DIS, p.14] y [PBR, p.100,184] citaron [SHI] y [ASH] en esto, donde [ASH] usa [SHI], por lo que se reduce al modelo de este último. Y dado que [DIS] y [PBR] son publicaciones no científicas (aunque bastante bien pensadas), no puedo culparlas demasiado, pero en realidad, una mejor forma de citar documentos o una explicación adicional podría haber ayudado y ahorrado Aproximadamente 2 semanas pensando, leyendo y casi comenzando un artículo sobre por qué todos (supuestamente) están equivocados.
Además, ninguno de ellos explica realmente sus aproximaciones difusas, [PBR, p.193] solo menciona probar diferentes funciones hasta que vio una que le gustaba.
Además, [SHI, p.46] realmente citó a [SCH, p.10f.] Que utilizó la interpolación lineal entre y . Sin embargo, [SHI, p.46] lo citó incorrectamente, dijeron que usó y . Suponiendo esto, tienen razón al pensar que [SCH] no energía, pero esto me lleva a creer que y lo serían. Su error podría haber venido de ellos usando ellos mismos, no puedo decir.F(αh)1−F(αh)F(θi)1−F(αh)F(αh)1−F(αh)F(θi)
Literatura
- [ASH] Un modelo BRDF de fong anisotrópico, en Journal of Graphics Tools Vol. 5, N ° 2, Michael Ashikhmin y Peter Shirley, 2000
- [SCH] Un modelo BRDF poco costoso para renderizado basado en la física, en Computer Graphics Forum vol. 13, N ° 3, Christophe Schlick, 1994
- [SHI] A Practitioners 'Assessment of Light Reflection Models, en la Quinta Conferencia del Pacífico sobre gráficos y aplicaciones de computadora, 1997. Actas, Peter Shirley, Helen Hu, Brian Smits y Eric Lafortune, 1997
- [DIS] Sombreado con base física en Disney, en el curso SIGGRAPH 2012: Sombreado con base física en la producción de películas y juegos, Brent Burley, 2012
- [HEI] Comprender la función de enmascaramiento y sombreado en BRDF basados en microfacet, en Journal of Computer Graphics Techniques vol. 3, N ° 2, Eric Heitz, 2014
- [PBR] Iluminación difusa PBR para micro superficies de GGX + Smith, en GDC2017, Earl Hammon Jr., 2017