WebGL-Grafikentwicklung im Browser
Skripte für hardwarebeschleunigte Grafikwiedergabe mittels WebGL lassen sich jetzt auch direkt im Browser testen. Der WebGL Playground macht es möglich.
- Robert Lippert
WebGL setzt sich zunehmend als plattformübergreifender Standard für die hardwarebeschleunigte Grafikberechnung und -wiedergabe im Browser durch. Mozillas Firefox und Googles Chrome unterstützen die Technik und auch für Microsofts Internet Explorer gibt es einen Ansatz, die OpenGL-Schnittstellen auf Microsofts DirectX-API abzubilden. Wer selbst mit WebGL experimentieren möchte, kann sich jetzt im WebGL Playground austoben – die Seite bietet einen Online-Editor für WebGL-Skripte, der Code kann "on-the-fly" ausgeführt und noch auf der gleichen Seite in Aktion getestet werden.
Die von Krystian Samp entwickelte Plattform fasst den Editor und das Ausgabefenster auf einer Seite zusammen, Entwickler brauchen sich nicht um das sonst ĂĽbliche Paket aus HTML-, CSS-, JavaScript und GLSL-Dateien kĂĽmmern. Die Seite unterstĂĽtzt JavaScript-Code und GLSL-Vertex-/Fragment-Shader, zudem stellt das System verschiedene JavaScript-Bibliotheken wie jQuery oder auch three.js zur VerfĂĽgung. Eine ausfĂĽhrliche Dokumentation liefert hier weitere Details.
Um externe Ressourcen wie Bilder oder 3D-Modelle trotz der Same-Origin-Policy laden zu können – das Sicherheitskonzept beschränkt für serverseitiges JavaScript den Zugriff auf externe Datenquellen – empfiehlt Samp den Einsatz von CORS (Cross-Origin Resource Sharing, wird nicht von allen Browsern unterstützt) oder den Umweg über die Einbindung externer JavaScript-Dateien (die dann statt Code die entsprechenden Daten enthalten). Der WebGL playground stellt zudem eigene Dateien bereit, die für Tests genutzt werden können.
Läuft der eigene Programmcode zufriedenstellend, kann er als Projekt unter webglplayground.com gespeichert werden. In einer Edit-Version kann man seinen Code zur Weiterverarbeitung teilen, eine Stand-alone-Version genügt zum Betrachten und über eine Embed-Version kann das erstellte WebGL-Projekt auch in eigene Seiten eingebunden werden. ()