Abstract:
This paper proposes a non-diffuse global illumination algorithm
that is fast enough to be appropriate for interactive walkthroughs
and general animations. To meet the severe performance
requirements, we heavily exploit coherence both in time and space,
and use randomization to reduce the time and storage complexity.
To speed up convergence and to support animation, the approximation of the
radiance is stored
in object space as well. However, in order to reduce the
high memory requirements of such representations and to reduce finite-element
artifacts, we use just a random approximation, which fluctuates around
the real radiance function.
The direction dependent radiance approximation is represented in a compact way,
by four random variables per patch. The key of performance is then to make the error,
i.e. the variance of this compact approximation as small as possible. In addition to
main part separation, we apply a novel sampling scheme inspired by the Metropolis method
to achieve this goal. In this algorithm light transfers are computed by
both local and global methods using ray bundles and with the support of the graphics hardware.
We conclude that both local and global approaches fail to efficiently compute all types of transfers, thus
cannot be used alone. However, with the aid of multiple importance sampling, the merits
of the two light transfer methods can be combined resulting in an algorithm that is
robust and fast enough for animations. On the other hand, ray bundles, especially
global ones, can update the illumination quickly when objects
move, since they can efficiently identify which light paths became
invalid.