Adaptive Wavelet Rendering

Ryan S. Overbeck
Craig Donner
Ravi Ramamoorthi
Columbia University
Columbia University
University of California, Berkeley
SIGGRAPH Asia 2009
Antialiasing
+ Depth of Field
Antialiasing
+ Depth of Field
+ Motion Blur
Antialiasing
+ Depth of Field
+ Environment Lighting
Antialiasing
+ Depth of Field
+ Area Lighting
+ Diffuse Interreflections
Chess Image
Pool Image
Plants Image
Sibenik Image
Chess Sample Density
Pool Sample Density
Plants Sample Density
Sibenik Sample Density
Average 32 samples per pixel
Average 32 samples per pixel Average 32 samples per pixel Average 32 samples per pixel
5.05 minutes
16.23 minutes
34.37 minutes
15 minutes
Abstract
Effects such as depth of field, area lighting, antialiasing and global illumination require evaluating a complex high-dimensional integral at each pixel of an image.  We develop a new adaptive rendering algorithm that greatly reduces the number of samples needed for Monte Carlo integration. Our method renders directly into an image-space wavelet basis.  First, we adaptively distribute Monte Carlo samples to reduce the variance of the wavelet basis' scale coefficients, while using the wavelet coefficients to find edges.  Working in wavelets, rather than pixels, allows us to sample not only image-space edges but also other features that are smooth in the image plane but have high variance in other integral dimensions.  In the second stage, we reconstruct the image from these samples by using a suitable wavelet approximation.  We achieve this by subtracting an estimate of the error in each wavelet coefficient from its magnitude, effectively producing the smoothest image consistent with the rendering samples.  Our algorithm renders scenes with significantly fewer samples than basic Monte Carlo or adaptive techniques.  Moreover, the method introduces minimal overhead, and can be efficiently included in an optimized ray-tracing system. 

@article{Overbeck09AWR,
author = {Ryan S. Overbeck and Craig Donner and Ravi Ramamoorthi},
title = {{A}daptive {W}avelet {R}endering},
journal = {ACM Transactions on Graphics (SIGGRAPH Asia 09)},
volume = {28},
number = {5},
pages = {1--12},
year = {2009},
}
Files


Paper: [PDF]
Chess Scene Animation Test:
AWR_Chess_Animation.avi
Figure Images:
AWR_Images.zip
Presentation Files:
AWR.pptx (PowerPoint 2007), pool4_32.wmv, AWR.ppt (for PowerPoint 97-2003)
Fast Forward: AWRFastForward.wmv
Code for the core algorithms: Wvltr.zip, README.txt




News

March 12, 2010
I've added the code which implements the core algorithms to this page.  Note that this code will not compile by itself.  It is intended to help people include the algorithm in their own renderers.  I still hope to release the rest of my rendering code, but it's tough to get free cycles.

Please, read the README.txt before contacting me about problems :)

Enjoy!
-ryan


Jan. 24, 2010
I do plan on releasing source code for this project.  Hopefully, within the next month, so keep checking back if you're interested.

Cheers!
-ryan


For questions:
  For questions: