CGExercises

CG Exercise #00

Computergraphik Ãœbungsblatt #00


Orga & Installation
als Vorbereitung für Übung #01



Grundlegendes zum Computergraphik-Praktikum


In diesem Praktikum beschäftigen wir uns hauptsächlich mit einem Teilbereich der Computergraphik: der sog. Bildsynthese (siehe rechte Illustration).

In der Bildsynthese gibt es zwei antagonistische Ziele

Photorealismus vs. Interaktion

Stellvertretend für diese zwei Ziele werden wir im Praktikum die folgende Software anwenden:

OpenGL vs. Blender

Näheres dazu in der Vorlesung.

Organisatorisches


Das Aufgabenblatt ist in der jeweiligen Praktikumsstunde zu bearbeiten. Die dazugehörigen Hausaufgaben entsprechend bis zu nächsten Praktikumsstunde. Sie führen außerdem ein Protokoll über die jeweiligen Praktika, das Sie regelmäßig abgeben. Näheres dazu siehe hier.


Installation


Aufgabe 0.1: Linux Installation

Die empfohlene Plattform für die Praktika ist Linux bzw. Ubuntu!

Die Laborrechner sind bereits entsprechend mit Linux vorinstalliert. Wenn Sie mit Ihrem eigenen Rechner arbeiten (BYOD), folgen Sie bitte den Hinweisen des Linux Tutorials.

Auch ein relativ alter Rechner ist mit der passenden Linux Distribution vollkommen ausreichend für das Praktikum. Falls Sie Sich dennoch einen neueren Rechner zulegen wollen, so finden Sie entsprechenden Kaufempfehlungen hier.

Aufgabe 0.2: OpenGL Installation


OpenGL glxgears

Sie benötigen OpenGL.

Laden Sie bitte das glVertex Framework herunter, welches die OpenGL Installation vornimmt und geben Sie dazu im Downloadverzeichnis folgendes im Terminal ein:

unzip *.zip
cd glvertex-*
./installer.sh

Das obige Skript installiert alle Softwarekomponenten, die für die Softwareentwicklung mit OpenGL notwendig sind, vollkommen automatisch. Sie müssen während des Ablaufs lediglich das Admin-Passwort verdeckt eingeben und die Installation bestätigen. Alle gängigen Linux-Distributionen wie Ubuntu, Mint, Debian, Fedora und openSUSE werden unterstützt.

Das glvertex Framework funktioniert zwar ebenfalls unter Windows und MacOS, wir empfehlen aber ganz ausdrücklich nur Ubuntu. Wir leisten für andere Betriebssysteme keine Hilfestellung (insbesondere nicht für Mac oder Windows)! Falls Sie keine Ubuntu Installation zur Verfügung haben sollten, so empfehlen wir einen Ubuntu Labor- oder Leihrechner. Bitte wenden Sie Sich dazu an unsere LabIngs!

Nach erfolgreicher Installation starten wir das Programm glxgears. Sie sollten nun ein paar rotierende Zahnräder (wie im rechten Bild) zu sehen bekommen. Im Hintergrund werkelt bereits OpenGL und damit die Hardwarebeschleunigung der eingebaute Graphikkarte. Das ist in der Regel eine Graphikkarte von Intel, NVidia oder AMD. Näheres dazu erfährt man mit dem Befehl glxinfo.

Materialien:

Aufgabe 0.3: OpenGL Framework


Beispielprogramm qt_triangle

Ãœbersetzen Sie im Terminal das Beispielprogramm qt_triangle im qt_examples Verzeichnis, und rufen Sie es auf:

cd qt_examples
cmake . && make && ./qt_triangle

Bemerkung: Das && zwischen den hintereinander aufgeführten Einzelbefehlen stellt sicher, dass bei einem Fehler der folgende Befehl nicht aufgerufen wird.

Falls Sie ein rotierendes Dreieck sehen, so haben Sie nun das OpenGL Framework ein erstes Mal erfolgreich verwendet. Läuft!

Optional: Ãœbersetzen Sie zum Abschluss noch einmal analog das Beispielprogramm qt_gears im qt_examples Verzeichnis.

Tipp: Falls Sie Abstürze oder Glitches entdecken, versuchen Sie den sog. Software-Rasterizer zu aktivieren, indem Sie in der Shell die folgende Environment-Variable setzen:

export LIBGL_ALWAYS_SOFTWARE=1

Der Effekt hält an, bis die Shell beendet wird. Er funktioniert leider nicht mit NVidia Treibern!


Protokoll des aktuellen Praktikums


Bitte protokollieren Sie die Ergebnisse des aktuellen Praktikums mit. Für heute reicht ein einfacher Screenshot von qt_triangle und eine stichpunktartige Kurzbeschreibung der Installationsschritte und eine abschließenden Reflektion darüber, was für Aha-Effekte Sie heute eventuell hatten oder welche Probleme eventuell aufgetreten sind-

Es wird empfohlen, die Hausaufgaben ebenfalls im Protokoll mit zu dokumentieren, dies ist aber kein Muß. Voraussetzung zum Bestehen des Praktikums ist jedoch, dass mindestens die Dokumentation der jeweiligen Praktika im Gesamtprotokoll vorhanden ist und bis zur jeweiligen Deadline hochgeladen wurde.


Hausaufgaben bis zum nächstem Praktikum


1. BYOD (Bring-Your-Own-Device):

Vergewissern Sie Sich, dass Sie bis zum nächsten Praktikumstermin eine lauffähige Linux-Installation auf Ihrem eigenen Rechner haben!

2. OpenGL:

  1. Ãœbersetzen Sie analog zu Aufgabe 0.3 den Shader Editor (mittels qmake && make im Verzeichnis qt_editor) und probieren Sie ihn selber aus.
  2. Was passiert, wenn Sie im Vertex-Shader die Multiplikation mit der sog. Model-View-Projection Matrix mvp löschen? Was könnte also der Zweck dieser Matrix sein? Googlen Sie danach!
  3. Machen Sie die Löschung rückgängig und laden Sie den Teapot (teapot.obj) als Objekt in den Editor. Ersetzen Sie im Fragment-Shader color durch vec4(1,0,0,1). Was passiert?

Bitte zögern Sie nicht damit, im Laufe des Praktikumsbetriebs nach Hilfe zu fragen - auch untereinander. Gemeinsam kommt man besser zum Ziel.


Und nun viel Spaß mit 3D Computergraphik

Options: