OpenGL 3.0 ist fertig: Volle GPU-Programmierung ohne DirectX
Eigentlich hatte der Standardwächter Khronos bereits Ende 2007 mit OpenGL 3.0 gerechnet , nun hat sich die Entwicklung aber noch über ein halbes Jahr länger hingezogen. Ein Grund dürfte Intels Larrabee sein: Laut Khronos haben AMD, Intel und Nvidia die größten Beiträge zum Standard geliefert. Alle drei Hersteller haben sich verpflichtet, die Schnittstelle auf ihre Hardware umzusetzen.
War OpenGL bisher schon ein recht offenes Konzept, das über eigene Extensions erweitert werden konnte, so wird dieser Kunstgriff nun standardisiert. Bekanntestes Beispiel für Grafikeffekte mit OpenGL-Extensions sind die Spiele von iD Software, für welche die Programmierer um John Carmack aber die Grafikprozessoren stets neu erforschen mussten.
Mit OpenGL 3.0 gibt es nun die stark erweiterte "Open GL Shader Language" (GLSL) in der Version 1.30. Damit soll - wie schon seit DirectX 9 unter Windows - auch unter offenen Betriebssystemen die Programmierung von Grafikanwendungen erleichtert werden. Mit GLSL 1.30 können die Entwickler mit einer nur sehr dünnen Abstraktionsschicht nahezu direkt auf die Hardware zugreifen. Das setzt jedoch voraus, dass die Chiphersteller GLSL 1.30 vollständig implementieren.
Ein Beispiel für die nun vereinheitlichten Extensions ist ein Geometrie-Shader, den Khronos registrierten Entwicklern zugänglich machen will. Diese Funktion bildet die Manipulation der Geometriedaten in der Grafikkarte wie beispielsweise bei Simulation von Rauch oder Wasser in Partikelsystemen nach. Bei der konkurrierenden Schnittstelle DirectX ist das seit Version 10 Pflicht für die Grafikkarte. Mit den neuen Extensions sollen diese Teile der Hardware auch für OpenGL nutzbar gemacht werden.
OpenGL 3.0 selbst hebt die bisher sehr strenge Trennung der Speicherbereiche auf. So können nun Objekte im Framebuffer direkt manipuliert werden, was etwa für Filterverfahren wie Anti-Aliasing wichtig ist. Die Renderbereiche und Texturspeicher können mit 32-Bit-Daten umgehen, was mehr Präzision und höhere Farbtiefen erlaubt. In Windows-Spielen kennt man einen Effekt dieser breiteren Daten als HDR mit seinen typischen Überstrahlungseffekten, bei denen es im Idealfall keine stufenförmigen Farbverläufe gibt.
Auch in einem weiteren, sich gerade erst entwickelnden Bereich, schließt OpenGL nun mit den Entwicklungen der Grafikhardware auf. Die "Open Compute Language" (OpenCL) ist jedoch noch nicht fertig. Wie bei Nvidias CUDA sollen sich damit die Grafikprozessoren mit einer auf C basierenden Sprache für reine Rechenanwendungen (GPGPU) nutzen lassen. OpenCL soll, wenn es denn fertig ist, lizenzfrei bleiben.
Eine über 500 Seiten starke Spezifikation für OpenGL im PDF-Format ist bei Khronos(öffnet im neuen Fenster) ohne Anmeldung einzusehen. GLSL und andere Teile der Schnittstelle sind in eigenen PDF-Dateien dokumentiert.



