TU Wien:Programmiertechniken für Visual Computing PR (Wimmer)
Daten
[Bearbeiten | Quelltext bearbeiten]| Vortragende | Philipp Erler• Elias Kristmann• Annalena Ulschmid• Michael Wimmer |
|---|---|
| ECTS | 6,0 |
| Alias | Programming techniques for Visual Computing (en) |
| Letzte Abhaltung | 2026S |
| Sprache | „bei bedarf in englisch“ ist kein zulässiger Sprachcode. |
| Mattermost | programmiertechniken-fuer-visual-computing • Register • Mattermost-Infos |
| Links | tiss:193019, eLearning, Homepage |
Inhalt
[Bearbeiten | Quelltext bearbeiten]Es wird in Gruppen von je zwei Personen ein simples 3D Spiel in C++ und OpenGL oder Vulkan programmiert. Es gibt einen Katalog an Features welche man nach freier Wahl einbauen kann, wobei je nach Schwierigkeit Punkte angerechnet werden. Die meisten Features beziehen sich auf Rendering, aber auch Physik und Gameplay. Zur erleichterung kann man das Framework aus Einführung in die Computergraphik UE bzw. mittlerweile Grundlagen der Computergraphik VU verwenden. Es ist nicht erlaubt Libraries zu verwenden, die auf die gewählte Grafik-API zugreifen; Man muss alles Rendering selber machen.
Inhaltlich ist diese LVA sehr ähnlich zur ehemaligen Computergraphik UE, mit dem Unterschied, dass auch andere Aspekte von Visual Computing, wie z.b.Camera Object Tracking, eingebaut werden können.
Ablauf
[Bearbeiten | Quelltext bearbeiten]Am anfang des Semesters sucht man sich einen Gruppenpartner, mit dem man im Verlauf des Semesters das Spiel programmiert.
Es gibt drei Deadlines:
- Game Concept (0. Abgabe) 1-2 Wochen nach der Vorbesprechung muss ein maximal 2 Seiten langes "Design Document" abgegeben werden, in dem man grob beschreibt wie das fertige Spiel sein soll.
- Prototype (1. Abgabe) 7 Wochen später soll ein Prototyp fertig sein, der sich auf Gameplay fokussiert. Man bekommt Feedback aber die Abgabe wird nicht bewertet.
- Final Game (2. Abgabe) 7 Wochen später soll das Spiel fertig sein. Man bekommt nochmals Feedback und hat bis zum Game Event Zeit die Abgabe zu verbessern. Die Abgabe wird anhand der implementierten Features bewertet.
Circa eine Woche nach der letzten Abgabe findet das Game Event statt, bei dem jedes Team sein Spiel herzeigt. Anschließend werden die besten drei Spiele verkündet.
Benötigte/Empfehlenswerte Vorkenntnisse
[Bearbeiten | Quelltext bearbeiten]Wer sich bei Einführung in die Computergraphik UE bzw. Grundlagen der Computergraphik VU schwer getan hat, sollte womöglich seine OpenGL / Vulkan Kenntnisse verbessern bevor er diese LVA macht.
Grundlegende Kenntnisse zu OpenGL / Vulkan und C++ werden vorausgesetzt. Falls man Grundlagen der Computergraphik bereits erledigt hat, sollte es recht einfach sein sich in PTVC einzuarbeiten, da es eigentlich die Fortsetzung von GCG ist.
Vortrag
[Bearbeiten | Quelltext bearbeiten]Am Anfang vom Semester gibt es eine kurze, optionale, ca. 30 minütige Besprechung mit generellen Infos zum Ablauf der LVA. Die Vorbesprechung wurde gestreamed und aufgenommen, wobei man aus dem, ebenfalls hochgeladenen, Foliensatz schon alle notwendigen Infos entnommen werden können.
Übungen
[Bearbeiten | Quelltext bearbeiten]Es gibt keine Übungen im herkömmlichen Sinne. Man hat 3 Abgaben, wobei man nur bei der 1. und 3. bewertet wird und ein Game Event, wo man sein Projekt den anderen Studierenden vorstellt. Nach der 2. Abgabe und nach dem Game Event gibt es kurze Gespräche über Zoom, wobei es beim ersten generell um Feedback geht ("Feedback Talk") und beim zweiten, was man alles implementiert hat ggf. mit kurzen Erklärungen zur konkreten Implementation, was man von der LVA hielt und welche Bewertung man schlussendlich bekommt ("Grading Talk"). Für die Feedback und Grading Talks muss man sich einen Slot via TUWEL buchen, wobei seitens der LVA-Leitung einige Termine zu diversen Zeiten über mehrere Tage bereitgestellt werden.
Im SS26 wurde zusätzlich zu den Frameworks von GCG ein ausführlicheres Vulkan Framework von einem Master Studenten bereitgestellt, sodass man sich um einige grundlegende Dinge wie Ressourcenmanagement nicht selbst kümmern muss.
Prüfung, Benotung
[Bearbeiten | Quelltext bearbeiten]Es gibt keine Prüfung.
Benotet wird anhand der eingebauten Features (Gameplay & Effekte). Jedes ist eine bestimmte Punktzahl wert und die Note ergibt sich dann aus der Summe.
Die Bewertung ist in zwei Kategorien unterteilt: Gameplay (Compulsory and Optional) und Effekte.
Die 0. Abgabe ist die Einstiegsqualifikation für den Kurs und wird mit 2 Punkten bewertet.
Die 1. Abgabe wird aber nicht benotet.
Für eine positive Bewertung müssen die folgenden Bedingungen erfüllt sein:
- Mindestens 25 Punkte für das Compulsory Gameplay
- Mindestens 25 Punkte auf Effekte (nur ein Effekt pro Effektgruppe)
Die Endnote ergibt sich dann aus der Summe aller drei Aspekte (Compulsory Gameplay, Optional Gameplay, Effekte) und den Punkten der 0. Abgabe.
Dauer der Zeugnisausstellung
[Bearbeiten | Quelltext bearbeiten]| Semester | Letzte Leistung | Ausstellungsdatum | Dauer |
|---|---|---|---|
| SS26 | 30.06.26 | 07.07.26 | 1 Woche |
Zeitaufwand
[Bearbeiten | Quelltext bearbeiten]Je nachdem wie gut man sich mit C++ und der gewählten Grafik-API auskennt kann der Zeitaufwand stark variieren.
Meinung SS26: Weiters kommts darauf an, wie viel man sich als Team vornimmt. Mein Kollege und ich waren recht motiviert und haben eine eigene kleine Game Engine mit Vulkan Renderer erstellt ohne Verwendung eines Frameworks, über 100 Punkte aus den Katalogen implementiert sowie alle unsere Models und Texturen eigens erstellt. Ich habe zwar nicht mitgestoppt, aber ich denke, dass ich wahrscheinlich über 6 ECTS Aufwand hatte.
Unterlagen
[Bearbeiten | Quelltext bearbeiten]Es gibt sehr viele Quellen zu Websiten, Videos und Bücher, zu den diversen Dingen wie graphischen Effekten, Libaries und C++ Memory Management. Weiters gibts auch ein kurzes "Buch" im TUWEL mit einer konkreten Anleitung und Tipps für ein OpenGL Projekt (ist aber etwas outdatet, wurde scheinbar irgendwann für die alte Computergraphik UE geschrieben).
Tipps
[Bearbeiten | Quelltext bearbeiten]- Die LVA-Leitung empfiehlt Vulkan, aber mit OpenGL erspart ihr euch deutlich Zeit.
- Wer das Framework aus ECG verwenden will, muss sich bewusst sein das der Quellcode nicht verfügbar ist. Änderungen und Debugging wird dadurch natürlich schwerer. Meiner Meinung nach macht es sinn für Vulkan nur den "Vulkan Launchpad" teil des Frameworks zu verwenden, welcher auf auf GitHub verfügbar ist.
- Gute Kommunikation ist wichtig. Man sollte sich regelmäßig im Team treffen (oder ähnliches) und besprechen, was noch zu tun ist, was jeder als nächstes erledigt, etc.
- Man sollte sich nicht scheuen, das PTVC-Team im Forum, per Mail oder IRL im Open Lab zu Fragen, falls es irgendwelche Probleme gibt. Meiner Erfahrung nach ist das PTVC-Team sehr nett und hilfsbereit.
Highlights / Lob
[Bearbeiten | Quelltext bearbeiten]SS 2024: Diese LVA bietet die Möglichkeit mit viel Freiheit eine mischung aus Spiel und Grafikdemo nach eigenen Vorstellungen zu machen und dafür 6 ECTS zu bekommen. Falls einen Rendering / CG interessiert macht dieses Projekt sicher Spaß, vor allem weil es den Teams überlassen bleibt Was und Wie man macht.
SS25: Sehr viel Freiheit, was man entwickelt, nettes LVA Team, lockere Bewertung, interessant die Theorie von EVC und GCG in Praxis umzusetzen, sehr empfehlenswert.
Verbesserungsvorschläge / Kritik
[Bearbeiten | Quelltext bearbeiten]noch offen
