TU Wien:Computergraphik UE (Wimmer)

Aus VoWi
Wechseln zu: Navigation, Suche


Daten[Bearbeiten]

Inhalt[Bearbeiten]

Ziel dieser LVA ist, ein 3D Computerspiel mit C++ und OpenGL zu programmieren.

Ablauf[Bearbeiten]

Am Anfang des Semester sucht man sich einen Partner, mit dem man einen Spielvorschlag erstellt. (Design Document)

Danach gibt es eine Zwischenabgabe und eine Endabgabe.

Die Kriterien der Zwischenabgabe sind in dem CG-Wiki zu finden, aber im Grunde müssen folgende Punkte schon vorhanden sein: (ist aber noch nicht so streng)

  • 3D Raum mit freibeweglicher Kamera
  • Texturing und Lighting
  • Elementares Gameplay

In der Endabgabe ist dann das fertige Spiel abzugeben, dabei müssen folgende Punkte implementiert sein:

  • Jeder Teampartner muss 2 Punkte an Effekten programmieren, um überhaupt positiv zu sein.
  • Gameplay und Physik
  • Frustum-Culling
  • Animierte Objekte
  • Komplexe Objekte
  • Transparenz
  • ...

Nach jeder Abgabe gibt es ein "Spieleevent", in welchem jede Gruppe ihr Spiel und ihren aktuellen Stand kurz präsentiert.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten]

Einführung in Computergraphik und Einführung in Visual Computing sollte man unbedingt vorher gemacht haben. Dort werden die Grundprinzipien von CG erklärt. Viewing Pipeline, sowie Renderingpipeline

Vortrag[Bearbeiten]

Es gibt nur am Anfang des Semester ein paar Tutorien, die erklären, wie man OpenGL zum Laufen bekommt. Diesen sollte man sich unbedingt ansehen. Manchmal werden diese Vorträge von Studierenden aufgezeichnet, das Tutorenteam stellt diese Aufzeichnung dann gerne online. (Im SS17 wurden die Tutorien von der LVA-Leitung aufgezeichnet und im Tuwel hochgeladen)

Prüfung, Benotung[Bearbeiten]

noch offen

Dauer der Zeugnisausstellung[Bearbeiten]

  • SS16: 2. Spieleevent: 28.6., Zeugnis: 25.7. (~4 Wochen)

Zeitaufwand[Bearbeiten]

Kommt auf die Vorkenntnisse an, fängt man bei 0 an, sollte man sehr früh beginnen.

Der Aufwand ist extrem hoch. Grade wenn man noch keine Erfahrung in C++ und OpenGL hat sollte man sehr viel Zeit einplanen!

SS17: Die LVA ist meiner Meinung nach durch die lange Einarbeitungsphase eine der zeitaufwendigsten des Medieninformatik-Bachelors. Der eigenen Erfahrung nach und laut Gesprächen mit Kollegen ist außerdem die "Absprung"-Rate außergewöhnlich hoch, sprich es kommt öfter mal vor, dass einzelne Studenten mittendrin aufhören. Die Arbeit bleibt dann am anderen Gruppenmitglied hängen (es müssen in dem Fall nur die Hälfte der Effekte implementiert werden, was aber nur einen relativ kleinen Teil des Gesamtaufwands ausmacht).

Unterlagen[Bearbeiten]

Es gibt ein Wiki, in welchem die Folien der Eingangsvorträge und weitere hilfreiche Infos gesammelt werden.

Hilfreiche Links:

  • learnopengl.com
  • opengl-tutorial.org

Tipps[Bearbeiten]

  • Nicht zu viel Aufwand in gute Code-Architekur oder ähnliches investieren. Der Code spielt bei der Bewertung keine große Rolle, das Spiel schon.
  • Das Spielkonzept schon mit der Liste der notwendigen Features planen.
  • Das Spiel auf dem Abgaberechner (im VisLab, Favoritenstraße 5. Stock) ausprobieren! Nur weil es bei euch läuft, heißt es nicht, dass es dort läuft. Zweite Meinung: Kann ich bestätigen, habe beim Testen am PC und Laptop keine Probleme gehabt, aber am Labor-Rechner gabs auf einmal einen Shader-Error.
  • SS17: Ich hab zwei Wochen lang vergeblich probiert, auf dem Code aufzubauen, der bei den Tutorien gezeigten wurde. Stattdessen hab ich dann komplett neu gestartet und bin einfach den ersten drei Kapiteln von https://learnopengl.com/ Schritt für Schritt gefolgt (Getting started bis Model Loading). Kann diese Vorgehensweise nur jedem empfehlen, da die Erklärungen auf der Website wirklich gut sind und man mit der Zeit auch wirklich versteht wie OpenGL funktioniert. Außerdem sind dort auch einige fortgeschrittene Tutorials zu finden, die man u.a. für die Implementierung der Effekte (z.B. Shadow-Maps) verwenden kann.

Verbesserungsvorschläge / Kritik[Bearbeiten]

Ich persönlich mache die LVA nur, weil sie verpflichtend ist, habe aber kein Interesse an Spieleentwicklung. Den Modus empfinde ich da eher als hinderlich. Es wird großer Wert darauf gelegt, dass am Ende ein funktionierendes Spiel da ist, mitsamt Spielprinzip (eine Figur durch eine Umgebung zu bewegen reicht nicht aus). Auf der anderen Seite wurde von den Tutoren mehrfach betont, dass der Code kaum bewertet wird. Es ist sehr wenig Spielraum zwischen einem Genügend und einem Sehr Gut, wer nicht alle Anforderungen erfüllt fällt sehr schnell durch. Ich kann mir vorstellen, dass das für alle, die Spiele entwickeln wollen, ein toller Modus ist, aber IMHO gehört diese Herangehensweise in ein Wahlfach, nicht in ein Pflichtfach.