Recommended Posts

Hi there!
I've got a question concerning the energy conservation of BRDFs. It's always stated as
Int_{Hemisphere} f_r(p, omega_o, omega_i) * cos(theta_i) * d omega_i <= 1 for all omega_o
(f_r is the BRDF and we're integrating over the hemisphere around p, running through all directions omega_i; e.g. p. 250 in "Physically Based Rendering", for all those who also own this great book)
But intuitively, I'd understand energy conservation the other way round: For every (fixed) incoming direction, the sum of all fractions for outgoing energy that are "splitting" up the incoming energy may not exceed one:
cos(theta_i) * Int_{Hemisphere} f_r(p, omega_o, omega_i) * d omega_o <= 1 for all omega_i
But this doesn't seem to be equivalent (even considering the reciprocity of the BRDF). Can someone tell me why the first version is correct / what's flawed with my interpretation?
Regards,
Leonhard

(f_r is the BRDF and we're integrating over the hemisphere around p, running through all directions omega_i; e.g. p. 250 in "Physically Based Rendering", for all those who also own this great book)

But intuitively, I'd understand energy conservation the other way round: For every (fixed) incoming direction, the sum of all fractions for outgoing energy that are "splitting" up the incoming energy may not exceed one:

But this doesn't seem to be equivalent (even considering the reciprocity of the BRDF). Can someone tell me why the first version is correct / what's flawed with my interpretation?

Regards,Leonhard

A BRDF can be greater then 1, because we are talking about an infinitly small point on a function, it's a distribution function. This is very similar in concept to focusing light in a parabolic mirror, the total light coming out is less then the light coming in, but it's all focused in one direction which is much stronger then any incoming ray (e.g. greater then 1).

0

Share this post

Link to post

Share on other sites

Thanks for your answer, EvilDecl81! I took the integral over the BRDF, so it should be okay if it's larger than one in some areas (or even delta-distributed).But meanwhile I think the first version is right because the cosine-term cancels out the term in the BRDF definition. Then it's only an interpretation thing because of reciprocity: On the one hand, the BRDF says with which probability an incoming ray gets reflected into outgoing directions. And on the other hand it also says how a single outgoing ray is made up of many incoming, reflected rays at a certain intensity / probability. So it shouldn't matter if we're integrating over omega_i or omega_o. Am I right on this?