TU Wien:Einführung in die Computergraphik UE (Wimmer)

Aus VoWi
Zur Navigation springen Zur Suche springen

Daten[Bearbeiten | Quelltext bearbeiten]

Vortragende Manfred KlaffenböckAnnalena UlschmidMichael Wimmer
ECTS 3
Alias Introduction to Computer Graphics (en)
Letzte Abhaltung 2022W
Sprache „if required in english“ ist kein zulässiger Sprachcode.
Mattermost einfuehrung-in-die-computergraphikRegisterMattermost-Infos
Links tiss:186832, eLearning, Homepage
Zuordnungen
Bachelorstudium Medieninformatik und Visual Computing
Bachelorstudium Software & Information Engineering


Inhalt[Bearbeiten | Quelltext bearbeiten]

In der LVA mussten diverse Aufgaben gelöst werden bei denen zuerst einfache Körper geladen, eingefärbt und auf dem Bildschirm dargestellt werden sollten. In weiteren Übungen mussten diese Körper mit Hilfe von Matrixrechnungen transformiert werden. Weitere Inhalte waren die Implementierung der Steuerung einer einfachen Kamera (Arcball camera), Beleuchtungsmodelle, Shaderprogrammierung und Texturierung.

Alle Aufgaben mussten mit einem vordefinierten OpenGL Framework mit C++ gelöst werden. Dabei gab es eine Einführung in beide Themen und diverse Tools, die bei der Entwicklung hilfreich sein könnten.

Ablauf[Bearbeiten | Quelltext bearbeiten]

Es gibt im Lehrveranstaltungswiki 6 Aufgabenstellungen mit Deadlines. Alle Aufgaben sind von Beginn des Semesters an verfügbar, die Musterlösungen werden erst nach der jeweiligen Deadline veröffentlicht. Es ist immer möglich, nach einer Aufgabe mit der Musterlösung weiterzuarbeiten, wodurch Folgefehler vermieden werden können. Nach den ersten drei Beispielen findet das erste Abgabegespräch statt, nach den zweiten drei Beispielen das zweite Abgabegespräch.

Es können alle Beispiele schon zu Semesterbeginn gemacht werden, die Abgabegespräche sind aber erst in der Mitte und am Ende des Semesters. Die Gespräche werden von vielen verschiedenen, tlw. nicht direkt an der Lehrveranstaltung beteiligten, Personen abgehalten. Weil nicht alle davon Deutsch sprechen, kann es sein, dass ein Abgabegespräch auf Englisch abgehalten wird. Im Gespräch selbst muss man Theoriefragen beantworten und Teile der eigenen Implementierung finden und erklären können.

WS13:

Es gab 6 Runden und 2 Abgabgespräche. Man hat ein Framework runtergeladen, wo schon fast alles vorprogrammiert ist, jedoch müssen zum Verständnis notwendige Methoden implementiert werden, diese sind im ECG-Wiki genaustens beschrieben. (Zum Beispiel die draw Methode eines BresenhamAlgorithmus) Nach jeder Onlineabgabe kann man sich auch die Musterlösung herunterladen und an dieser weiterarbeiten, falls man irgendwo in den vorherigen Runden Fehler hat, die man nicht ausbessern konnte.

WS17:
Programmiert wird nun in C++ mit OpenGL. Ein Framework wird zwar zu Beginn zur Verfügung gestellt, dieses beinhaltet allerdings nur Basis-Code. Das ECG-Wiki gibt es nicht mehr.

WS19:

Es gab fünf Aufgaben und zwei Abgabegespräche. Ansonsten gleich wie im WS17

WS20:

Gleicher Modus, fünf Aufgaben und zwei Abgabegespräche.


Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]

Programmierkenntnisse sind notwendig; elementares Verständnis von Vektoren und Matrizen sind von Vorteil. Interesse an der Thematik erleichtert die Übung selbstverständlich.

Ab WS17 sind die Kenntnisse von Einführung in Visual Computing notwendig. Ohne diese ist die Absolvierung der LVA nur mit extrem hohem Mehraufwand möglich. Im WS19 werden Kenntnisse in C/ C++ benötigt. Es gibt zwar eine Einführung in die Sprache, aber ohne Vorkenntnisse wird man sich erst mühsam einarbeiten müssen.

Vortrag[Bearbeiten | Quelltext bearbeiten]

WS17: Zu Beginn des Semesters gibt es vier Termine, in denen Grundwissen zu C++ sowie OpenGL vermittelt wird. In der Mitte des Semesters (kurz vor der Deadline der dritten Aufgabe) gibt es ein Repetitorium, in dem die Aufgaben vier bis sechs erklärt werden.

WS20: Die Tutorials/ Vorträge sind im TUWEL als Aufzeichnung sowie als pdf verfügbar.

Übungen[Bearbeiten | Quelltext bearbeiten]

Jede Woche gibt es am Abend für eine Stunde ein freiwilliges Tutorium, bei dem man Fragen zu seinem Code und den Aufgaben stellen kann.

Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]

In den 2 Abgabesprächen werden die Übungsrunden und die Theorie auf Verständnis geprüft und man bekommt dann Punkte für die Beispiele bzw. auch Punkte für richtige Ergebnisse.

Die Gespräche waren sehr angenehm und vergleichbar mit EVC, auch wenn sie hier viel weniger streng benotet wurden. Man sollte darauf achten, dass die Abgabe wirklich so aussieht wie die Musterlösung, sonst kann man hier schon mal den einen oder anderen Punkt verlieren. Aber sonst wurden allgemeine Verständnisfragen gestellt und nicht zu streng nachgehakt.

(WS 2020) Meinung 1: Kommt wohl stark auf den Tutor an, bei mir wurde recht intensiv auf Theorie gefragt: Was ist der Unterschied zwischen Attribute und Uniforms, was ist ein VBO bzw. VAO, usw. (1.Abgabegespräch) Code wurde eher wenig besprochen, wurde mehr auf Verständnis geprüft.

Meinung 2: Es kam bei mir zu keinen Punkteabzügen. Tutor wollte nur eine recht oberflächliche Erklärung was in der Aufgabe zu tun war. Im zweiten Abgabegespräch gingen wir sogar garnicht direkt auf den Code ein. Wenn man versteht was und wieso man seine Abgabe so programmiert hat sollten die Abgabegespräche überhaupt kein Problem darstellen.

(WS 2022) Meinung 3: Die Bewertung hängt großteils vom Tutor ab, manche fragen quasi nichts, andere stellen Fragen zu Themen die gar nicht mit der in der spezifischen Aufgabe steckenden Theorie zusammenhängen, sondern mit Computergraphik allgemeiner. Es kann auch vorkommen, dass der eigene Code kaum betrachtet wird, sondern einfach Punkte basierend auf Vermutungen, wo der Fehler wahrscheinlich liegen könnte, abgezogen werden. Falls du bei etwas anderer Meinung als der Tutor bist, sag es ihm gleich, ich konnte so mehr Punkte rausholen. Es wurde (bei mir zumindest) nur Englisch in den Abgabegesprächen gesprochen wurde.


Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]

WS 2016/17: 2. Abgabegespräch am 12.01., bisher (31.01.) kein Zeugnis.
WS 2017/18: 2. Abgabegespräch am 15.01., Zeugnis am 22.01 (1 Woche)
WS 2020/21: 2. Abgabegespräch am 22.01., Zeugnis am 02.01 (1,5 Wochen)

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

Kommt darauf an, wie schwer/leicht man sich mit dem Verständnis tut. Der Zeitaufwand ist nicht davon abhängig, dass man viel coden muss, sondern die Theorie, die man beherrschen sollte. Wenn man alles notwendige versteht, ist ein "Sehr Gut" leicht zu erreichen.

Ich habe im Durchschnitt ungefähr 10h pro Aufgabe investiert.

Unterlagen[Bearbeiten | Quelltext bearbeiten]

Es gibt das ECG Wiki, wo alle notwendigen Informationen drin stehen. EVC - Folien WS17:
Das ECG Wiki existiert nicht mehr

WS20:
In TUWEL sind die Vorträge als Videos sowie die Folien als pdf verfügbar.

Tipps[Bearbeiten | Quelltext bearbeiten]

Es ist meiner Meinung nach DIE erste LVA im Medieninformatikzweig, die das erste Mal praktisch Richtung Computergraphik geht. Ich finde, man sollte sich wirklich Zeit nehmen und die Theorie, das PipeliningSystem, warum gewisse Sachen so sind wie sie sind, verstehen, da es eine Grundlage für die weiteren Computergraphik/Visualisierungs Fächer sind. Wenn man hier nur blind Sachen runtercoded , was möglich ist, da mehr oder weniger eine Step by Step Anleitung im Wiki steht und nicht die Elemente im Zusammenhang versteht, tut man sich prinzipiell auch schwer.

Bei allen 6 Aufgaben gibt es im Wiki einige Verständnisfragen. Vor den Abgabegesprächen den eigenen Code noch einmal anschauen und alle Fragen aus dem Wiki durchgehen und Antworten dazu finden hilft bei den Abgabegesprächen. Im Informatik-Forum gibt es Threads zu sehr vielen verschiedenen Programmierproblemen, wenn nicht erst kurz vor der Deadline angefangen wird gibt es auch noch die Möglichkeit, dort Fragen zu stellen und Antworten von anderen Studis und Tutor_innen zu bekommen. Die angebotenen Laborstunden sind sehr hilfreich, aber auch immer sehr voll, d.h. lange Wartezeiten, bis die eigene Frage beantwortet werden kann.

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

Meiner Meinung nach reicht das zu Verfügung gestellte Material bei weitem nicht aus, es beschreibt die Lösungen der Probleme nur an der Oberfläche. Sehr viel Zeit muss darin investiert werden, die kleineren Sachen der Lösungen zu ergooglen/selbst herauszufinden/so lange auszuprobieren bis sie funktionieren.

Auch sehr viel Zeit geht dafür drauf, die Objekte die für die späteren 3 Übungen gebraucht werden zu erstellen, und dann mit Normalen und Texturkoordiaten zu versehen.

Man muss für die UE Windows verwenden, weil das Framework, dass von der Leitung zu Verfügung gestellt wird sehr viel Zeit sparen soll, aber dann pumpt man diese auf der anderen Seite wieder in oben genannte Sachen. Ich fände es besser, wenn das ganze plattformunabhängig gemacht werden könnte, und man dafür nicht x Stunden lang 3D Objekte auf Zetteln rotieren muss, um Fehler in irgendwelchen Koordinaten zu finden.