Computer Graphics Laboratory ETH Zurich


Image Synthesis - SS 15


Course Topics

This is the webpage for the course 252-5705-00L "Image Synthesis" Spring semester 2015.



In the class we will discuss advanced computer graphics techniques for realistic image synthesis. The goal of the course is to get a broader knowledge of available rendering algorithms and an in-depth understanding of advanced topics in rendering. Students will learn about and implement a variety of core rendering algorithms. We will then build upon this foundation and explore techniques for simulating global illumination, participating media, precomputed radiance transfer, and material models including BRDFs and BSSRDFs.


This course expands upon the rendering foundation taught in the Computer Graphics course. We assume a basic knowledge of ray tracing and shading, and expand significantly on the physics of light transport, discuss the rendering equation, and focus significant time on advanced techniques to enhance the realism of rendered images. We cover both a wider range of rendering algorithms (ray tracing, rasterization, precomputed radiance transfer) as well as more in-depth investigation of rendering specific complex effects (depth-of-field, Monte Carlo sampling, soft shadows, global illumination, participating media). The course includes a rendering competition where students create a realistic image of their choosing using the rendering software they develop in the course.

Course Topics

The following topics will be covered through the semester:

Rasterization, Ray Tracing, Acceleration Data Structures, Sampling & Filtering, Texturing, Bump Mapping, Procedural Texturing & Modeling, Appearance Modeling, BRDFs, The Rendering Equation, Global Illumination, Monte Carlo Integration, Importance Sampling, Participating Media, Sub-Surface Scattering, BSSRDFs, Advanced Camera Models, Radiosity & Precomputed Radiance Transfer,


Programming Project

During the duration of the course you will implement a 3D renderer that will allow you to create realistic images using raytracing. This project 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 play around with interesting scene compositions to generate exciting images. These additions will tremendously help your submission for the 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 with the help exercise sessions will be used to generate realistic images. The best renderings will win cool prizes depending on technical achievement and artistic quality. Here are the results from 2014 '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 class. 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.

Mid-term Exam

There will be a written mid-term exam covering the topics from the exercises and the ones discussed in class. No additional material is allowed during the exam.


Calculus and linear algebra, basic concepts of algorithms and data structures, programming skills in C++, Computer Graphics core course, Visual Computing core course.

The programming assignments will be in C++. This will not be taught in the class.


Number 252-5705-00L
Lecturers Dr. Wojciech Jarosz and Dr. Wenzel Jakob
Assistant Marios Papas
Course Location Tuesdays 1pm-3pm, CAB G59
Exercise Location Thursdays 3pm-6pm, CAB G59 and CAB H56
ECTS Credits 6 credits
Performance Assessment Graded semester performance