## Ideal Specular BTDF

Practical and theoretical implementation discussion.
shocker_0x15
Posts: 75
Joined: Sun Aug 19, 2012 3:24 pm
Contact:

### Ideal Specular BTDF

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,

sriravic
Posts: 20
Joined: Fri Jun 22, 2012 6:48 pm

### Re: Ideal Specular BTDF

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.

shocker_0x15
Posts: 75
Joined: Sun Aug 19, 2012 3:24 pm
Contact:

### Re: Ideal Specular BTDF

Thanks sriravic and sorry to be late 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