Grafik-API: Valve-Entwickler fordert Neustart für OpenGL
Mantle und das angekündigte DirectX 12 werden bald wesentlich besser sein als OpenGL. Deshalb müsse OpenGL dringend erneuert werden, fordert Valve-Entwickler Rich Geldreich.

"OpenGL braucht einen Neustart, da meiner Meinung nach Mantle und D3D12 es bald fertigmachen werden", schreibt Valve-Entwickler Rich Geldreich in seinem Blog. Sowohl Mantle als auch das für Ende 2015 angekündigte DirectX 12 erlauben, anders als OpenGL, eine sehr hardwarenahe Programmierung. Geldreichs Kritik geht aber weit darüber hinaus.
OpenGL zu kompliziert
Die API selbst sei viel zu kompliziert, Unnötiges solle entfernt werden, so Geldreich. Er vermutet, dass Spielentwickler die einfachsten Lösungen suchen und so ihren Render-Code auf Mantle und D3D12 portieren werden. Anders als bei OpenGL müssen sie dort ihren Render-Code nämlich nicht komplett neu schreiben. Nur wenn OpenGL modernisiert und vereinfacht werde, werde es sich gegen Mantle und D3D12 behaupten können.
Zudem sei das Erzeugen eines GL-Contextes "haarsträubend und atemberaubend schwierig und unglaublich fehleranfällig". Oft sei es einfacher, Bibliotheken wie SDL oder GLFW zu verwenden, statt die Plattform-APIs wie etwa GLX oder WGL.
Darüber hinaus erschweren diverse Mängel an den glGet()-Funktionen das Schreiben eines Debuggers. So würden von den Hunderten verschiedenen Werten für die Funktionen einige nur von einzelnen Treibern unterstützt. Insbesondere der Umgang mit Fehlern müsse komplett überarbeitet werden, so Geldreich.
Uneinheitliche Spezifikationen
Durch die Verwendung der OpenGL-Erweiterung Direct State Access (DSA) könne außerdem der durch bestimmte Funktionen erzeugte Mehraufwand einer Anwendung erheblich reduziert werden. Das geschehe etwa bei der Source-Engine von Valve. Noch ist DSA aber nicht standardisiert und wird deshalb nicht überall unterstützt.
Vor allem Anfängern werde die Arbeit mit OpenGL durch eine teils schlechte und lückenhafte Dokumentation, eine fehlende Beschreibung in der Spezifikation sowie eine uneinheitliche Versionierung erschwert.
Die aktuelle Version OpenGL 4.4 wurde im Sommer 2013 veröffentlicht. Wann eine neue Version der API erscheint, ist derzeit nicht absehbar. Nvidia hat bereits angekündigt, OpenGL stark beschleunigen zu wollen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Stellt sich nur die Frage ob Mantle praktisch 1:1 die DX12 erweiterungen vorweg genommen...
Nenne doch mal Patente von MS die in D3D sind. Wine hat jetzt schon für jede Plattform...
Nein, ist es nicht, da zum einen OpenGL auch im Fenster möglich ist und Window Manager...
Gute Idee.