Energy conservation vs. energy normalization

Practical and theoretical implementation discussion.
asyrov
Posts: 9
Joined: Mon Oct 12, 2015 9:38 pm

Energy conservation vs. energy normalization

Postby asyrov » Thu Mar 17, 2016 1:28 am

I'm slowly (like 10 lines per week:) ) finishing my hobby path tracer and bit stuck with BRDFs. My current understanding is that BRDF functions are normalized with reflected ray equal to surface normal, and this, for instance, gives (2+n)/(2+pi) factor for Phong model. Yet, this is not energy conversation factor, but rather to ensure that energy is not gained. Energy will be lost with other angles, since this balloon will simply be cut. Is this correct understanding? Thanks!
Attachments
phong.png
phong.png (117.61 KiB) Viewed 3021 times

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

Re: Energy conservation vs. energy normalization

Postby shocker_0x15 » Thu Mar 17, 2016 5:02 am

Hi,

My current understanding is that BRDF functions are normalized with reflected ray equal to surface normal


This is incorrect. A sampled value of energy conserving BRDF can be larger than 1.
For example, ideal specular BRDF is represented as:
fs(vi, vo) = delta(vi - R(vo)) / cos(vo)
This means that this BRDF gets non-zero value when mirrored outgoing ray direction (= R(vo)) perfecly matches incident direction (= vi).
Delta function has an infinite value. Therefore the BRDF value for a ray coming from the normal direction gets much larger than one, it is infinite.

We should consider integration for energy conservation.

ingenious
Posts: 273
Joined: Mon Nov 28, 2011 11:11 pm
Location: London, UK
Contact:

Re: Energy conservation vs. energy normalization

Postby ingenious » Thu Mar 17, 2016 11:24 am

shocker_0x15, he does not have a problem with BRDF values going above one, and he actually computes a proper normalization factor by integrating the unnormalized BRDF.

Indeed, in practice you will lose energy because when the reflected ray is not at normal direction, parts of the BRDF go below the surface and will be clamped to zero. So this is energy conserving (i.e. does not generate energy) but is not energy preserving. Most BRDFs used in practice are not energy preserving, because it's just too hard to compute the correct normalization factor. That is, it's impossible to derive analytically and too costly to accurately approximate numerically.
Image Click here. You'll thank me later.

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

Re: Energy conservation vs. energy normalization

Postby shocker_0x15 » Thu Mar 17, 2016 2:23 pm

Ah, I have misunderstood.
Forget my post please :)

asyrov
Posts: 9
Joined: Mon Oct 12, 2015 9:38 pm

Re: Energy conservation vs. energy normalization

Postby asyrov » Thu Mar 17, 2016 4:42 pm

So, I'm looking in close to right direction. Thanks for your help.


Return to “General Development”

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest