In den beiden neu überarbeiteten Modulen „Grundlagen der Computergrafik“ (Bachelor) und „Computergrafik“ (Master) entwickeln Sie Schritt für Schritt eine 3D-Game-Engine auf Basis von OpenGL und C++.
Der Schwerpunkt liegt dabei auf der Entwicklung eines Echtzeit-Renderers zum Laden und Darstellen von 3D-Modellen mit Hilfe der Grafik-Pipeline. Dabei werden beispielsweise Kenntnisse über Shader, Beleuchtungsberechnung, Texturen und Transformationen vermittelt. Darüber hinaus werden weitere für eine Engine relevante Themen wie Animation und Kamerasteuerung behandelt.
Praxisbezug
Unser Lehrbeauftragter Tobias Reimann entwickelt bereits seit 2010 Game Engines mit DirectX, OpenGL und Vulkan. Aktuell arbeitet er als Indie-Entwickler an seinem Spiel „REDVERY™ RX3” für PC und Mac (https://store.steampowered.com/app/2974010/REDVERY_RX3/). In seinen Computergrafik-Modulen gibt er exklusive Einblicke hinter die Kulissen der Spieleentwicklung und vermittelt praxisnahes Wissen.
Lernen im eigenen Tempo
Die einzelnen Kapitel sind online verfügbar und können von Ihnen in Ihrem eigenen Tempo bearbeitet werden. In den wöchentlichen Blockveranstaltungen auf Zoom können Sie dann das Gelernte gemeinsam mit anderen Studierenden anwenden und erhalten gleichzeitig Unterstützung durch die Lehrenden. Im anschließenden Plenum diskutieren Sie offene Fragen und vertiefen Ihr Wissen. Wenn Sie Ihre Engine fertiggestellt haben, können Sie damit eigene Szenen rendern und sogar ein eigenes Spiel erstellen. Beide Module schließen mit einer mündlichen Prüfung ab.
Grundlagen der Computergrafik (Bachelor)
In diesem Modul geht es darum die grundlegende Grafikpipeline zu verstehen. Dazu wird ein einfacher Renderer implementiert, um einen Planeten in einer 3D-Szene zu rendern. Anhand von einfachen Beispielen werden die Grundlagen von 3D Modellen und deren Beleuchtung erarbeitet und die Tricks und Kniffe gelernt, um eine Szene „realistisch” darzustellen. Ein weiterer Aspekt hierbei ist der Aufbau der Engine mit den verschiedenen Komponenten und deren Zuständigkeiten, z.B. eine virtuelle Kamera oder eine Szene, die wiederum die zu rendernden 3D-Modelle enthält. Die Engine ist so aufgebaut, dass sie leicht um eigene Features erweitert werden kann.
Computergrafik (Master)
Im Mastermodul wird die Engine generischer aufgebaut. Eigene Shader werden programmiert, kompiliert und auf der GPU ausgeführt. Dies erweitert die Möglichkeiten zur Entwicklung von Grafikeffekten, die im Shadercode selbst implementiert werden. Durch den generischen Aufbau ist es auch möglich, komplexe 3D-Modelle inklusive Texturen aus Dateien zu laden und zu rendern. Auch hier besteht die Möglichkeit die Engine um eigene Features zu erweitern.
Exkurse
Die Spieleentwicklung vereint viele Disziplinen und Teams bestehen nicht nur aus Entwicklern. In beiden Modulen wird es daher immer wieder Exkurse geben, um den Blick über den Tellerrand zu ermöglichen. So widmen wir uns beispielsweise der grundlegenden Bedienung von Blender, schauen uns an, wie man komplexe Skyboxen erstellt oder Modelle und Texturen für die Verwendung in einer Engine aufbereitet. Im Master Modul werden wir uns außerdem die modernere Grafik-API Vulkan ansehen. So können wir noch näher an der Grafikkarte arbeiten und lernen die Vor- und Nachteile einer modernen Grafik-API kennen.
Wichtig: Die Module bauen nicht aufeinander auf. Sie können also die Masterveranstaltung besuchen, auch wenn Sie die Bachelorveranstaltung nicht besucht haben.