Die dritte Dimension
3D-Grafik unter X: Die Grundlagen
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).
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.



