• Advertisement
Sign in to follow this  

BRDF energy conservation

This topic is 4212 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by leonhard
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


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).


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?

EDIT: found a nice proof here: http://graphics.stanford.edu/papers/veach_thesis/

[Edited by - leonhard on August 11, 2006 11:07:44 AM]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement