Images we will render during the course. 3D data courtesy of Wenzel Jakob, Jonas Pilo, and Bernhard Vogl.
Images past students rendered for their final project.
Authors from left top:
Xin Sheng & Jieyi Huang,
Yiwei Zhang & Minnan Zhou,
Minnan Zhou,
Baichuan Peter Wu,
Minjian Xin,
Yijian Liu, Zhongrui Cao, Issac Nealey, Haolin Lu, Sarah Ekaireb,
Xinyuan Liang, Mrigankshi Kapoor & Keli Wang,
Kangming Yu & Zimu Guan,
Course Description
This course discusses modern physically-based rendering techniques. Given a 3D scene description including the geometry, how surfaces and volumes reflect lights, the light source emission profiles, and the pose of a camera, physically-based rendering simulates the interactions between photons, surfaces, and volumes and produces an image. Physically-based rendering is central to computer graphics, and is becoming ever more crucial to domains outside of graphics such as computer vision, computational imaging, machine learning, and robotics, with applications in autonomous driving, training artificial intelligence agents, biomedical imaging, photography, and more. We will go through how we model the appearance of scenes (e.g., how do hair reflect lights? do objects change appearance when they become wet?), how we simulate light transport of surfaces and volumes efficiently, and how we invert the light transport process via differentiation.
Throughout the course, we will build a renderer with the capability of rendering layered materials, volumes, and more with modern rendering algorithms. We will also play a bit with modern real-time rendering engines such as Unreal Engine 5.
If you have taken CSE 168 and want more -- you should come!
If not, make sure you are familiar with the content in the Required Knowledge.
Required Knowledge
Vector calculus, probability, and C++ programming. Go through all three books in the ray tracing in one weekend series if you are not familiar with the topic.
Lectures: Monday/Wednesday/Friday 2:00pm-2:50pm at PCYNH 121
Instructor office hour: Wednesday 3-4pm at CSE 4116.
TA office hour: Tuesday 3:30-4:30pm at CSE B250A.
We will do most of the online discussions on Piazza.
Grading
There will be 3 programming homeworks (20% each) and 1 final project (40%).
A bonus 10% is also associated with questions submitted on Canvas (1% for each question each week).
Late penalty: score * clamp(1 - (seconds passed after midnight of the deadline day) / (86400*7), 0, 1) (no late submission for the final project)
We will use the time on Canvas to determine how many seconds have passed.
Homeworks and Projects
The homeworks involve quite a bit of programming and can be tough for the inexperienced. Start early and ask questions!
Many of them will be based on the lajolla renderer.
Final Project (40%): proposal due 2/28, check point due 3/10, final due 3/20.
Collaboration policy: for the homeworks, you need to do it yourself (you are free to discuss between peers). For the final project,
you can have a team maximum of 2 people.
2/21/2025 (Fri): Path-replay backpropagation, and differentiable rendering systems. [slides] (skipped due to interest of time, I uploaded the slides of my workshop talk for people who are interested)