World-Space ReSTIR in Vulkan
An implementation of World-Space Spatiotemporal Path Resampling for Path Tracing with Vulkan ray tracing, built on Nvidia’s Vulkan ray-tracing renderer. It was the final project for CIS 565, GPU Programming and Architecture, at the University of Pennsylvania, made together with Zhiyi Zhou.
In large scenes it reaches about 40% higher accuracy than screen-space ReSTIR for roughly 5% extra render time.
The renderer runs in five passes:
- G-buffer and initial path sampling
- Hash grid construction: path samples go into a world-space hash grid keyed by position and normal, with cells that grow with distance from the camera
- Spatiotemporal resampling: samples are reused from the previous frame and from neighbouring hash-grid cells
- Final shading of direct and indirect illumination
- Post-processing, including Intel Open Image Denoise
Hash grid
World-space ReSTIR DI
-
Light samples cached in the grid and reused across frames
Spatiotemporal resampling
-
Temporal and spatial reuse
Sponza at 1 sample per pixel
Rough surface
Smooth surface















