Path-Traced Rendering Pipeline using ReSTIR Direct Illumination for Light Sampling
Chanukya VENEPALLY
Software Development
Path-Traced Rendering Pipeline using ReSTIR Direct Illumination for Light Sampling
I developed a path-traced rendering pipeline using ReSTIR Direct Illumination for light sampling. The goal of my Thesis was to utilize ReSTIR during the direct illumination phase of a path tracer to gain a performance boost in scenarios where there are a large number of lights, without any major compromises to the visual quality. I implemented reservoir sampling to choose lights in a limited number of light samples from the entire pool of lights in an efficient way, as well as temporal and spatial reuse to reuse those selected samples across frames and neighboring pixels— resulting in quickly spreading good samples across the image.
For indirect lighting, I chose reservoir sampling without any reuses to sample lights at each ray hit point, which can be used to shade the hit point. To choose an optimal bounce direction and calculate light contribution at each hit point, I used Lambert BRDF for diffuse and the
microfacet model for specular BRDF. The renderer achieves 120 FPS in scenes with approximately 1,400 point lights under default conditions. When scaling to extreme scenarios with up to 500,000 point lights, the system maintains interactive performance at around 60 FPS. Although such light counts exceed typical real-world use cases, this stress test demonstrates the scalability and robustness of the proposed sampling approach.
Through this project, I developed practical expertise in the Direct3D 12 API and its DirectX Raytracing( DXR) feature set, along with a range of performance optimization techniques for GPU-based rendering. The implementation process also strengthened my skills in real-time rendering, graphics programming, and game engine development.
102 SOFTWARE DEVELOPMENT