Dans un BRDF à base physique, quel vecteur faut-il utiliser pour calculer le coefficient de Fresnel?

11

L' approximation bien connue de Schlick du coefficient de Fresnel donne l'équation:

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

Et est égal au produit scalaire du vecteur normal de surface et du vecteur de vue.cos(θ)

Il est encore difficile pour moi mais si nous devrions utiliser la surface réelle normale ou la moitié vecteur H . Lequel devrait être utilisé dans un BRDF à base physique et pourquoi?NH

De plus, pour autant que je sache, le coefficient de Fresnel donne la probabilité qu'un rayon donné soit réfléchi ou réfracté. J'ai donc du mal à comprendre pourquoi nous pouvons toujours utiliser cette formule dans un BRDF, qui est censé approximer l'intégrale sur tout l'hémisphère.

Cette observation aurait tendance à me faire penser que c'est là que viendrait , mais il n'est pas évident pour moi que le Fresnel d'une normale représentative équivaut à intégrer le Fresnel de toutes les normales réelles.H

Julien Guertault
la source

Réponses:

8

Dans l'article de Schlick de 1994, "An Inexpensive Model for Physically-Based Rendering" , où ils dérivent l'approximation, la formule est:

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

Description des vecteurs

θ

Vreflect(V)
NH

D(hr)H

Quant à savoir pourquoi nous utilisons Fresnel dans un BRDF, cela a à voir avec le fait qu'un BRDF à lui seul n'est qu'une partie du BSDF complet. Un BRDF atténue la partie réfléchie de la lumière et un BTDF atténue le réfracté. Nous utilisons le Fresnel pour calculer la quantité de lumière réfléchie par rapport à la lumière réfractée, afin de pouvoir l'atténuer correctement avec le BRDF et le 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

DFHVV

RichieSams
la source
Oh, j'avais totalement raté que c'était déjà un résultat dans le journal. Cela l'efface certainement. :) Je vais devoir le relire pour mieux comprendre comment il s'intègre dans le BRDF.
Julien Guertault
7

HN

Tu as écrit,

J'ai du mal à comprendre pourquoi nous pouvons encore utiliser cette formule dans un BRDF, qui est censé approximer l'intégrale sur tout l'hémisphère.

Ce n'est pas. Le BRDF en lui-même ne se rapproche pas de l'intégrale sur tout l'hémisphère. L'équation de rendu fait cela: vous intégrez sur toutes les directions de lumière entrantes, mais chaque fois que le BRDF à l'intérieur de l'intégrale est évalué, c'est pour un choix spécifique de directions de rayons entrants et sortants.

LVH=normalize(L+V)

HLVLHVH

LV

R=reflect(V,N)RNVN

Nathan Reed
la source