Computer Games Laboratory (IN7106, IN710615)
Short Summary
Nach der Teilnahme am Modul sind die Studenten in der Lage gezielt visuelle Effekte zu analysieren und diese mithilfe von Shadern für Spiele und andere Applikationen zu erstellen. Die erlernten Technologien umfassen Beleuchtung, Bildeffekte, Compute und fortgeschrittene Technologien wie Tessellation. Die Studenten können Shader optimieren und Gelerntes auch auf Bereiche außerhalb des Games Engineering anwenden. Sie erhalten einen tiefen Einblick in die Funktionsweisen und den Aufbau moderner Renderer und verstehen die Einordnung verschiedener Shader in die Graphics Pipeline.
Inhalt anhand von aktuellen Beispielen wird den Studenten die plattformübergreifende Entwicklung von Shadern für Games und andere, Computergrafik fokussierte, Anwendungen erläutert. Als Entwicklungsumgebung kommen Unity3D, Unreal Engine oder Visual Studio zum Einsatz. Spezieller Fokus liegt hier auf:
- Aufbau von Shadern: Vertex, Fragment, Geometry und Surface Shader
- Verschiedene Beleuchtungsmodelle
- Physically Based Rendering, BRDFs
- Optimierung, Performance Analyse, Tools
- Rendering, Graphic APIs
- Post-Processing, Image Effects
- Compute Shader
- Tessellation
- Stylized Shading
- Volume Rendering
Description
This is a practical course which involves a hands-on approach with neither traditional lectures nor exercises. Instead, we will meet ca. once every two weeks to discuss technical issues and to track progress via milestones. Students can utilize available game engines, yet we will make sure that a considerable own programming effort will be invested. While development will take place on PCs, students are free to choose the target platform of their final game.
At the end of the course, all results will be presented to the public.
Prerequisites
- Good programming skills (course projects are written in C++ or C#).
- Students should have succesfully passed the realtime CG lecture and practical.
- This practical is open for students of Master Informatics: Games Engineering only.
Organization
Regardless the content of the game, the development process must adhere to the guidelines proposed below. Students are encouraged to design a game that has strong links to one of the areas of specialization in the curriculum of the Master program Informatik: Games Engineering.
After choosing their favorite area of specialization, the students plan the project and prototype the intended game. Then, the game is implemented and iteratively improved via playtesting until it is ready to be presented at the end of the semester. Teams from different areas can also join to create an even more complex game.