Bei dieser Namensähnlichkeit, muss man fast so ein Banner machen :)

TU Wien:Programmiertechniken für Visual Computing PR (Wimmer)

Aus VoWi
Zur Navigation springen Zur Suche springen
Vortragende Philipp ErlerElias KristmannAnnalena UlschmidMichael 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-computingRegisterMattermost-Infos
Links tiss:193019, eLearning, Homepage
Zuordnungen
Bachelorstudium Informatik Modul Programmiertechniken für Visual Computing (Breite Wahl)
Bachelorstudium Medieninformatik und Visual Computing Modul Programmiertechniken für Visual Computing (Pflichtfach)


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.

Am anfang des Semesters sucht man sich einen Gruppenpartner, mit dem man im Verlauf des Semesters das Spiel programmiert.

Es gibt drei Deadlines:

  1. 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.
  2. 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.
  3. 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.

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.

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

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.

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).

  • 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


Materialien

Diese Seite hat noch keine Anhänge, du kannst aber neue hinzufügen.