Computer Graphics Laboratory ETH Zurich


Image Synthesis - SS13 - Home

Description Description | Administration

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


    15/7: The IS2013 rendering competition website is now online.
    22/5: The final exam will take place in CAB G51 (May 6th, 2pm).
    21/5: The class on 28/5 is cancelled. Instead you are highly encouraged to attend the talk by Dr. Per Christensen on Wednesday, 29/5, at 2pm (CAB G 11). Course Schedule.
    26/3: The final exam will take place on 06.06.2013


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 including rasterization, ray tracing, and micro-polygon rendering. 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, REYES architecture) 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, Micro-polygon rendering, 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 3 best renderings will win cool prizes depending on technical achievement and artistic quality. Here are the 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 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.


There will be a 2-hour written 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.

Administration Description | Administration
Number 252-5705-00L
Lecturer Dr. Wojciech Jarosz
Assistant Marios Papas
Course Location Tuesdays 13-15, CAB G56
Exercise Location Thursdays 15-18, CAB G56 and CAB H56
ECTS Credits 6 credits
End of Semester Exam CAB G51, 06.06.2013, 2pm, 120 min., written (English!)