Computer Graphics Laboratory ETH Zurich


Computer Graphics - AS 19


  • Rendering Competition 2019 results are now available.
  • Previous Computer Graphics exam: Exam 2015, Exam 2017
  • There will be a talk about Rendering VFX at Weta Digital by Jirka Vorba on Thursday 19.12.2019 at 09:00 in CAB G 61.
  • There will be a special lecture by Maurizio Nitti, digital artist at Disney Research Studios, during the exercise session on 29.11.2019, which can be very helpful for the final project.
  • The rooms for the lecture changed. The lecture on Monday will be in HG D 7.2 and the lecture on Friday will be in HG E 1.1. The exercise sessions are still in HG D 1.1.
  • First lecture and exercise session are on Friday 20.09.2019. A lot of important information will be given, so please do not miss it.


This course covers fundamental concepts of modern computer graphics. Students will learn about 3D object representations and the details of how to generate photorealistic images from digital representations of 3D scenes. Starting with an introduction to 3D shape modeling, geometry representation and texture mapping, we will move on to the physics of light transport, acceleration structures, appearance modeling and Monte Carlo integration. We will apply these principles for computing light transport of direct and global illumination due to surfaces and participating media. We will end with an overview of modern image-based capture and image synthesis methods, covering topics such as geometry and material capture, light-fields and depth-image based rendering.


At the end of the course the students will be able to build a rendering system. The students will study the basic principles of rendering and image synthesis. In addition, the course is intended to stimulate the students' curiosity to explore the field of computer graphics in subsequent courses or on their own.


Fundamentals of calculus and linear algebra, basic concepts of algorithms and data structures, programming skills in C++, Visual Computing course 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, light fields, (depth) image based rendering, image based variance reduction,video based rendering.


Programming exercise

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.

Rendering Competition

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 last year's Rendering Competition.

General remarks and late policy

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 Dominik Borer
Xianyao Zhang
Ana Dodik
Course Location Monday 13–14, HG D 7.2
Friday 10–12, HG E 1.1
Exercise Location Friday 13–15, HG D 1.1
ECTS Credits 7 credits
Exam 120 minutes, written exam (in English!)