This course covers fundamental and advanced concepts of modern computer graphics. Students will learn the fundamentals of digital scene representations, advanced physically-based light transport algorithms for generating photorealistic images from these scene representations, and inverse rendering methods for recovering digital scene representations from captured images.
At the end of the course, the students will be able to build a rendering system based on path-tracing algorithms. The students will learn the principles of physically-based rendering and computer graphics. In addition, the course is intended to stimulate the student's curiosity to explore the field of computer graphics in subsequent classes or on their own.
Fundamentals of calculus and linear algebra, basic concepts of algorithms and data structures,
programming skills in C++, and the Visual Computing course are recommended.
The programming assignments will be in C++. This will not be taught in the class
The following topics will be covered through the semester: ray tracing, acceleration data structures, radiometry, sampling, BSDFs, Monte Carlo integration, advanced camera models, importance sampling, the rendering equation, global illumination algorithms, participating media, sub-surface scattering, denoising, procedural texturing & modeling, appearance modeling, (depth) image based rendering, image based variance reduction, video based rendering.
In the duration of the course you will implement a renderer, in a series of 4 homework exercises, that will allow you to create realistic images using ray-tracing. The exercises will follow step-by-step the material presented in class, and you will incrementally add functionality to your program and thus more realism to your images. Once the basic functionality is implemented, you are encouraged to extend your program to achieve some advanced effects and experiment with interesting scene compositions, various light transport phenomena, etc. Your exploration should result in a number of images synthesized with your renderer, which you will submit to an in-class Rendering Competition at the end of the semester.
At the end of the semester there will be a rendering competition. The 3D renderer you constructed in your homework assignments will be used to generate realistic images. The best renderings will win cool prizes depending on technical achievement and artistic quality. Here are some results from the last Rendering Competition.
Assignments will be handed out every one or two weeks and will be discussed in the exercise session. Each exercise has a fixed due date at which all the required material has to be handed in. The ONLY exceptions for late submission are military service or illness, both of which require written proof.
There will be a 2-hour written exam covering the topics from the excercises and the ones discussed in class. No additional material is allowed during the exam.
Number | 252-0543-01L |
Lecturers | Prof. Dr. Markus Gross Dr. Marios Papas |
Assistants | Karlis Briedis (karlis.briedisinf.ethz.ch) Daniel Dorda Agon Serifi Rajesh Sharma Lucas Relic Pascal Chang Kehan Xu Fengshi Zheng |
Course Location | Tuesday 13–14, HG F 7 Friday 10–12, HG E 7 |
Exercise Location | Friday 14–16, HG E 7 |
ECTS Credits | 8 credits |
Exam | 120 minutes, written exam (in English) |