OpenGL
OpenGL ist eine Spezifikation für ein plattform- und programmiersprachenunabhängiges API (Application Programming Interface) zur Entwicklung von 3D-Computergrafik. Der OpenGL-Standard beschreibt etwa 250 Befehle, die die Berechnung komplexer 3D-Szenen in Echtzeit erlauben. Hersteller können jedoch auch eigene Erweiterungen definieren.OpenGL ist nur ein Standard, keine Implementierung. Wie das Betriebssystem die Befehle verarbeitet, ist Sache des Grafikkarten-Treibers, der die Befehle an die Grafikkarte weitergibt (Hardware- oder auch Direct Rendering) oder auf der CPU ausführt, wenn die Grafikkarte den entsprechenden Befehl nicht bearbeiten kann (Software Rendering). Die Implementierungen werden daher in der Regel vom Hersteller zur Verfügung gestellt, es gibt jedoch auch Open Source Varianten wie z.B. die Mesa-Bibliothek.
OpenGL entstand ursprünglich aus dem von Silicon Graphics (SGI) entwickelten IRIS GL. Im so genannten Fahrenheit Projekt versuchten Microsoft und SGI ihre 3D-Standards zu vereinheitlichen, das Projekt wurde jedoch aufgrund finanzieller Schwierigkeiten auf Seiten von SGI abgebrochen.
Der OpenGL-Standard wird vom OpenGL Architecture Review Board (ARB) festgelegt. Das ARB existiert seit 1992 und besteht aus einer Reihe von Firmen wie 3Dlabs, Apple, ATI, Dell, Evans & Sutherland;, Hewlett-Packard, IBM, Intel, Matrox, NVidia, SGI und Sun. Microsoft, eines der Gründungsmitglieder, hat das ARB im März 2003 verlassen. Neue Funktionen in OpenGL werden meist zuerst als herstellerspezifische Erweiterungen eingeführt und gehen dann den Weg über herstellerübergreifende Erweiterungen und ARB Erweiterungen zu Kernfunktionalität. Dies ermöglicht es, neueste Möglichkeiten der Graphikhardware zu nutzen und dennoch OpenGL abstrakt genug zu halten.
Aufgrund seiner Plattformunabhängigkeit ist OpenGL im professionellen Bereich als 3D-Standard nach wie vor führend. Im Bereich der Computerspiele wurde es jedoch in den letzten Jahren zunehmend von Microsofts DirectX verdrängt und hält sich hauptsächlich noch aufgrund der Beliebtheit der Engines von id Software. Die aktuelle Version des Standards ist OpenGL 1.5.
Weitere bedeutende in Zusammenhang mit OpenGL stehende APIs sind:
- GLU, die OpenGL Utility Library, die vom ARB standardisiert und Teil jeder OpenGL Implementierung ist.
- GLX, die das Interface zwischen dem X Window System und OpenGL bildet
- WGL, die Windows Graphics Library, die OpenGL und Windows verbindet und
- AGL, das entsprechende Gegenstück für MacOS.
- GLUT, eine Bibliothek, die aufbauend auf OpenGL, GLU und je nach Plattform GLX, WGL oder AGL eine plattformunabhängige API für Ein-/Ausgabe, Erstellen von Rendering-Kontexten und dergleichen mehr bietet.
- Java 3D, eine API für Java, welche es erlaubt, auf einfache Art und Weise 3D-Anwendungen zu entwickeln, die auf jedem Java-2-fähigen Betriebssystem laufen.
- OpenAL, eine Audiobibliothek für Raumklang, deren API an OpenGL angelehnt ist.
Table of contents |
2 Typische Anwendungen für OpenGL 3 Weblinks |
Verwendete Verfahren
Typische Anwendungen für OpenGL
Weblinks