Incoming First-shot for Non-Diffuse Global Illumination
Szirmay-Kalos László, Mateu Sbert, Roel Martinez,
Robert Tobler
Department of Control Engineering and Information Technology, Technical
University of Budapest,
Budapest, Muegyetem rkp. 11, H-1111, HUNGARY
szirmay@fsz.bme.hu
Abstract:
This paper presents a method that can replace the small and medium size
lightsources by their effect in non-diffuse global illumination algorithms.
Incoming first-shot is a generalization of a preprocessing technique called
the first-shot that was developed for speeding up global diffuse radiosity
algorithms. In order to reduce the prohivitive memory requirements of the
original first-shot when it is applied to non-diffuse scenes in a direct
manner, the proposed new method computes and stores only the incoming
radiance generated by the lightsources and the reflected radiance is obtained
from the incoming radiance on-the-fly taking into account the local BRDF
and whether or not the actual viewing direction is in a highlight. Since
the radiance function of the reflection is smoother and flatter then the
original lightsource function, this replacement makes the integrand of
the rerdering equation have significantly smaller variation, which can
speed up global illumination algorithms. The paper also discusses how the
first-shot technique can be built into a stochastic iteration algorithm
using ray-bundles, and provides run-time statistics.
Keywords:
Non-diffuse global illumination, stochastic iteration, Monte-Carlo quadrature,
global methods, finite-element techniques, bi-directional transfer, constant
radiance term, first-shot
Self-correcting
stochastic iteration with incoming first-shot
After incoming first-shot:
116 seconds
|
incoming first-shot + 50 iterations,
272 seconds
|
incoming first-shot + 100 iterations,
432 seconds
|
After incoming first-shot:
50 seconds
|
incoming first-shot + 10 iterations,
70 seconds
|
incoming first-shot + 70 iterations,
150 seconds
|
After incoming first-shot:
48 seconds
|
incoming first-shot + 10 iterations,
59 seconds
|
incoming first-shot + 70 iterations,
125 seconds
|
Incoming first-shot
Placement of the hemicube
|
The panorama through the 5 faces of the hemicube
|
After incoming first-shot:
50 seconds
|
incoming first-shot + 10 iterations,
70 seconds
|
incoming first-shot + 70 iterations,
150 seconds
|
After incoming first-shot:
48 seconds
|
incoming first-shot + 10 iterations,
59 seconds
|
incoming first-shot + 70 iterations,
125 seconds
|