RGL
EPFL Logo

CS-440: Advanced Computer Graphics (Spring 2017)

Lecture:
Tuesday: 16:15-18:00
Exercise (in BC07):
Thursday: 15:15-16:00
Wenzel Jakob
Instructor
Tizian Zeltner
Teaching Assistant
Michalina Pacholska
Teaching Assistant
Leonardo Impett
Teaching Assistant

General information

News

Results from the 2017 rendering competition are available here.

Summary: This course covers advanced 3D graphics techniques for realistic image synthesis. Students will learn how light interacts with objects in our world, and how to recreate these phenomena in a computer simulation to create synthetic images that are indistinguishable from photographs.

Contents: This is a project-based course: students will initially receive a basic software package that lacks most rendering-related functionality. 

Over the course of the semester, we will discuss a variety of concepts and tools including the basic physical quantities, how light interacts with surfaces, and how to solve the resulting mathematical problem numerically to create realistic images. Advanced topics include participating media, material models for sub-surface light transport, and Markov Chain Monte Carlo Methods. 

Each major topic is accompanied by an assignment so that students can implement solution algorithms and obtain practical experience with these techniques within their own software framework. 

Towards the end of the course, students will realize a self-directed final project that extends their rendering software with additional features of their own choosing. The objective of the final project is to create a single image of both technical and artistic merit that is entered into a rendering competition and judged by an independent panel of computer graphics experts.

Prerequisites: It is recommended (but not required) to have taken Introduction to Computer Graphics or an equivalent course.

We will rely on calculus, linear algebra and use basic concepts of algorithms and data structures. Students are expected to be familiar with the C++ programming language that is used in the programming assignments. 

Learning Outcomes: By the end of the course, the student must be able to:

  • Recognize and understand the physical quantities of light transport and be able to perform basic computations using pencil+paper
  • Explain a range of surface and subsurface material models
  • Explain the rendering and radiative transfer equation and show how to construct Monte Carlo methods to solve them
  • Design and implement an advanced rendering system based on Monte Carlo integration
  • Assess / Evaluate the performance and conceptual limits of the implemented simulation code

Teaching methods: Lectures, interactive demos, theory and programming exercises, programming project, project tutoring

Expected student activities: The student are expected to study the provided reading material and actively participate in class. They should prepare and resolve the exercises, prepare and carry out the programming project.

Assessment methods: Intermediate assignments (60%), final project (40%)

Bibliography/Notes: Slides and online resources will be provided at the end of each class.

The course textbook is Physically Based Rendering: From Theory to Implementation (3rd edition) by Matt Pharr, Wenzel Jakob, and Greg Humphreys. You can access PDFs to the individual chapters by following this link within the EPFL network or by downloading them from Moodle.

Contact: Please use either the discussion forums on Moodle or cs440@listes.epfl.ch to contact the course staff. Make sure not to post sensitive material (e.g. solutions to exercises) on Moodle — the mailing list is preferred in this case.

Office hours: We also offer the following office hours:

  • TA office hours (Leo, Michalina, Tizian): Wednesday 2-3PM (BC350)
  • Faculty office hours (Wenzel): Monday 3-4pm and Friday 3:30-4:30 (BC345)

Office hours may sometimes be moved to different times, in which case we'll send an announcement on Moodle.

Rendering competition: During the last part of the course, you will realize a project of your own choosing to create an image of both technical and artistic merit. This year's final project theme is “Flirting with Disaster“. An independent jury of computer graphics experts will chose a winning entry. The jurors in 2017 are
  

Grand prize: The winning prize is a fully funded trip to the Eurographics Symposion on Rendering (EGSR) 2017 in Aalto, Finland. EGSR is Europe's leading research conference on rendering, and much the latest and greatest work is presented there.

By the way:be sure to check out these rendering competitions at other universities, which have had similar kinds of competitive final projects:

Note: You will also receive a grade for your final project, which is assigned by the course staff independently of the competition result. In practice, amazing work tends to do well with respect to both criteria, so a certain amount of correlation is likely.

Rendering competition results 2017: http://rgl.epfl.ch/pages/courses/cs440/sp17/competition2017

Schedule

Date Lecturer Contents
21.02.2017 Wenzel Jakob

Opening lecture: Administrative details, the big picture

23.02.2017 Leonardo Impett

Exercise: Review of C++; Introduction to the Eigen linear algebra library

28.02.2017 Wenzel Jakob

Lecture: Geometric representation and ray tracing

02.03.2017 Tizian Zeltner

Exercise: Introduction to the architecture of Nori

03.03.2017

Registration deadline

07.03.2017 Wenzel Jakob

Lecture: Monte Carlo ray tracing

14.03.2017 Wenzel Jakob

Lecture: The properties of light

21.03.2017 Wenzel Jakob

Lecture: Basic reflectance models

28.03.2017 Wenzel Jakob

Lecture: Global Illumination

04.04.2017 Wenzel Jakob

Lecture: Microfacet models

11.04.2017 Wenzel Jakob

Lecture: Bidirectional light transport algorithms

18.04.2017

No course (Easter Holiday)

20.04.2017

No exercise (Easter holiday)

25.04.2017 Tizian Zeltner

Lecture: Advanced reflectance models

02.05.2017 Wenzel Jakob

Exercise: Note: the lecture and exercise sessions are swapped this week!

04.05.2017 Wenzel Jakob

Lecture: Participating media & subsurface scattering 1 (in BC07)

09.05.2017 Wenzel Jakob

Lecture: Participating media & subsurface scattering 2

16.05.2017 Wenzel Jakob

Lecture: Quasi-Monte Carlo integration, tricks of the trade

23.05.2017 Wenzel Jakob

Lecture: Architecture of production rendering systems

30.05.2017 Wenzel Jakob

Final Project Presentation

02.03.2018

Course registration deadline.