Area ReSTIR: Resampling for Real-Time Defocus and Antialiasing
Song Zhang (University of Utah), Daqi Lin (NVIDIA), Markus Kettunen (NVIDIA), Cem Yuksel (University of Utah), Chris Wyman (NVIDIA)
(*Joint first authors)
Utah Graphics Research Page
NVIDIA Real-Time Graphics Research Page
Area ReSTIR extends ReSTIR reservoirs to also integrate each pixel's 4D ray space, including 2D areas on the film and lens. To maximize resampling quality on subpixel and lens region, it also includes novel subpixel-tracking temporal reuse and reconnection shift mapping. Compare to [Bitterli et al. 2020] (ReSTIR DI) and [Lin et al. 2022] (ReSTIR PT), our Area ReSTIR has significant improvements on bokeh, foliage, hair, and detailed normal maps.
Source\Modules\AreaReSTIR
) in Falcor 7.0.
See README_Falcor.md for the original README file provided by Falcor.RunAreaReSTIR.bat
is provided to show how the method works in an animated version of the Bistro scene (from NVIDIA Ocra's Amazon Lumberyard Bistro).PathTracer
render pass in Falcor, we also change some Falcor's source code to support storing previous frame's scene data, so just copying Source\Modules\AreaReSTIR
to another Falcor project (or your project) will lead to bias/errors.IMPORTANT: We use git submodules to download dependencies! Downloading the git repository as a .zip (rather than using git clone) will ensure you lack required dependencies, and the build scripts will fail.
After cloning the repository:
setup_vs2022.bat
build/window-vs2022/Falcor.sln
and the Build Solution
in the Release
configurationdata\Bistro\
.RunAreaReSTIR_Bistro.bat
."optimizeShift2RIS" : False
at the end of areaReSITROptions
inside PathTracerAreaReSTIR_BistroDemo.py
. In this case, the memeory cost can be reduce, but performance will be worse.PathTracerAreaReSTIR.py
, and finally load a scene file.BistroExteriorOrigin.pyscene
for how to create a camera with custom apertures and animation path (more details).