Algorithms for Real-Time Rendering

Diese Lehrveranstaltungsseite wurde noch nicht an das aktuelle Semester angepasst. Bitte warten!



ARTR will not take place in 2021S.  
See you in 2022S!


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 optimizing GPU performance.

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!

In case of problems with TISS, TUWEL and for personal matters, feel free to send us an email:


The course will take place in the Seminar Room FAV 05 (formerly: Seminarraum 186), in 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
10.03.2020 13:00-15:00 Johannes Unterguggenberger
Introduction, Rendering pipeline re-cap, Normal Mapping re-cap,
Introduction to the exercise framework for the first two assignments.
17.03.2020 13:00-15:00 Bernhard Steiner
Physically-based Shading, Order-Independent Transparency
Assignment #2 goes online
24.03.2020 13:00-15:00 Stefan Ohrhallinger
Geometry and Tessellation
Deadline for Assignment #1
31.03.2020 13:00-15:00 Bernhard Steiner
Deferred Shading
21.04.2020 13:00-15:00 Philipp Erler
Real-Time Physics
Deadline for Assignment #2
Assignment #3 goes online
28.04.2020 13:00-15:00 Johannes Unterguggenberger
Introduction to Vulkan
Introduction to the exercise framework for assignments #3 and #4
05.05.2020 13:00-15:00 Assignments #1 and #2 solution presentation and group discussion (compulsory attendance)
12.05.2020 13:00-15:00 Michael Wimmer
Soft Shadows and Real-Time Global Illumination
19.05.2020 13:00-15:00 Lukas Gersthofer
Real-Time Ray Tracing
Deadline for Assignment #3
Assignment #4 goes online
26.05.2020 13:00-15:00 Christian Freude and Joao Afonso Cardoso
Screen-Space Effects
09.06.2020 13:00-15:00 Assignment #3 solution presentation and group discussion (compulsory attendance)
16.06.2020 13:00-15:00 Markus Schütz
Point Rendering
Deadline for Assignment #4
23.06.2020 13:00-15:00 Bernhard Kerbl
Optimizing GPU-Performance
30.06.2020 13:00-15:00 Assignment #4 solution presentation and group discussion (compulsory attendance)


The lecture is accompanied by assignments that cover advanced but fundamental techniques of real-time rendering. Assignments are programming exercises in frameworks based on (modern) C++ and OpenGL or Vulkan. Ready-to-use versions of the frameworks and the assignments will be provided for Visual Studio 2019.

All assignments will be available on TUWEL at the dates stated above.

Assignment #1 Normal Mapping
Tangent Space, Blinn-Phong Shading, Physically-based Shading (bonus)
10 points (+10 bonus points)
Assignment #2 Hardware Tessellation
PN-Triangles, Adaptive Tessellation, Displacement Mapping
30 points (+20 bonus points)
Assignment #3 Deferred Shading and Synchronization
Vulkan Synchronization, Deferred Shading, MSAA
30 points (+14 bonus points)
Assignment #4 Screen-Space Effects
Screen-Space Ambient Occlusion, HDR Rendering + Tone Mapping, Screen-Space Reflections, Temporal Anti-Aliasing, Real-Time Ray Tracing
30 points (+22 bonus points)

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. With 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 (compulsory attendance!).
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.

To be perfectly clear on this: You will not get a positive grade if you do not present in one of those three events, even if you have 50+ points.

Your participation and constructive contribution to the group discussions will influence your final grade. A positive, constructive performance can improve your final grade while a lack thereof can impair your final grade. These events replace individual submission talks, so use them to show us that you are the author of your submitted solutions and let's learn from each other in profound group discussions.

Course materials

  • Real-Time Rendering, Fourth Edition, by Tomas Akenine-Möller, Eric Haines, Naty Hoffman, Angelo Pesce, Michal Iwanichi, and Sébastien Hillaire, A K Peters/CRC Press, 2018
  • OpenGL Insights, First Edition by Patrick Cozzi and Christophe Riccio (July 23, 2012)
  • Graphics Shaders: Theory and Practice, Second Edition by Mike Bailey and Steve Cunningham (Nov 8, 2011)
  • OpenGL 4 Shading Language Cookbook, Third Edition, by David Wolff, Packt Publishing, 2018