**A Gentle Introduction to ReSTIR:
Path Reuse in Real-time**
**[ACM SIGGRAPH 2023 Courses](https://doi.org/10.1145/3587423.3595511)**
**[Chris Wyman](http://cwyman.org), [Markus Kettunen](https://research.nvidia.com/person/markus-kettunen), [Daqi Lin](https://dqlin.xyz/), [Benedikt Bitterli](https://benedikt-bitterli.me/), [Cem Yuksel](http://www.cemyuksel.com/), [Wojciech Jarosz](https://cs.dartmouth.edu/~wjarosz/), [Pawel Kozlowski](https://www.linkedin.com/in/pawel-kozlowski-1870b154/), and [Giovanni De Francesco](https://www.linkedin.com/in/giovanni-de-francesco-62721829/)**
Veach's Door scene comparing naive path tracing to ReSTIR, the [Blender Classroom](https://www.blender.org/download/demo-files/), Amusement Park with 3 million emissives, and [San Miguel](https://casual-effects.com/data/) with added emissive lights.
(##) Course Video / Streaming
A video of our course presentation at SIGGRAPH 2023 is available in the [ACM Digital Library](https://dl.acm.org/) on the [page for our course](https://dl.acm.org/doi/10.1145/3587423.3595511).
If you do not subscribe to the ACM Digital Library, the video is **freely available**. To access it freely, you may need to navigate to our course page in a very specific way.
[Go to this page](https://www.siggraph.org/wp-content/uploads/2023/07/ACM-SIGGRAPH-2023-Courses.html) and then click on our course (which is conveniently first).
The video link should appear after the abstract and is available either to stream or download.
(##) Course Notes
Besides the presentations, below, we prepared [longer course notes](presentations/2023ReSTIR_Course_Notes.pdf). (Updated: Mar 4, 2024).
For people new to ReSTIR, start with [our notes](presentations/2023ReSTIR_Course_Notes.pdf); don't read our papers chronologically. (We've learned many things since we wrote our papers; learn these the easy way, via our notes.)
(##) Course Schedule
| Title | Slides* | Speaker
:----------------:|------------------------------------------------------|--------|:--------:
2:00-2:05 | Welcome and Introductions | [[PPT](presentations/2023ReSTIR_Course_Welcome.pptx)] [[PDF](presentations/2023ReSTIR_Course_Welcome.pdf)]| Chris
2:05-2:20 | Motivation & Preliminaries | [[PPT](presentations/2023ReSTIR_Course_Preliminaries.pptx)] [[PDF](presentations/2023ReSTIR_Course_Preliminaries.pdf)] | Cem
2:20-2:40 | Resampled Importance Sampling (RIS) | [[PPT](presentations/2023ReSTIR_Course_RIS.pptx)] [[PDF](presentations/2023ReSTIR_Course_RIS.pdf)] | Markus
2:40-3:10 | Direct Light; Adding Spatiotemporal Reuse | [[PPT](presentations/2023ReSTIR_Course_DirectLight_and_Spatiotemporal.pptx)] [[PDF](presentations/2023ReSTIR_Course_DirectLight_and_Spatiotemporal.pdf)] | Benedikt
3:10-3:25 | Reusing Samples Between Domains | [[PPT](presentations/2023ReSTIR_Course_ReuseBetweenDomains.pptx)] [[PDF](presentations/2023ReSTIR_Course_ReuseBetweenDomains.pdf)] | Markus
3:25-3:45 | Extending Sample Reuse to Paths | [[PPT](presentations/2023ReSTIR_Course_ExtendingReuse.pptx)] [[PDF](presentations/2023ReSTIR_Course_ExtendingReuse.pdf)] | Daqi
3:45-4:00 | Making ReSTIR Fast (Optimizations) | [[PPT](presentations/2023ReSTIR_Course_AlgorithmicOptimizations.pptx)] [[PDF](presentations/2023ReSTIR_Course_AlgorithmicOptimizations.pdf)] | Daqi
4:00-4:15 | Making ReSTIR Fast (Algorithmic Changes) | [[PPT](presentations/2023ReSTIR_Course_LowLevelOptimizations.pptx)] [[PDF](presentations/2023ReSTIR_Course_LowLevelOptimizations.pdf)] | Chris
4:15-4:22 | ReSTIR Integration in _Cyberpunk 2077_ | [[MOV](presentations/2023ReSTIR_Course_GiovanniDeFrancesco.mov)] | Giovanni
4:22-4:40 | ReSTIR Integration in _Cyberpunk 2077_ | [[PPT](presentations/2023ReSTIR_Course_Cyberpunk_2077_Integration.pptx)] [[PDF](presentations/2023ReSTIR_Course_Cyberpunk_2077_Integration.pdf)] | Pawel
4:40-4:50 | Open Problems and Future Directions | N/A | All / Panel
4:50-5:00 | Q & A Session | N/A | All / Panel
* Note: Some presentations heavily use slide transitions and builds, which are lost in the PDFs.
(##) Speaker Biographies
[Chris Wyman](http://cwyman.org) _(Organizer)_ is a Distinguished Research Scientist at [NVIDIA](http://www.nvidia.com) in Redmond, WA, overseeing and participating in research improving sample reuse, including helping transfer knowledge to (internal and external) product groups looking to accelerate their renderers. He has spoken in, co-authored, or organized six different SIGGRAPH courses and was an Associate Professor at the [University of Iowa](https://uiowa.edu/) for 10 years. Chris has a PhD from the [University of Utah](http://www.utah.edu/) and a BS from the [University of Minnesota](https://twin-cities.umn.edu/).
[Markus Kettunen](https://research.nvidia.com/person/markus-kettunen) _(Speaker)_ is a Senior Research Scientist at [NVIDIA](http://www.nvidia.com), in Helsinki, and has been vital in evolving the statistical theory behind resampling to remain robust and unbiased even when borrowing samples from different integration domains. Before joining NVIDIA as a postdoc, he received a PhD from [Aalto University](https://www.aalto.fi/), a MSc from the [University of Helsinki](https://www.helsinki.fi/), and has experience working on [Weta’s Manuka](https://www.wetafx.co.nz/research-and-tech/technology/manuka/) renderer and developing graphics solutions for the automotive industry.
[Daqi Lin](https://dqlin.xyz/) _(Speaker)_ is a Research Scientist at [NVIDIA](http://www.nvidia.com), in Redmond, WA. As a graduate student, he led development and implementation of complex path resampling in [volumetric media](https://graphics.cs.utah.edu/research/projects/volumetric-restir/) and for [complex non-diffuse paths](https://graphics.cs.utah.edu/research/projects/gris/). At NVIDIA he helped make this code faster and more robust, and is continuing to evolve ReSTIR to better reduce variance and correlations for more complex path types. He has a PhD from the [University of Utah](http://www.utah.edu/) and a BS from the [National University of Singapore](https://nus.edu.sg/).
[Benedikt Bitterli](https://benedikt-bitterli.me/) _(Speaker)_ is a Senior Research Scientist at [NVIDIA](http://www.nvidia.com), in Redmond, WA, where he has been investigating a variety of rendering problems including sampling, new material models, and applications of deep learning in real-time rendering. He led the research for the first ReSTIR paper targeting direct lighting for dynamic many-light scenes. He has a PhD from [Dartmouth College](https://home.dartmouth.edu/), a BS and MSc from [ETH Zurich](https://ethz.ch/en.html), and has both research and production experience from [Disney Research](https://www.disneyresearch.com/) and [Walt Disney Animation Studios](https://disneyanimation.com/).
[Cem Yuksel](http://www.cemyuksel.com/) _(Speaker)_ is an Associate Professor at the [University of Utah](http://www.utah.edu/) in Salt Lake City, UT, a Senior Scientist at [Roblox Research](https://corp.roblox.com/research/), and the Founder of [Cyber Radiance LLC](http://www.hair-farm.com/). His research covers numerous areas in computer graphics, from hardware to physically-based simulations to geometry and modeling to sampling and rendering. He has co-authored and organized two prior SIGGRAPH courses. Before joining the University of Utah, he did a postdoc at [Cornell University](https://www.cornell.edu/) and has a PhD from [Texas A&M University](https://www.tamu.edu/index.html).
[Wojciech Jarosz](https://cs.dartmouth.edu/~wjarosz/) _(Co-Author)_ is an Associate Professor at [Dartmouth College](https://home.dartmouth.edu/), where he co-founded the Visual Computing Lab. Before joining Dartmouth, he was a Senior Research Scientist in charge of rendering at [Disney Research Zurich](https://disneyresearch.com) and an adjunct lecturer at [ETH Zurich](https://ethz.ch/en.html). He has a PhD and MS from [UC San Diego](https://ucsd.edu/) and a BS from the [University of Illinois at Urbana-Champaign](https://illinois.edu/).
[Pawel Kozlowski](https://www.linkedin.com/in/pawel-kozlowski-1870b154/) _(Speaker)_ is a Principal Developer Technology Engineer in the Developer and Performance Technology group at [NVIDIA](http://www.nvidia.com) with over 10 years of experience in computer graphics. He focuses on integrating path tracing into the current game engines, which spans the domains of sampling and denoising algorithms, and delivering the best GPU performance possible to gamers on the GeForce platform. Unconventionally, he developed his interest in real-time graphics while pursuing his Ph.D. in medical imaging at [GE Healthcare](https://www.gehealthcare.com/) and the [University of Oslo](https://www.uio.no/english/), Norway, where he worked with volume rendering for 3D cardiac ultrasound.
[Giovanni De Francesco](https://www.linkedin.com/in/giovanni-de-francesco-62721829/) _(Speaker)_ is a Senior Lighting Technical Artist at [CD Projekt Red](https://www.cdprojektred.com/en) where he strives for world-class aesthetics in games. He designs and tests tools for the lighting team, ensuring best practices even when using cutting edge rendering techniques. Before joining CD Projekt Red, he worked at [inVRsion](https://www.invrsion.com/) on lighting in VR, Clay Milano on commercials, in addition to lighting roles elsewhere.
(##) Course Bibtex Entry
~~~~~~~~~~~~~~~~~~~
@inproceedings{Wyman:2023:Gentle,
author = {Chris Wyman and Markus Kettunen and Daqi Lin and Benedikt Bitterli
and Cem Yuksel and Wojciech Jarosz and Pawel Kozlowski
and Giovanni De Francesco},
title = {A Gentle Introduction to ReSTIR: Path Reuse in Real-time},
booktitle = {ACM SIGGRAPH 2023 Courses},
year = {2023},
month = {August},
location = {Los Angeles, California},
doi = {10.1145/3587423.3595511},
}
~~~~~~~~~~~~~~~~~~~