Dieser Beitrag behandelt die Zukunfschancen von WebGL und greift dabei auf den kürzlich erschienenen Artikel auf developpez.com zurück.
Bereits zu Beginn ist negative Kritik angebracht.
Der Ton des Titels lässt bereits Zweifel über die Voreingenommenheit des Autors entstehen.
WebGL ist die Spezifikation einer 3D-Grafikbibliothek auf der gleichen Ebene wie OpenGL oder Direct3D. Diese basiert auf OpenGL ES 2.0 (die OpenGL Embedded Specification) und ermöglicht die Erstellung von Webseiten mit 3D-Inhalten. Mit HTML 5 und Javascript können Sie also ein Grafikkarten-beschleunigtes Rendering darstellen und somit von der Leistungsfähigkeit des Grafikprozessors profitieren.
WebGL ist keine 3D-Grafikbibliothek. Die von WebGL verwendete 3D-Bibliothek ist OpenGL ES2.0 und manchmal werden Aufrufe an diese Bibliothek über Angle nach DirectX übertragen, insbesondere unter Windows. WebGL ist ein Schnittstelle zwischen Javascript und OpenGL ES2. WebGL macht es möglich OpenGL über JavaScript zu benutzen.
WebGL ermöglicht weit mehr als nur 3D-Inhalte auf Webseiten anzuzeigen. Mit WebGL können Sie interaktive 3D-Anwendungen wie Spiele, 3D Konfiguratoren, Navigationsschnittstellen oder Augmented Reality im Browser erstellen.
Erst HTML5 und JavaScript machen das grafikkartenbeschleunigte Rendering möglich. WebGL ist jedoch nicht Teil des HTML5-Standards. HTML5 ist ein Standard des W3C, einem auf das Web spezialisierten Industriekonsortium, während WebGL von der Khronos-Gruppe entwickelt wurde. Bei der Khronos Group handelt es sich um eines auf Hardwarebeschleunigung spezialisiertes Industriekonsortium.
Der Support
Zur Zeit unterstützen die gängigsten Browser auf dem Markt WebGL:
Die Informationen sind ziemlich grob. Die hier gemachten Angaben sind nur sehr grob. Für verlässliche Supportstatistiken empfehlen wir ihnen sich auf caniuse.com/webgl umzusehen. So wurde WebGL z.B. im Safari-Browser erst ab Version 8 standardmäßig aktiviert.
Es muss darauf hingewiesen werden, dass WebGL trotz der frühen Implementierung von WebGL durch Safari erst ab Version 8 des Browsers standardmäßig aktiviert wurde (nach dem IE11, der standardmäßig aktiviert ist). WebGL wird auch mit iOS Safari Version 8 kompatibel sein und ist bereits mit den neuesten IE Mobile Releases kompatibel.
Sicherheit und Schutz
Sicherheitslücken im Standard selbst sorgen seitens der Community regelmäßig zu starken Reaktionen.
Als WebGL zum ersten Mal auf den Markt kam, versuchte Microsoft seine Silverlight-Technologie im Markt zu etablieren, weshalb sich die Verwendung von WebGL verzögerte. Der Internet Explorer hat WebGL seit der Version 11 implementiert und auch Microsoft treibt weiterhin die Entwicklung der Babylon-JS-Engine schnell voran. Momentan ist WebGL noch deaktiviert, wenn die Grafikprozessortreiber nicht die notwendigen Sicherheitsanforderungen haben (auch wenn sie WebGL ausführen könnten).
Außerdem sollte nicht vergessen werden, dass die grafische Beschleunigung in WebGL nur dann zur Verfügung steht, wenn die Grafikkarte die Spezifikation korrekt implementiert. Dies führte auch zu einer gewissen Langsamkeit in der Entwicklung der OpenGL-Unterstützung, vor allem unter Linux, wo sie nicht sehr präsent war. Nun können wir sagen, dass diese Bedenken im Allgemeinen ausgeräumt sind.
Zudem sind die Hersteller von Grafikkarten in der Khronos Gruppe (NVIDIA, AMD Radeon) vertreten. Seit 2 Jahren ist nahezu jeder Computer kompatibel mit WebGL, ohne dass Anpassungen (Treiberwechsel, Browser-Einstellungen) vorgenommen werden müssen.
Unter Linux treten Probleme häufig bei Grafikkartenherstellern auf, die Treiber für dieses Betriebssystem bereitstellen. Mit Nvidia gibt es kein Problem, aber mit AMD Radeon ist die Treiberinstallation manchmal schwieriger.
WebGL hat eine glänzende Zukunft!
Natürlich hat WebGL auch einige Nachteile, die in der folgenden Übersicht dargestellt werden:
Diese drei Funktionen sind in OpenGL ES2.0 nicht enthalten. Es ist daher nicht möglich, dass sie in WebGL vorhanden sind. Allerdings kann der Selektionspuffer auch weiterhin noch emuliert werden.
Es existiert für diese Technologie noch immer keine Flaggschiffanwendung. Auch bei Videospielen und intensiven Anwendungen können JavaScript und das Browser-Overlay ein entscheidender Faktor sein, um die Übernahme dieses Standards zu verhindern.
WebGL ist gerade dabei, eine Desktop-Kompatibilitätsrate zu erreichen, die kommerzielle Anwendungen erlaubt (66% laut http://caniuse.com/#feat=webgl). Nur wenige Entwickler sind derzeit in dieser Technologie geschult und Großprojekte benötigen noch Zeit. Entscheider wissen oft nicht, was diese Technologie leisten kann.
WebGL wird in der zukünftigen Entwicklung des Internets eine große Rolle spielen und in ein paar Jahren aus unseren täglichen Gewohnheiten nicht mehr wegzudenken sein.
COD oder Solidworks werden niemals in Browsern funktionieren. Spieler und CAD-Ingenieure haben leistungsfähige Maschinen, sind bereit, Lizenzen zu kaufen, das Produkt herunterladen. Sie suchen in erster Linie nach Leistung.
WebGL spielt zur Zeit nicht ganz in der selben Liga wie Unity, welches einen bemerkenswerten 3D-Erstellungs-Workflow bietet und seit kurzem auch das Exportieren von Unity-Anwendungen in WebGL ermöglicht. Im Endergebnis wird WebGL nicht so optimiert sein und weniger Features bieten als proprietäre Technologien, die auf einer begrenzten Anzahl von Plattformen wie Metal laufen.
Die Team der Khronos Group besteht aus Spezialisten für Browsertechnologien (Chrome, Mozilla, Opera etc.), Betriebssysteme (Apple etc.), Hardware-Herstellern (AMD, Nvidia etc.) und arbeitet mit renommierten Universitäten zusammen. Der Entwicklungsprozess ist kompliziert und benötigt Zeit, um alle Beteiligten auf einen Standard zu verständigen.
WebGL wird für die folgenden Anwendungen interessant sein:
WebGL wird in der zukünftigen Entwicklung des Internets eine große Rolle spielen und in ein paar Jahren aus unseren täglichen Gewohnheiten nicht mehr wegzudenken sein.