En un BRDF basado físicamente, ¿qué vector debe usarse para calcular el coeficiente de Fresnel?

11

La conocida aproximación de Schlick del coeficiente de Fresnel da la ecuación:

F=F0+(1F0)(1cos(θ))5

Y cos(θ) es igual al producto escalar del vector normal de superficie y el vector de vista.

Todavía no está claro para mí, aunque si debemos utilizar la superficie real normal de N o de la media del vector H . ¿Cuál debe usarse en un BRDF basado físicamente y por qué?

Además, hasta donde yo entiendo, el coeficiente de Fresnel da la probabilidad de que un rayo dado se refleje o se refracte. Así que tengo problemas para ver por qué todavía podemos usar esa fórmula en un BRDF, que se supone que se aproxima a la integral en todo el hemisferio.

Esta observación tenderá a hacerme pensar que aquí es donde vendría , pero no es obvio para mí que el Fresnel de una normal representativa es equivalente a integrar el Fresnel de todas las normales reales.H

Julien Guertault
fuente

Respuestas:

8

En el artículo de Schlick de 1994, "Un modelo económico para la representación basada en la física" , donde derivan la aproximación, la fórmula es:

Fλ(u)=fλ+(1fλ)(1u)5

Dónde

Descripción de vectores

Entonces, para responder a su primera pregunta, refiere al ángulo entre el vector de vista y el medio vector. Considere por un minuto que la superficie es un espejo perfecto. Entonces: En este caso: θ

Vreflect(V)
NH

Para BRDFs microfacet-base, la término se refiere al porcentaje estadístico de las normales microfacet que están orientadas hacia . También, qué porcentaje de la luz entrante rebotará en la dirección saliente.D(hr)H

En cuanto a por qué usamos Fresnel en un BRDF, tiene que ver con el hecho de que un BRDF por sí solo es solo una parte del BSDF completo. Un BRDF atenúa la porción reflejada de luz y un BTDF atenúa el refractado. Usamos Fresnel para calcular la cantidad de luz reflejada vs. refractada, para poder atenuarla adecuadamente con el BRDF y el BTDF.

BSDF=BRDF+BTDF
Lo(p,ωo)=Le(p,ωo) + ΩBSDFLi(p,ωi)|cosθi|dωi=Le(p,ωo) + ΩBRDFLi, reflected(p,ωi)|cosθi|dωi + ΩBTDFLi, refracted(p,ωi)|cosθi|dωi

Entonces, en resumen, usamos para obtener el porcentaje de luz que rebotará en la dirección de salida, y , para averiguar qué porcentaje de la luz restante se reflejará / refractará. Ambos usan , porque esa es la orientación de la superficie que permite un reflejo del espejo entre yDFHVV

RichieSams
fuente
Oh, me había perdido por completo que esto ya era un resultado en el periódico. Eso ciertamente lo aclara. :) Sin embargo, tendré que volver a leerlo para comprender mejor cómo encaja dentro del BRDF.
Julien Guertault
7

El coeficiente de Fresnel debe ser evaluado usando , no .NHN

Tu escribiste,

Tengo problemas para ver por qué todavía podemos usar esa fórmula en un BRDF, que se supone que se aproxima a la integral en todo el hemisferio.

No es. El BRDF en sí mismo no se aproxima a la integral en todo el hemisferio. La ecuación de representación hace eso: se integra sobre todas las direcciones de luz entrantes, pero cada vez que se evalúa el BRDF dentro de la integral, es para una elección específica de direcciones de rayos entrantes y salientes.

Para los BRDF de microfaceta, la suposición simplificadora habitual es que las microfacetas individuales son reflectores especulares perfectos. Luego, dadas las y en las cuales evaluar, las únicas microfacetas que pueden contribuir son aquellas que están alineadas a lo largo de , porque esa es la única forma en que pueden reflejar la luz de la entrada El rayo saliente.V H =LVH=normalize(L+V)

La función de distribución normal y el factor de visibilidad en el BRDF juntos se aproximan a la densidad de las microfacetas orientadas a lo largo de que son visibles desde las direcciones yEl factor de Fresnel se evalúa para aquellos microfacets , por lo que el ángulo correcto para uso es la que existe entre y , o equivalentemente y .L V L HHLVLHHVH

Hay un par de casos en los que este argumento se modifica. Una es si el modelo de microfaceta supone algo más que una especularidad perfecta. Por ejemplo, el Oren-Nayar BRDF asume microfacetas lambertianas. En este caso la BRDF tiene que incorporar algún tipo de integral sobre todas las orientaciones posibles microfacet que pueden dispersar la luz de a . Entonces el BRDF no tendrá un factor Fresnel estándar en absoluto; tendrá alguna otra fórmula que se aproxime al resultado de integrar el factor Fresnel sobre el hemisferio normal.VLV

El otro caso que surge en los gráficos en tiempo real es el reflejo de un mapa del entorno. Para ser realmente correctos, debemos integrar el mapa del entorno multiplicado por el BRDF sobre todas las direcciones de luz entrantes, pero en la práctica a menudo muestreamos un mapa del entorno prefiltrado usando el vector de reflexión dominante y luego multiplíquelo por alguna fórmula aproximada de Fresnel que dependa del ángulo entre y (equivalentemente y ), así como la rugosidad de la superficie. Esto es en gran medida una aproximación, pero a menudo es lo suficientemente bueno para su uso en tiempo real.R N V NR=reflect(V,N)RNVN

Nathan Reed
fuente