Ideal Specular BTDF back
Board:
Home
Board index
Raytracing
General Development
(L) [2016/05/24] [ost
by shocker_0x15] [Ideal Specular BTDF] Wayback!Hi,
I have had a question for a long time about ideal specular BTDF (BRDF).
Ideal specular BRDF and BTDF are:
f_r(w_i, w_o) = F(theta_i) * delta(w_o - R(w_i, n)) / |cos(theta_i)|
f_t(w_i, w_o) = (eta_o / eta_i)^2 * (1 - F(theta_i)) * delta(w_o - T(w_i, n)) / |cos(theta_i)|
where F(theta) is Fresnel reflectance, R(w, n) and T(w, n) are functions that returns reflected or refracted directions, eta_o and eta_i are index of refraction of media in which scattered and incident directions are.
Q. Why are they divided by the cosine of angle of incident direction instead of scattered direction?
I think scattered radiance should be divided by the cosine of scattered angle.
If Fresnel term already accounts for cosine of incident angle (that is also in rendering equation) and cosine of scattered angle (in this case Fresnel term represents incident radiance to scattered radiance ratio?), it seems reasonable for BRDF but not for BTDF. Who accounts for cosine of refracted angle for BTDF?
In general BTDF does not obey reciprocity, but for basic radiance (L/eta^2) it restores reciprocity.
I think it appears that the ideal specular BTDF does not obey reciprocity even for basic radiance.
Which is my misunderstanding?
Sorry for my poor English.
Thanks,
(L) [2016/07/18] [ost
by sriravic] [Ideal Specular BTDF] Wayback!Hello
The BTDF can be derived as follows. For incoming light L_i that hits a specular material with BRDF (F), L_o is the exitant radiance
L_o = F x L_i.
Since in path tracing, we generally come from the outgoing direction and sample the incoming direction, for w_o, w_i is the mirror direction. The delta(w_o - R(w_i, n)) is basically the delta function that evaluates the function 'f' that it's multiplied with at the R(w_i, n) direction (signal processing - integral(f_x . delta(x-k) dx) = f(k)). Hence fresnel function is evaluated for the mirror direction. However since the rendering equations is actually
L_o = integral(brdf x radiance x cos_theta(i)),
we need a way to make the output radiance just the product of the incoming radiance and brdf term and cancel out the cosine. Hence we incorporate the cosine term as the dividing factor in the brdf . (veach's thesis has a pretty good derivation for this BRDF). Hope this helps.
(L) [2016/08/12] [ost
by shocker_0x15] [Ideal Specular BTDF] Wayback!Thanks sriravic and sorry to be late [SMILEY :)]
I can understand why the ideal specular BRDF/BTDF should have the cosine dividing.
BRDF has reciprocity, so it has the same value if it takes swapped directions:
f_r(w_i, w_o) = f_r(w_o, w_i)
It is easy to confirm the ideal specular BRDF obey this relation.
BTDF doesn't have reciprocity, but it has generalized relation (e.g. according to the eq. 5.14 in the Veach's thesis):
f_t(w_i, w_o) / eta_o^2 = f_t(w_o, w_i) / eta_i^2
My question is that the ideal specular BTDF appears NOT to obey the above relation.
f_t(w_i, w_o) = (eta_o / eta_i)^2 * (1 - F(theta_i)) * delta(w_o - T(w_i, n)) / |cos(theta_i)|
f_t(w_o, w_i) = (eta_i / eta_o)^2 * (1 - F(theta_o)) * delta(w_i - T(w_o, n)) / |cos(theta_o)|
In this case, it appears that f_t(w_i, w_o) / eta_o^2 != f_t(w_o, w_i) / eta_i^2
Is there some magic to make the relation true in the Dirac's delta distribution?
Thanks
back