Valve: Quellcode zu ToGL freigegeben
Valve hat den Quellcode der Schicht zwischen OpenGL und Direct3D freigegeben. Die Zwischenschicht namens ToGL war in den ersten Portierungen der Source Engine auf Linux und Mac OS X enthalten.

Längst hat Valve seine Source Engine mit direkter Unterstützung für OpenGL ausgestattet. Zuvor gab es die Zwischenschicht ToGL, die als Schnittstelle zwischen Direct3D in der Source Engine und OpenGL unter Linux und Mac OS X fungierte. Den Quellcode von ToGL hat Valve jetzt auf Github unter der MIT-Lizenz freigegeben.
Der Quellcode stammt direkt aus dem Source-Tree des Echtzeitstrategiespiels Dota2. Er unterstützt nur eine begrenzte Untermenge von Direct3D 9.0c. Zusätzlich gibt es eine Übersetzung von Microsofts High Level Shading Language für DirectX (HLSL) und der OpenGL Shading Language (GLSL). Einige Funktionen aus OpenGLs Shader Model 3.0 werden ebenfalls unterstützt, etwa Multiple Render Targets. Vertex Texture Fetching hingegen bleibt außen vor.
Der Quellcode lasse sich in dieser Form kaum nutzen, warnt Valve in dem beigelegten Readme. Er könne aber möglicherweise als Referenz für andere Entwickler dienen. Zudem lägen einige Teile des Quellcodes in speziell für die Source Engine angepasster Form vor. Möglicherweise kommt der Source Code den Wine-Entwicklern zugute.
Valve hatte in eigenen Messungen festgestellt, dass etwa das Spiel Left 4 Dead 2 unter Linux mit OpenGL bessere Bildraten erzielte als unter Windows. Laut den Entwicklern liegt das an einem kleinen Overhead im Mikrosekundenbereich, der in diesem Spiel bei Direct3D auftritt. Allerdings ist OpenGL generell unter Windows langsamer als unter Linux. In ersten Tests mit SteamOS konnten wir Mitte Dezember 2013 zumindest in den von uns getesteten Spielen und Benchmarks im Mittel nur wenige Geschwindigkeitsvorteile feststellen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Keiner nutzt aber das gesamte Paket, es gibt etliche Spiele die nur Dx3D nutzen.
Nein, das liegt nur an den Treibern. Die OpenGL Library selber macht eigentlich gar...