UCSD CSE 272: Advanced Image Synthesis (Winter 2023)
Images we will render during the course. 3D data courtesy of Wenzel Jakob, Jonas Pilo, and Bernhard Vogl.
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.
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
Logistics
Lectures: Monday/Wednesday/Friday 11:00am-11:50am at TM102-1 (102 Marshall College)
Instructor office hour: Friday 2pm at CSE 4116.
TA office hour: Monday 1-2pm at B275. Wednesday 12:30-1:30pm at B240a
We will do most of the online discussions on
Piazza.
Grading
There will be 2 programming homeworks (30% each) and 1 final project (40%).
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/27, check point due 3/13, final due 3/23.
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.
Schedule (tentative)
1/9/2022 (Mon): Introduction (Homework 0 out) [slides] [Malley's method]
Next event estimation. Multiple importance sampling. Triangle intersection. Textures. Shading normals. Environment maps.
1/13/2022 (Fri): Bidirectional Reflectance/Scattering Distribution Functions [slides]
1/16/2022 (Mon): Martin Luther King's day, no class this day.
1/18/2022 (Wed): Uber BSDF (Homework 1 out) [slides]
1/20/2022 (Fri): Normal map filtering [slides]
1/23/2022 (Mon): Layered BSDFs [slides]
1/25/2022 (Wed): Hair and Cloth [slides]
1/27/2022 (Fri): Wave-based BSDFs [slides]
1/30/2022 (Mon): Participating media (Homework 1 due, Homework 2 out) [slides]
Radiative tranfer equation. Transmittance. Phase function. Rayleigh scattering.
2/1/2022 (Wed): Transmittance estimation and free-flight sampling [slides]
Ray marching. Delta tracking. Ratio tracking. Null-scattering formulation.
2/3/2022 (Fri): Microflake theory [slides]
2/6/2022 (Mon): Diffusion approximation [slides]
2/8/2022 (Wed): Differentiable rendering 1 [slides]
Automatic differentiation.
Edge sampling. Reynolds transport theorem.
2/10/2022 (Fri): Differentiable rendering 2 [slides]
2/13/2022 (Mon): Differentiable rendering 3 [slides]
2/15/2022 (Wed): Stratification [slides]
Jittered sampling. Blue-noise sampling. Frequency analysis.
2/17/2022 (Fri): Stratification 2 [slides]
Van Der Corput sequence. Halton/Hammersley sequences. Owen scrambling. Rank-1 lattice. Sobol' sequences.
2/20/2022 (Mon): President day, no class this day. (Homework 2 due)
2/22/2022 (Wed): Path-space and bidirectional path tracing [slides]
2/24/2022 (Fri): Photon mapping and its combination with bidirectional path tracing [slides]
Photon mapping. Bias-variance analysis of density estimation. UPS/VCM. UPBP.
2/27/2022 (Mon): Metropolis light transport (Final project proposal due) [slides]
Markov chain Monte Carlo. Kelemen-style and Veach-style. Langevin/Hamiltonian Monte Carlo.
3/1/2022 (Wed): Rendering specular light paths [slides]
3/3/2022 (Fri): Multiple importance sampling++ [slides]
3/6/2022 (Mon): Many-light rendering [slides]
3/8/2022 (Wed): Path re-using and importance resampling [slides]
3/10/2022 (Fri): Production rendering [slides]
History of Computer Animation. Micropolygons.
Ptex. Programmable shaders. Texture caches. Case studies: PRman, Manuka, Hyperion, and Arnold.
3/13/2022 (Mon): GPU architectures (Final project check point) [slides]
Rasterization/ray tracing. Architecture design. Coherency. Parallelism.
3/15/2022 (Wed): Nanite/real-time rendering [slides]
Streaming. Real-time rasterization.
3/17/2022 (Fri): 100 weird tricks for your renderers [slides]
Alias table. TaggedPointer. Monte Carlo debiasing. Cosine-weighted hemisphere sampling without tangents.
3/23/2022 (Thu): Final project due