In order to pass the course, you must meet these requirements:
Practical grade P = (P1 + P2 + 2 * P3) / 4
Exam grade E
Final grade F = (2 * P + E) / 3
P >= 4.5
E >= 4.5
F >= 5.5.
There will be an opportunity for a retake exam or a retake assignment. In order to qualify, a grade of at least 4.0 is required in both areas (final exam, practicals).
The master course Advanced Graphics addresses advanced topics in 3D computer graphics. The focus of the course is physically-based rendering of 3D scenes. The course has two main focus areas: rendering algorithms and making rendering more efficient. Efficiency will be sought through acceleration structure construction and traversal and variance reduction.|
The course starts with a recap of Whitted-style ray tracing. We then explore various acceleration structures that help to run the ray tracing algorithm in real-time on commodity hardware. We will see that a well-built bounding volume hierarchy provides both flexibility and speed, for static and dynamic scenes.
The second part of the course introduces the path tracing algorithm, and related light transport theory. We investigate various methods to improve the efficiency of the algorithm using probability theory. We will see that efficient path tracing can yield interactive frame rates.
In the third part of the course we use GPGPU to run ray tracing and path tracing on the GPU. We will explore recent research in high performance stochastic rendering.
- Basic knowledge in linear algebra, calculus, probability theory as required for the masters program, see "Elementary maths for GMT" (we will still recap important concepts but move quickly).
- Fundamentals in algorithms and data structures.
- Bachelor level knowledge in computer graphics is strongly recommended. Without prior graphics knowledge, you will need substantial additional time (and probably some talent).
- Good programming skills; C# and C++ will both work, but for optimal performance and low level control, C++ is recommended. Plan for additional time if you plan to familiarize yourself with C++ during the course.
During the course, a number of papers will be used. These will be specified in the lectures.