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.

  • Teaser für OpenGL: Kleine Shader Editor Demo (Stefan: T#11h)
  • Teaser für Blender: Kleine Vorschau auf die Blender Renderengines (Adam)

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: Wahl der Plattform


Linux / Mac / Windows

Für die Programmieraufgaben wird ein Framework zur Verfügung gestellt (siehe Aufgabe 0.2), welches den Einstieg in OpenGL bzw. GLSL erleichtert. Die dafür benötigte Plattform ist Linux, Windows oder Mac.

Die empfohlene Plattform für die Praktika ist Linux bzw. Ubuntu! Für diese Plattform wird von seiten der Betreuer Support angeboten. Für Windows und Mac folgen Sie bitte den untenstehenden Hinweisen für Ihre jeweilige Plattform.

Die Laborrechner sind bereits entsprechend mit Linux vorinstalliert. Wenn Sie mit Ihrem eigenen Rechner unter Linux arbeiten (BYOD), folgen Sie zur Installation von Linux bitte den Hinweisen des Linux Installations Tutorials. Dies kann bei Bedarf im Praktikum exemplarisch anhand einer virtuellen Maschine vorgeführt werden.

Hinweis: 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.

Falls Sie Probleme mit einer Dual-Boot Ubuntu-Installation aufgrund von nicht unterstützten Hardkomponenten o.ä. haben, so können Sie alternativ auch eine virtuelle Maschine verwenden oder sich einen Ubuntu Labor- bzw. Leihrechner ausleihen. Bitte wenden Sie Sich dazu an unsere LabIngs in BB.106 oder BB.008!

Aufgabe 0.2: OpenGL & Framework Installation


glVertex

Sie benötigen für das Arbeiten mit OpenGL das sog. glVertex Framework.

Laden Sie bitte den glVertex Framework Installer in Ihr Download-Verzeichnis herunter und entpacken Sie die Archiv-Datei.

Unter Linux lassen sich damit alle Softwarekomponenten, die für die Softwareentwicklung mit OpenGL notwendig sind, automatisch installieren. Alle gängigen Linux-Distributionen wie Ubuntu, Mint, Debian, Fedora und openSUSE werden unterstützt.

Um Installation unter Linux zu starten, gehen Sie ins entpackte Verzeichnis und starten das Skript installer.sh als Programm via Right-Click.

Alternativ geben Sie bitte im entpackten Verzeichnis des Installers einfach Folgendes im Terminal ein (Tipp: Öffnen im Terminal durch Right-Click auf das Verzeichnis):

./installer.sh

Das glVertex Framework unterstützt neben Linux auch Windows und MacOS. Wir empfehlen für eine optimale Unterstützung von OpenGL trotzdem Ubuntu als Plattform.

Folgen Sie also entsprechend Ihrer jeweiligen Hardware-Plattform bei der Installation bitte den Anweisungen des entsprechenden Installations-Tutorials für Ihr jeweiliges Betriebssystem:

Materialien:

Demo: OpenGL Test


OpenGL glxgears

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

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVS 5200M/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 390.157
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL version string: 4.6.0 NVIDIA 390.157
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 390.157
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Demo: OpenGL Framework


Beispielprogramm qt_triangle

Wir übersetzen im Linux 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.

Hinweis: Unter Windows und Mac verwendet man in der Regel CMake nicht auf der Kommando-Zeile sondern das CMake GUI oder öffnet mit dem QtCreator die entsprechende qt_gears.pro Datei.

Falls man ein rotierendes Dreieck sieht, so hat man nun das OpenGL Framework erfolgreich installiert. Läuft!

Wir übersetzen zum Abschluss noch einmal analog das Beispielprogramm qt_gears im qt_examples Verzeichnis und schalten in den Wireframe-Modus (Ctrl-w), mit dem man das Dreicksgitter betrachten kann.


Protokoll des aktuellen Praktikums


Bitte protokollieren Sie bis zum nächsten Mal Ihre eigenen Installationsschritte und was Sie ggfls. für Aha-Effekte hatten oder welche Probleme eventuell aufgetreten sind.

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


Hausaufgaben bis zum nächstem Praktikum


BYOD (Bring-Your-Own-Device):

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

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: