zu www.bildungsgueter.de zur Inhaltsübersicht des Kapitels

Beispielprogramme

Verwendung von OpenGL ES 1.1


Kurzbeschreibung

Das Beispielprogramm zeigt verschiedene geometrische Körper. Es erlaubt dem Betrachter die Drehung der Szene, die Änderung von Licht- und Materialfarben, Texturen und Nebel.

Das Programm steht in zwei Versionen zur Verfügung, die sich in ihrer Funktion für den Betrachter nicht unterscheiden. Der Unterschied betrifft die Art der Bilderzeugung:

Das Hauptfenster des Beispielprogramms zeigt drei Schieberegler und einen Anzeigebereich für die erzeugte Grafik:

Mit OpenGL ES 1.1 erzeugte Szene: Kugel und sphärische Helix

Mit den Schiebereglern kann die dargestellte Szene um den Ursprung des Koordinatensystems gedreht werden.

Editor für die Bearbeitung der Szene

Mit OpenGL ES 1.1 erzeugte Szene: Torus (grün) und Torusknoten (orange)

Erforderliche Pakete

Beide Programme sind in C++ geschrieben und verwenden Gtk-3 und GLM. Die benötigten Pakete sind:

Die Installation der benötigten Pakete geschieht mit dem Befehl

sudo apt-get install libgtkmm-3.0-dev libglm-dev libegl1-mesa-dev

Wenn Gtk-3 ohne GNOME verwendet wird - was in TinkerOS meist der Fall sein wird - tritt eine irritierende Warnung auf, wenn ein Programm gestartet wird, das Gtk-3 verwendet. Ursache der Warnung ist der Versuch, eine Ver­bin­dung zu nicht installierten Infrastruktur­komponenten von GNOME herzustellen. Zur Vermeidung dieses Fehlers ist in der Datei /etc/environment der folgende Eintrag vorzunehmen:

export NO_AT_BRIDGE=1

Die genannte Datei ist ursprünglich leer. Um sie zu bearbeiten, benötigst du die Rechte des Systemverwalters. Ein mögliches Vorgehen ist:

cd /etc
sudo leafpad environment

Im Editor leafpad kannst du die Datei nun bearbeiten und anschließend speichern.

Die Eintragung wird mit dem nächsten Neustart des Betriebssystems wirksam.

Compilierung

Nach der Installation aller erforderlichen Pakete geschieht die Compilierung im Hauptverzeichnis des Projekts wie folgt:

make

Das compilierte Programm wird im Hauptverzeichnis des Projekts abgelegt und mit dem Befehl

./demo

gestartet.

Hinweise

Das Programm kann nicht unverändert auf dem Raspberry Pi compiliert werden, weil der Raspberry für die Verwendung der GPU Bibliotheken benötigt, die auf dem Tinker Board nicht zur Verfügung stehen. Für den Rasperry steht ein Beispielprogramm mit gleichem Funktionsumfang hier zur Verfügung.


Beispielprogramm in C#

Erforderliche Pakete

mono-complete

Der Zugriff auf die Treiber für EGL und für OpenGL ES 1.1 geschieht mit der Interoperabilitätsschnittstelle von C#.

Direktes Zeichnen in ein Fenster ist mit Gtk-2 möglich. Für Gtk-3 stellen die Beispiele dieses Tutorials im Augenblick nur Rendering in den Speicher der GPU und anschließende &Uuuml;bernahme des Bildes in den Bildspeicher von Gtk zur Verfügung.


ls

zur Inhaltsübersicht des Kapitels