a Falcor render-pass for ReSTIR Based Direct Lighting, inspired by RTXDI.
Add this project into the Falcor solution.
After building this pass, you can load the render graph scripts under the project folder via Mogwai.
I only used Falcor Light Sampler, including a hierarchical environment map sampler(see EnvMapSampler) and an Alias-Method power-based emissive triangle sampler(see EmissivePowerSampler). If you want to support more light types(such as point light, directional light) or more efficient light sampling techniques, you need to implement corresponding light samplers as initial sampling primitives.
For simplicity, I used VBuffer instead of GBuffer, but VBuffer may lead to more computation overhead.
I did not do tricks like Pre-Sampling, Decoupled Shading(see HPG2021 Rearch ReSTIR). If you want to improve performance further, you need to implement this kind of thing by yourself.
I only implemented spatial resampling de-bias. You need to implement temporal de-bias by yourself.