Energy conservation vs. energy normalization back

Board: Home Board index Raytracing General Development

(L) [2016/03/17] [tby asyrov] [Energy conservation vs. energy normalization] Wayback!

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!
(L) [2016/03/17] [tby shocker_0x15] [Energy conservation vs. energy normalization] Wayback!

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.
(L) [2016/03/17] [tby ingenious] [Energy conservation vs. energy normalization] Wayback!

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.
(L) [2016/03/17] [tby shocker_0x15] [Energy conservation vs. energy normalization] Wayback!

Ah, I have misunderstood.
Forget my post please  [SMILEY :)]
(L) [2016/03/17] [tby asyrov] [Energy conservation vs. energy normalization] Wayback!

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

back