Algorithms for Real-Time Rendering

SS 2.0 h (3 ECTS), 186.192

Przemyslaw Musialski


This course takes place during SS2016!

Lectures will be held on Tuesdays, 14-16h c.t., starting on the 01.03.2016!

Deadline of assignment #1 is 15.03.2016!

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, shader optimization and the new Vulkan API.

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 of the institute 186 (Favoritenstr. 9-11 / 5.floor).
Lectures are scheduled on Tuesdays, 14-16h c.t. and will be given in English.
01.03.2016 14:00-16:00 Przemyslaw Musialski
Introduction, Lighting Models, Introduction to the Exercise Framework
15.03.2016 14:00-16:00 Przemyslaw Musialski
Geometry and Tessellation
Deadline for Assignment #1
Assignments #2 & #3 go online!
05.04.2016 14:00-16:00 Michael Birsak
Deferred Shading
12.04.2016 14:00-16:00 Christian Freude
Screen-space Effects: Subsurface Scattering, Ambient Occlusion Techniques, Anti-Aliasing
19.04.2016 14:00-16:00 Christian Hafner
Physically-based Shading, Order-Independent Transparency
Deadline for Assignment #2
03.05.2016 14:00-16:00 Michael Hecher
Soft Shadowing Techniques
10.05.2016 14:00-16:00 Michael Hecher
Real-time Global Illumination
Deadline for Assignment #3
Assignment #4 goes online!
31.05.2016 14:00-16:00 Bernhard Steiner
The Vulkan API
07.06.2016 14:00-16:00 Guest Speaker: Stefan Reinalter
Shader-Level Optimization
21.06.2016 14:00-16:00 Reinhold Preiner
Point-Cloud Rendering
Deadline for Assignment #4
Wed, 22.06.2016 13:00-15:00 Michael Wimmer
Temporal Coherence
29.06.2016 - 30.06.2016
Submission Talks


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 DirectX 11.

Assignment #1 will be available on TUWEL from 01.03.2016.

Assignment #1 Basic Illumination
Phong Shading, Blinn-Phong Shading, Normal Mapping, Textures
20 points (+8)
Assignment #2 Hardware Tessellation
PN-Triangles and PN-Quads, Adaptive Tessellation, Displacement Mapping
50 points (+25)
Assignment #3 Deferred Shading
Light Geometry, G-Buffer Optimizations, Deferred MSAA, Stencil-Buffer Optimization
50 points (+25)
Assignment #4 Screen-Space Effects
Ambient Occlusion, Cross-Bilateral Filtering, FXAA, Tone Mapping, Bloom
50 points (+25)

Every assignment will feature a set of basic tasks and advanced tasks. Solving advanced 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:
5 1 - 85 points
4 86 - 113 points
3 114 - 141 points
2 142 - 169 points
1 170+ points
At the end of the course, you will be invited to a submission talk in order to explain your code and answer questions about the assigments.

Course materials