Physics-Based Rendering

Course ID 15468

Description This course is an introduction to physics-based rendering at the advanced undergraduate and introductory graduate level. During the course, we will cover fundamentals of light transport, including topics such as the rendering and radiative transfer equation, light transport operators, path integral formulations, and approximations such as diffusion and single scattering. Additionally, we will discuss state-of-the-art models for illumination, surface and volumetric scattering, and sensors. Finally, we will use these theoretical foundations to develop Monte Carlo algorithms and sampling techniques for efficiently simulating physically-accurate images. Towards the end of the course, we will look at advanced topics such as rendering wave optics, neural rendering, and differentiable rendering. The course has a strong programming component, during which students will develop their own working implementation of a physics-based renderer, including support for a variety of rendering algorithms, materials, illumination sources, and sensors. The project also includes a final project, during which students will select and implement some advanced rendering technique, and use their implementation to produce an image that is both technically and artistically compelling. The course will conclude with a rendering competition, where students submit their rendered images to win prizes. Cross-listing: This is both an advanced undergraduate and introductory graduate course, and it is cross-listed as 15-468 (for undergraduate students), 15-668 (for Master's students), and 15-868 (for PhD students). Please make sure to register for the section of the class that matches your current enrollment status.

Required Background Knowledge
This course requires familiarity with linear algebra, calculus, programming, data structures, algorithms, and doing computations with images. In particular, either of the following courses can serve as proof that you satisfy these prerequisites:

16-385 Computer Vision, OR
16-720 Computer Vision, OR
15-462 Computer Graphics.
If you want to enroll but have not taken any of the above courses, please make sure to contact the instructor! We make a lot of exceptions each year, on a case-by-case basis.

Learning Resources
Readings will be assigned primarily from the following textbooks, which can also be useful references in general. All of them are available online from the CMU library:
Ray Tracing series (In One Weekend, The Next Week, The Rest of your Life), by Peter Shirley.
Physically Based Rendering: From Theory To Implementation, by Matt Pharr, Wenzel Jakob, and Greg Humphreys.
Advanced Global Illumination, by Philip Dutre, Philippe Bekaert, Kavita Bala.

Assessment Structure
Four two-week programming assignments (50%).
Ten take-home quizzes (20%).
Final project and rendering competition (25%).
Class participation (5%).

Course Link
http://graphics.cs.cmu.edu/courses/15-468/