Montag, 30. April 2012

WebGL - Die Zukunft des Internets



WebGL (Web Graphics Library) ist Momentan eine der spannendsten Innovationen im Webbereich.
Und sicher ein Thema wo sich Webmaster und Webpublisher bald ein wenig auskennen müssen. Darum hier eine Übersicht über WebGL, mit allen Informationen und vielen Links zu Tutorials, Beispielen und Ressourcen.

Was ist WebGL?

Es ist eine 3D Technologie zur Anzeige von hardwarebeschleunigten 3D-Graphiken. Hardwarebeschleunigt heisst, der Browser greift neu direkt auf die Rechenleistung der Graphikkarte zu um komplexe 3D-Inhalte anzuzeigen. Damit wird es möglich, rechenintensive Berechnungen zur Darstellung von dreidimensionalen Objekten, wie man schon aus Spielen wie den beliebten Ego Shootern kennt, auch im Browser anzuzeigen. Damit haben Webseitenbetreiber nun eine ganze Palette von neuen Möglichkeiten ihre Webseite zu gestalten.
Auf der Code Ebene funktioniert das ganze mit HTML5 Elementen. Es wird JavaScript benutzt um auf Funktionen einer angepassten Version von OpenGL ES (Open Graphics Library for Embedded Systems) zuzugreifen.


Wer hat es Entwickelt, und warum gibt es WebGL eigentlich?


WebGL wurde von der Kronos Group die in San Francisco beheimatet ist entwickelt. Die Version 1.0 der WebGL Spezifikation erschien im März 2011. Die Idee aber entstand schon im Jahre 2009 als sich verschiedene Firmen, darunter Browser- und Hardware Hersteller wie NVIDIA, Google, AMD, Opera, Mozilla, etc., zusammengeschlossen haben um einen gemeinsamen offenen Standard zu entwickeln. Der Fortschritt in der Hardwareentwicklung, und der Mangel an einem freien Standard bei 3D-Inhalten und Spielen im Browser, gaben den Ausschlag für diese Zusammenarbeit. Bisher war es nur mit proprietärer Software wie z.B.Adobe Flash möglich 3D-Inhalte im Browser anzuzeigen, und das wollte man ändern.


Welche Browser unterstützen WebGL?

WebGL wird im Moment von allen grösseren Browsern also von Apple Safari (WebKit), Google Chrome, Mozilla Firefox und Opera unterstützt. Einzig beim Internet Explorer gibt es erst einen inoffiziellen Workaround und noch keine Pläne diesen Standard ins Programm aufzunehmen. Microsoft setzt beim Internet Explorer eher auf DirektX für 3D Graphiken, und äussert bedenken wegen der Sicherheit.
Es ist aber fraglich, ob sich Microsoft noch lange diesem Standard wiedersetzten kann.

Hast du schon WebGL? Teste es hier:
http://get.webgl.org/


WebGL für Anfänger

Auf der Seite WebGL Playground kann man seine ersten Versuche mit WebGL machen. Diese Plattform bietet Online ein ganzes HTML5-Skelett aus HTML, CSS und JS schon an, so das man direkt im Browser WebGL Objekte entwickeln und den Code laufen lassen kann. Auch bietet die Seite neben einer schönen Dokumentation auch viele Beispiele die man sich anschauen und laufen lassen kann. Sicher eine sehr nützliche Seite für Anfänger.


Beispiele mit WebGL
Hier einige Beispiele die mögliche Anwendungen der WebGL Bibliothek zeigen. Man sieht das Potential von WebGL, obwohl es erst in einem frühen Stadium ist.

Ein lustiges Spiel mit Google Maps das mit WebGL läuft:

http://www.playmapscube.com/


http://www.ahoi.in/en/2012/supershape-js/


http://lab.aerotwist.com/webgl/


http://www.waterunderground.info/


Virtualisierung von Schweizer Adressen
http://29a.ch/sandbox/2011/addresscloud/




Fazit

Eine sehr interessante Technik die sehr viel Potential hat. Man kann sich z.B. dreidimensionale Webseiten vorstellen wo man mit einem Avatar durchlaufen kann. So haben User einen anderen Zugang zu den Inhalten als bei "normalen" Webseiten. Man stelle sich einen virtuellen Einkaufsbummel durch ein 3D Einkaufszentrum mit 3D Regalen vor, oder einen Museums-Rundgang, eine virtuelle Reise, etc...
Auch die Spiele-Industrie wird enorm davon profitieren. Spiele mit ausgeklügelten 3D-Graphiken wie man sie nur von Desktop Spielen kennt kann man nun auch im Browser spielen, und das ohne etwas zu installieren. Das wird die Spielbegeisterten sicher freuen, und durch die Einfachheit noch mehr Spieler anziehen. Und auch die Hersteller der Spiele werden profitieren, den die haben dann weniger Copyright Probleme, da der Inhalt nur flüchtig im Browser, oder besser gesagt in der Cloud läuft.
Allerdings muss man dazu auch die richtige, genügend Leistungsfähige Hardware haben sonst funktioniert es auch im Browser nicht.
Der wahrscheinlich grösste Vorteil von WebGL ist, das man nun Platformübergreifend, und auch für Mobile Geräte und Tablets, entwickeln kann und das unabhängig vom Betriebssystem. Chrome OS lässt grüssen.
Nur Microsoft scheint es wiederum vorzuziehen sein eigenes Süppchen im 3D-Bereich zu kochen und riskiert damit sich ins Abseits zu manövrieren.



Ressourcen und Links

https://www.khronos.org/registry/webgl/specs/1.0/ - Spezifikation
http://www.khronos.org/webgl/wiki/Tutorial - Offizielles Tutorial
http://aerotwist.com/tutorials/ - Sehr gutes WebGL Tutorial
http://webglplayground.net/documentation - WebGL Tutorial
https://developer.mozilla.org/de/WebGL - Sehr gute Mozilla Web GL Tutorials, auch auf Deutsch
http://www.chromeexperiments.com/webgl - Jede Menge Beispiele von WebGL
http://learningwebgl.com/blog/ - Jede Menge WebGL Tutorials
http://planet-webgl.org/ - Informationen und How to's
http://www.nihilogic.dk/labs/webgl_cheat_sheet/WebGL_Cheat_Sheet.htm - WebGL Cheat Sheet
http://de.wikipedia.org/wiki/WebGL - WebGL Wikipedia

Matrix Bibliotheken
  • Sylvester, eine JavaScript Bibliothek für die Matrix Multiplikation
  • mjs, etwas Ähnliches das speziell für WebGL entwickelt wurde.
  • glMatrix, nochmals etwas Ähnliches aber sehr schnell.

 

WebGL Frameworks


Welcher Browser für WebGL?


Viel Spass!

Keine Kommentare:

Kommentar veröffentlichen