Algorithms for Real-Time Rendering

SS 2.0 h (3 ECTS), 186.192

Johannes Unterguggenberger
Bernhard Steiner
Michael Wimmer


This course takes place during SS2018!

Lectures will be held on Tuesdays, 13:00-15:00 c.t., starting on the 06.03.2018!

Deadline of assignment #1 is 21.03.2018 23:55!

Subject and aim

The course teaches fundamental real-time rendering techniques like tessellation, deferred shading, and screen-space effects, and discusses bleeding-edge topics like real-time global illumination, physically-based rendering, and shader optimization.

The goal is to give you a firm understanding of all constituents of a modern real-time rendering engine!


The whole communication runs over the TUWEL-Page. Information regarding the exercises are also available on TUWEL.

Please register for the course on the TISS-Page!


The course will take place in the seminar room 186 (Favoritenstr. 9-11 / 5th floor).
Lectures are scheduled on Tuesdays, 13:00-15:00 c.t. and will be given in English.
Assignment #1 goes online
06.03.2018 13:00-15:00 Johannes Unterguggenberger and Bernhard Steiner
Introduction, Rendering pipeline re-cap, Introduction to the exercise framework
13.03.2018 13:00-15:00 Katharina Krösl
Deferred Shading
20.03.2018 13:00-15:00 Stefan Ohrhallinger
Geometry and Tessellation
20.03.2018 15:00-17:00 Exercise framework and assignments: questions & answers
Deadline for Assignment #1
Assignment #2 goes online
10.04.2018 13:00-15:00 Bernhard Steiner
Physically-based Shading, Order-Independent Transparency
17.04.2018 13:00-15:00 Christian Freude
Screen-space effects
Deadline for Assignment #2
Assignment #3 goes online
24.04.2018 13:00-15:00 Michael Wimmer
Soft Shadows
24.04.2018 15:00-17:00 Assignments #1 and #2 solution presentations and group discussion
08.05.2018 13:00-15:00 Hiroyuki Sakai
Real-Time Global Illumination
15.05.2018 13:00-15:00 Philipp Erler
Real-Time Physics
Deadline for Assignment #3
Assignment #4 goes online
29.05.2018 13:00-15:00 Stefan Reinalter
Shader Optimization
29.05.2018 15:00-17:00 Assignment #3 solution presentations and group discussion
05.06.2018 13:00-15:00 Markus Schütz
Point Rendering
12.06.2018 13:00-15:00 Michael Wimmer
Temporal Coherence
Deadline for Assignment #4
19.06.2018 13:00-15:00 Johannes Unterguggenberger
Real-Time Fluid Simulation
19.06.2018 15:00-17:00 Assignment #4 solution presentations and group discussion


The lecture is accompanied by assignments that cover advanced but fundamental techniques of real-time rendering. All assignments are programming exercises in a framework based on C++ and OpenGL. A ready-to-use version of the framework and the assignments will be provided for Visual Studio 2017.

Assignment #1 will be available on TUWEL from 06.03.2018.

Assignment #1 Basic Illumination
Blinn-Phong Shading, Normal Mapping
10 points (+5)
Assignment #2 Hardware Tessellation
PN-Triangles, Adaptive Tessellation, Displacement Mapping
30 points (+15)
Assignment #3 Deferred Shading
30 points (+15)
Assignment #4 Screen-Space Effects
30 points (+15)

Every assignment will feature a set of basic tasks and bonus tasks. Solving bonus tasks will allow you to earn more than 100% of the regular point maximum for this assignment. Like this you may compensate lower percentages in other assignments.


Final grading is based on the points you acquire for the 4 assignments, according to the following scheme, AND on your participation in the "solution presentation and group discussion" events.
5 00 - 49 points
4 50 - 62 points
3 63 - 74 points
2 75 - 87 points
1 88+ points
Participating in the "solution presentation and group discussion" events is mandatory. In order to get a positive grade (i.e. 4 or better), you have to present your overall solution for an assignment, your approach to a task, or some implementation-specifics of your submission at least once. You will not get a positive grade if you do not present in one of those three events, even if you have 50+ points.

Course materials