Thank you all for participating. It's been a blast!
Hall of Fame 2022 is online.

This course page describes the lecture of Sommersemester 2022. It is will be held next time in Sommersemester 2024. See list of other semesters.

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.

Communication

The whole communication runs over the TUWEL course. 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: artr@cg.tuwien.ac.at

Schedule

The following table lists all dates for lectures, assignment deadlines, and solution presentation and group discussion events.
We plan to give all (except the introductory) live lectures on-site in Seminar Room FAV 05 (formerly: Seminarraum 186), in Favoritenstr. 9-11 / 5th floor. We will provide the option to participate via Zoom, too, i.e., all live events will be hybrid.

The hybrid mode also applies to our "solution presentation and group discussion" events, but it would be great if we could all meet in person at least for these four events. Please note that your participation in these four events is mandatory.

01.03.2022
Participants are encouraged to make themselves familiar with Vulkan, since all assignments will be based on it. No in-depth knowledge is required, though, since a convenience framework is provided. Suggested learning resource: Vulkan Lecture Series
08.03.2022
Assignment #1 goes online
08.03.2022 13:00-15:00 (c.t.) Johannes Unterguggenberger (live lecture, Zoom only)
Introduction, Rendering pipeline re-cap, Normal Mapping re-cap,
Introduction to the exercise framework.
15.03.2022 13:00-15:00 (c.t.) Johannes Unterguggenberger (live lecture, on-site + Zoom)
GPU Synchronization using Vulkan
22.03.2022 13:00-15:00 (c.t.) Stefan Ohrhallinger (live lecture, on-site + Zoom)
Geometry and Tessellation
23.03.2022
Assignment #2 goes online
28.03.2022
23:55
Deadline for Assignment #1
29.03.2022 13:00-15:00 (c.t.) Lukas Lipp (live lecture, on-site + Zoom)
Deferred Shading
05.04.2022 13:00-14:00 (s.t.) Assignment #1 solution presentation and group discussion (compulsory attendance)
05.04.2022 14:00-16:00 (c.t.) Michael Wimmer (live lecture, on-site + Zoom)
Shadow Algorithms
26.04.2022 Bernhard Steiner (recorded lectures, TUWEL-only)
Physically-Based Shading | Order-Independent Transparency
26.04.2022
23:55
Deadline for Assignment #2
27.04.2022
Assignment #3 goes online
03.05.2022 13:00-15:00 (s.t.) Assignment #2 solution presentation and group discussion (compulsory attendance)
10.05.2022 13:00-15:00 (c.t.) Markus Schütz (live lecture, on-site + Zoom)
Point Cloud Rendering
17.05.2022 13:00-15:00 (c.t.) Philipp Erler (live lecture, on-site + Zoom)
Physics
23.05.2022
23:55
Deadline for Assignment #3
24.05.2022
Assignment #4 goes online
24.05.2022 13:00-15:00 (c.t.) Christian Freude and Markus Schütz (live lecture, on-site + Zoom)
Screen-Space Effects
31.05.2022 13:00-15:00 (s.t.) Assignment #3 solution presentation and group discussion (compulsory attendance)
14.06.2022 13:00-15:00 (c.t.) Lukas Lipp (live lecture, on-site + Zoom)
Real-Time Ray Tracing
21.06.2022
23:55
Deadline for Assignment #4
28.06.2022 13:00-15:00 (s.t.) Assignment #4 solution presentation and group discussion (compulsory attendance)

 

Assignments

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 Vulkan. Ready-to-use versions of the frameworks and the assignments will be provided for Visual Studio 2019 on Windows, but Visual Studio 2022 and even development on Linux via CMake should be possible.

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

Assignment #1 Synchronization, Normal Mapping
Synchronization in Vulkan, Tangent Space, Blinn-Phong Shading
10 points (+10 bonus points)
Assignment #2 Hardware Tessellation
PN-Triangles, Adaptive Tessellation, Displacement Mapping
30 points (+20 bonus points)
Assignment #3 Deferred Shading, Physically-Based Shading
Deferred Shading, MSAA, Tile-Based Deferred Rendering, Physically Based Shading
30 points (+19 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.

Grading

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!).
Grade Points
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 four events, even if you have 50+ points.

Note: Your participation and constructive contribution to the group discussions will influence your final grade. Constructive participation can improve your final grade, while a lack of participation will impair your final grade. It is not important that you present correct solutions -- it is just your participation that counts. 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