Reproduce Spatiotemporal Reservoir Resampling for Real-Time Ray Tracing with Dynamic Direct Lighting in OptiX.
This program will load a gltf scene (path is passed through command line arguments) and render it using ReSTIR. Emissive meshes will be treated as light sources. A simple ImGui window can be used to modify some parameters of ReSTIR.
Environment map is currently not supported.
Maybe there are some bugs in implementation of MIS unbiased spatial reuse, the result looks worse.
One may download and install these through site of NVIDIA.
- CUDA
- OptiX 7 SDK
These dependencies are added as git submodules.
One may install these dependencies manually or use vcpkg.
Besides, C++20 and OpenGL 4.5 are used.
4 Passes
- G-buffer
- in
src/shaders/gbuffer.vert
&src/shaders/gbuffer.frag
- in
- Sample to lights, visibility reuse, temporal reuse
- in
src/raytracing/sample.cu
- in
- Spatial reuse
- in
src/raytracing/spatial.cu
- in
- Lighting
- in
src/raytracing/lighting.cu
- in