[Bf-committers] About Final Gathering

Brecht Van Lommel brecht at blender.org
Mon Apr 6 21:44:42 CEST 2009


Hi,

On Mon, 2009-04-06 at 12:37 -0400, echelon at infomail.upr.edu.cu wrote:
>   for the photon mapping build I have implemented now a first draft of
> final gathering according to the algorithm definition but I have still
> several doubts about it.
>    with FG you shoot random rays to gather illumination samples from the
> photon map (done), but that way you get high frecyuency noise and that
> is not observed in other softwares final gather algoritms.
>   did they use some sort of interpolation?
> 
>  I have searched for the web about final gathering papers but the vast
> majority only talk about the photon mapping and briefly cover final
> gather

It's basically the same problem as ambient occlusion, and all software
that does this kind of final gather will give noise if you don't set the
number of samples high enough.

The noise can be reduced by using a better sample distribution than pure
random, like QMC as used for AO in Blender. Besides that interpolation
is indeed used a lot, look for "Irradiance Caching", for example here:
http://www.graphics.cornell.edu/~jaroslav/papers/2008-irradiance_caching_class/index.htm

With interpolation, you're still only converting high frequency into low
frequency noise which doesn't look great either, and doing irradiance
caching based on noisy values doesn't work that well. So it's not really
a solution to eliminating noise, it's a way to do fewer gathers.
Multiple hundreds of rays per gather are pretty much required to get rid
of the noise I think.

Approximate AO does some very simple screen space interpolation. That
code can probably be quickly adapted to get a speedup, but it has room
for improvement.

Brecht.



More information about the Bf-committers mailing list