# BRDF energy conservation

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

## 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 on other sites
Quote:
 Original post by leonhardHi there!I've got a question concerning the energy conservation of BRDFs. It's always stated asInt_{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_iBut 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 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]

• ### What is your GameDev Story?

In 2019 we are celebrating 20 years of GameDev.net! Share your GameDev Story with us.

• 10
• 11
• 13
• 9
• 11
• ### Forum Statistics

• Total Topics
634088
• Total Posts
3015447
×