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