Lecture dates and times are subject to change. Please check again in the first week of October 2023!

This course page describes the lecture of Wintersemester 2023/2024. See list of other semesters.


đŸ”„ Aaaah, fresh Real-Time Rendering Demos... đŸ”„

General Information


This course gives insights into the field of realtime rendering as used in virtual reality applications or computer games. Topics include:

  • Graphics Hardware (GPU) Architecture
  • Optimization
  • Advanced Lighting and Shading
  • Shading Languages
  • Graphics Programming (OpenGL 4.x Core Profile, Vulkan, DirectX, ...)
  • Real-time Shadows
  • Culling and Visibility
  • Levels of Detail and Terrain Rendering
  • Image-based Rendering


Lectures and Revision Course

Lectures and the revision course will be given in Seminarraum FAV 05.
Lectures will take 90 min and are typically scheduled for Wednesdays, 13:00-15:00 (c.t.), but there quite a bunch of exceptions this time. Please see the table below and check it constantly for updates!
The revision course might take a bit longer. Plan 120 min for it!

Please mind the following dates:

Sun, 01.10.2023 TUWEL course goes online. You can already start to form groups of two.
Wed, 04.10.2023


First lecture and introduction to the lab course
Wed, 18.10.2023


Every Wed,


Lecture unless stated otherwise or holiday.
Wed, 8.11.2023

13:00-15:00 (s.t.)

Revision Course

Lab Course

Please mind the following deadlines for the lab course. All submissions are to be done via TUWEL

Wed, 11.10.2023


Submission 1: Project Proposal and Group Finding
(see TUWEL)
Tue, 28.11.2023


Submission 2 - Prototype
(see TUWEL)
Tue, 09.01.2024


Submission 3 - Demo Test Run
(see TUWEL)
Tue, 16.01.2024


Submission 4 - Final Demo
(see TUWEL)
Wed, 24.01.2024


Presentation of the rendering demos (compulsory attendance)
(Seminarraum FAV 05)


The course consists of 10-15 lectures and a lab part in which a small rendering demo with effects from the lecture must be implemented in groups of two.


The final grade is a combination of the lab part and an oral exam. The lab part ends with the final presentations in the last lecture (There's no need to prepare slides, just run your demo and talk about the effects you've implemented and how you did it. The demo should be started and presented within 2-3 minutes.) Oral exams will be conducted after the end of the lectures and serve also as a submission talk for the lab part. The grades for both, lab part and exam, are given after the oral exam.

In order to get a positive grade, you have to fulfill the following requirements:

  • Your demo must run fully automatically without any further user interaction at a minimum resolution of 1920x1080 with at least 60 FPS.
  • You must have implemented two complex effects (according to your personal list of approved effects in TUWEL, in Submission 1 feedback) correctly.
  • You must get a positive grade on the oral exam.

In addition to the requirements for a positive grade, your grade may increase approximately by one grade by achieving one of the following items:

  • You have implemented an additional complex effect correctly.
  • You have implemented multiple effects of low complexity correctly and put them to good use in your demo.
  • You have modelled/generated particularly nice scene geometry.
  • You have created a particularly nice demo overall, where graphics/sound/animation/etc. interact beautifully.
  • You perform particularly well in the oral exam.

Oral Exams

Dates for the oral exams will be offered in February 2024.


The main materials are the slides from the lectures. The latest slides and video recordings of the lectures will be uploaded to TUWEL .
Already available on TUWEL are lecture video recordings and slides from previous years.

The book "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, may serve as complementary material.

A good resource for GLSL shader development is the book "OpenGL 4 Shading Language Cookbook, Third Edition", by David Wolff, Packt Publishing, 2018


All important information will be announced through TUWEL. Please ensure to subscribe to its news forum and enable notification emails!

The TUWEL discussion forum will be used for discussions (and group finding) and will be monitored by tutors. If you have questions or problems with the lab part, this is the best place to ask.

In case of problems with TISS or TUWEL and for personal matters, please send us an email to: rtr@cg.tuwien.ac.at

Lab Course

The goal of the lab course is to write a small rendering demo. The implementation is done in groups of two and must show at least two effects covered by the lecture. Creativity will be rewarded.

To see what we expect from a demo, have a look at the Hall of Fame where all submissions of the previous years are shown.

The implemented effects can exceed/extend what is shown in the lectures. But make sure to check for prior work, there is already a large variety of different shaders available. You should choose a topic where at least parts of the effect have to be implemented by yourself. Please make sure to always state all references that were used. The effects must be proposed in the Submission 1 and you will get feedback about your choices. All further requirements and guidelines can be found in the description texts on TUWEL.


The registration for the lab part is done via the TISS course 186.140. Please register there under "Course Registration". After registering, the TUWEL course can be accessed starting from 01.10.2023.

Everyone who submits a project proposal will get a grade!


All submissions are done through the TUWEL course. The submission guidelines are stated for each submission in TUWEL. Make sure to read and follow them thoroughly!

Make sure to read the documents Submission Requirements and Guidelines and Vislab PC Configuration!

Double-check that you submit all DLLs, shaders, textures, 3D-models and additional content in the correct folders. We can only grade demos that are running in our environment.