OpenGL

Einzelnen Karten weisen unterschiedliche Funktionen auf und sind zudem vollkommen verschieden aufgebaut. Ein Programmierer muss deshalb jede einzelne Grafikkarte kennen, wenn er ein Programm mit 3D-Grafik schreiben möchte. Um dieses Problem zu umgehen, presst man einen Satz von Funktionen in eine Bibliothek. Eine dieser Funktionen könnte z. B. "male einen Quader" oder "zeichne eine Kugel" lauten. Die Entwickler können die Bibliothek innerhalb ihrer eigenen Programme verwenden und ersparen sich so zusätzliche Arbeit.

Aufgrund der Standardisierung kann die Bibliothek auf jedem Computer durch ein, speziell auf das eingesetzte Grafikkartenmodell zugeschnittenes Pendant ausgetauscht werden. Das eigentliche Programm muss hierbei nicht geändert werden. Eine solche Standardisierung für den Bereich der 3D-Grafik hat die Firma Silicon Graphics vorgenommen und das Ergebnis unter der Bezeichnung OpenGL veröffentlicht (http://www.opengl.org). Ein klassisches Beispiel für eine solche Bibliothek ist das freie und kostenlose Mesa (http://www.mesa3D.org). Sie entspricht fast den Forderungen des OpenGL-Standards. In der Praxis dient Mesa häufig Hardware-Herstellern als Basis für ihre eigenen OpenGL-Bibliotheken.

Unter Linux verwenden nahezu alle Programme mit einer dreidimensionalen Grafikausgabe die OpenGL-Bibliothek. Dies hat den angenehmen Seiteneffekt, dass alle OpenGL-basierten Programme automatisch von dem Einsatz einer optimierten OpenGL-Bibliothek profitieren.

Die Funktionen der OpenGL-Bibliothek möchte man auch unter der grafischen Oberfläche und dort insbesondere innerhalb der einzelnen Fenstern nutzen. Damit dies reibungslos klappt, wird ein Erweiterungsmodul für den X-Server benötigt, das als GLX-Modul oder GLX-Treiber bezeichnet wird.

Alles zusammen

Damit haben wir alles zusammen, was wir für eine schnelle Grafikausgabe benötigen (vgl. Abbildung 2).

Abbildung 2: Der weite Weg der 3D-Daten vom Programm bis auf den Bildschirm unter Ausnutzung der OpenGL-Bibliothek und des Direct Rendering Interface

Die Funktionen der aufgerufenen OpenGL-Bibliothek greifen über das DRI-Kernel-Modul direkt auf die Grafikkarte zu. Innerhalb des X-Servers hilft das GLX-Modul, die 3D-Bilder in den zugehörigen, korrekten Fenstern anzuzeigen. Der Kartentreiber des X-Servers sorgt für die schnelle Darstellung des gesamten Desktops auf dem Monitor. Durch das perfekte Zusammenspiel wird jede Sekunde Rechenzeit perfekt ausgenutzt.

Sie brauchen nach den Komponenten jedoch nicht in den Tiefen des Internets zu suchen. In einer neuen Distribution mit XFree 4.x und der Kernel-Version 2.4.x ist alles vorhanden. Der Kernel bringt seine DRI-Treiber selbst mit und das XFree 4.x -Paket enthält standardmäßig alle Erweiterungsmodule.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • 3D-Grafik unter X: Die Konfiguration
    Nachdem der vorhergehende Artikel "Die dritte Dimension" einen Blick hinter die Kulissen geliefert hat, wollen wir nun zeigen, wie Sie selbst die 3D-Unterstützung Ihrer Grafikkarte unter Linux aktivieren können.
  • Gamezone
    Spiele für Linux? Gibt es die denn überhaupt? Ja, und zwar mehr als Mancher vermuten mag. Wir bieten an dieser Stelle einen Überblick über die beliebtesten Spiele und zeigen Wege aus dem Installationsirrgarten.
  • 3D-Power unter Linux
    Die Auswahl an Spielen für Linux ist mittlerweile groß. Ob First-Person-Shooter oder Märchenabenteuer – die ganze Bandbreite wird abgedeckt. Aber die volle Pracht entfalten heutige 3D-Spiele nur, wenn sie auf "der richtigen" Hardware laufen.
  • XFree86 4.0 - die neue Version
    Microsoft wirbt für sein Betriebsystem Windows mit einer Funktion, die es erlaubt, zwei Grafikkarten gleichzeitig zu betreiben. Das neue XFree86 4.0 geht einen Schritt weiter und steuert unter Linux gleich eine ganze Monitorwand. In diesem Artikel sagen wir Ihnen, was XFree86 überhaupt ist und was die neue Version 4.0 auch für Anwender bringt, die ein solches Bildschirmmonster nicht ihr Eigen nennen.
  • 3D-Grafik – Die Grundlagen
    Das Genre der 3D-Spiele boomt in der Windows-Welt in letzter Zeit gewaltig. Damit auch unter Linux die 3D-Frame-Raten in die Höhe schnellen, benötigt man spezielle 3D-Treiber, die das Optimum aus der eingebauten Grafikkarte herausholen.
Kommentare

Infos zur Publikation

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 2 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Start-Job behindert Bootvorgang, Suse 13.2, KDE,
Wimpy *, 20.02.2015 10:32, 4 Antworten
Beim Bootvorgang ist ein Timeout von 1 Min 30 Sec. weil eine Partition sdb1 gesucht und nicht gef...
Konfiguration RAID 1 mit 2 SSDs: Performance?
Markus Mertens, 16.02.2015 10:02, 4 Antworten
Hallo! Ich möchte bei einer Workstation (2x Xeon E5-2687Wv3, 256GB RAM) 2 SATA-SSDs (512GB) al...
Treiber für Canon Laserbase MF5650
Sven Bremer, 10.02.2015 09:46, 1 Antworten
Hallo ich weiß mittlerweile das Canon nicht der beste Drucker für ein Linux System ist. Trotzd...
Linux und W7 im Netz finden sich nicht
Oliver Zoffi, 06.02.2015 11:47, 3 Antworten
Hallo! Ich verwende 2 PCs, 1x mit W7prof 64 Bit und einmal mit Linux Mint 17 64 Bit, welches ich...
Rootpasswort
Jutta Naumann, 29.01.2015 09:14, 1 Antworten
Ich habe OpenSuse 13.2 installiert und leider nur das Systempasswort eingerichtet. Um Änderungen,...