Warum WebGL 2.0 der Weg zu noch besseren 3D-Webgrafiken ist.

WebGL 2.0 hat sich zu einer leistungsstarken Technologie entwickelt, die auf der Grundlage eines sehr erfolgreichen WebGL 1.0 entwickelt wurde, das inzwischen in zahlreichen professionellen CAD– und 3D-Anwendungen im Web vollständig eingesetzt wird. Dieses Feature beschreibt die Historie und warum WebGL 2.0 ein so wichtiger Standard ist.

Aufgrund unserer Tätigkeit haben wir täglich mit CAD- und 3D-Anwendungen zu tun, die die AEC- und Fertigungsindustrie voranbringen, sondern auch die Kerntechnologien, die hinter diesen Anwendungen stehen. Nur wenige Kerntechnologien, wenn überhaupt, sind in der heutigen Zeit so wichtig wie WebGL.

Warum WebGL so wichtig ist.

WebGL ist aus mehreren Gründen von großer Bedeutung. Als Technologie ist es eine „pluginfreie“ 3D-Grafiktechnologie für den modernen Webbrowser. Das Internet hat eine lange Geschichte von Versuchen, 3D-Grafiken in Browsern über Plugins zu erstellen, aber im Allgemeinen sind die Benutzer nicht besonders erfahren in der Verwaltung des Plugin-Prozesses und der Prozess der Installation von Plugins stört die heutigen Erwartungen an Geschäftsabläufe. Also keine Plugins.

WebGL 1.0 wird derzeit stark genutzt und ermöglicht es professionellen Anwendungen wie Onshape und Frame, in modernen Webbrowsern auf vielen Betriebssystemen zu laufen. Es funktioniert gut, weil es die Offenheit von OpenGL nutzt, WebGL 2.0 wird diesen Standard voranbringen und die Innovation in allen Arten von professionellen 3D-Anwendungen im Web vorantreiben.

WebGL basiert auch auf OpenGL ES, einem äußerst erfolgreichen offenen Industriestandard für portable Grafiken, der für jedes wichtige Computerbetriebssystem funktioniert. Während es eine massive Explosion der 3D-Fähigkeiten in der Hardware auf Geräten aller Art gegeben hat – von Workstations bis hin zur Smartphones -, war der Webbrowser selbst keine wichtige Überlegung für ein 3D-Anwendungsziel für Entwickler, bis die Khronos-Gruppe die WebGL-Arbeitsgruppe und eine Reihe von Entwicklungsstandards gründete.

Geschichte von WebGL.

WebGL 1.0 wurde 2011 eingeführt, dem Jahr, in dem das Apple iPad ein großes Interesse an Unternehmensbranchen wie AEC zu verzeichnen begann. Als plattformübergreifender, gebührenfreier Webstandard, der hochwertige 3D-Grafiken mit Plugins in den Webbrowser bringt, hat sich WebGL durchgesetzt. Es ist bei weitem die am weitesten verbreitete Web-Grafik-API auf dem Markt und wird von allen großen Browser-Anbietern von Apple, Google, Microsoft und Mozilla unterstützt.

Im Jahr 2006 begann die Geschichte von WebGL mit Vladimir Vukicevic, damals Senior Engineer bei Mozilla, der anfing, mit 3D-Konzepten im Web zu experimentieren, zu einer Zeit, als JavaScript noch lange nicht so weit verbreitet war wie heute. Während seiner Zeit bei Mozilla begann er, den Prototyp des OpenGL-3D-Kontextes in Canvas zu erstellen und anschließend wandte er sich an die Khronos Gruppe, um eine neue Arbeitsgruppe für eine webzentrierte OpenGL-Variante zu gründen, die später WebGL genannt wurde.

Frühe WebGL-Unterstützer.

Zu den ersten Unterstützern von WebGL gehörten AMD, Apple, Microsoft, Mozilla, Google, Intel, Nvidia, Opera und Qualcomm. Diese Gruppe trug dazu bei, die Standards für Webgrafiken neu zu definieren, die zu diesem Zeitpunkt eine Mischung aus proprietären Technologien wie Adobe Flash und dem 3D-Player von Unity waren. Solche Technologien forderten Benutzer auf, etwas zu installieren, typischerweise ein Plugin. Die Interessen der Benutzer fallen jedoch jedes Mal zurück, wenn sie aufgefordert werden, ein Plugin zu installieren, so dass WebGL von Anfang an automatisch erfolgen sollte und von den Endbenutzern nichts zur Nutzung benötigt.

Das Ziel der WebGL Working Group war einfach: 3D-Grafiken ins Web bringen, in jedem Browser, ohne Sicherheitsprobleme für den Endanwender, ohne Plugin und mit hoher Leistung.

Wir wollten erfolgreich sein, um die Macht des visuellen Ausdrucks für die große Zahl von Webnutzern nutzbar zu machen“, sagt Ken Russell, Software Engineer, Google und WebGL Working Group Chair. Olli Etuaho, Systems Engineer, Nvidia, fügte hinzu: „Die Hauptprinzipien waren klar: robust, tragbar, stabil und ziemlich leistungsstark an so vielen Orten wie möglich zu sein. Zudem wird es keine Sicherheitsprobleme für den Endbenutzer geben.

Barrieren überwinden – der lange Weg zu einem erfolgreichen WebGL-Standard.

WebGL hatte keinen sofortigen Erfolg, obwohl die aufgelisteten Heavy-Hitter vor allem hinter dem neuen Standard standen. Es bestand Zweifel hinsichtlich der Sicherheit, da die API auf Daten zugreifen kann. Um dies zu lösen, hat die Arbeitsgruppe WebGL so entwickelt, dass der Grafikspeicher vor dem Einsatz immer initialisiert wird, so dass Webseiten nicht auf Daten zugreifen können, die sie nicht sollten. Es sind auch viele andere Sicherheitsebenen integriert, die WebGL industrietaugliche Sicherheit für Entwickler und deren Endbenutzer bieten.

Eine weitere Herausforderung, die WebGL zu meistern hatte, war der Nachweis seiner Leistungsfähigkeit im Markt. Die Arbeitsgruppe stellte sicher, dass alle wichtigen Browser-Entwickler hinter dem neuen Standard stehen und dass Compliance-Tests zeigen können, dass der WebGL-Code über alle Browser hinweg portabel ist.

Die Leute waren schon früh misstrauisch gegenüber WebGL, auch im 3D-Bereich. Plugins sind gekommen und gegangen und hatten verschiedene Probleme, so dass die Leute nicht ganz von WebGL überzeugt waren“, sagt Jeff Gilbert, Senior Software Engineer, und WebGL Lead, Mozilla. „Bei der Spieleentwicklung brauchte es schon ziemlich viel Optimismus, um auf WebGL zu setzen.“ Gilbert dazu:“Wir werden investieren, weil wir von WebGL überzeugt sind. Wir hoffen wirklich, dass WebGL in ein paar Jahren eine große Präsenz haben wird.

Ein Vorteil von WebGL war, dass es ein offener Standard war, der für das Unternehmen frei verfügbar war. Als Open-Source-API bedeutete dies, dass Feedback durch Github durch Probleme und Pull-Anfragen für Konformitätstests wichtig war und die Community eine große Rolle spielte.

Die offene Beteiligung war bei der Entwicklung von WebGL 2.0 absolut entscheidend, insbesondere bei den damit verbundenen Konformitätstests und beim Wissen, wo wir unsere Entwicklungszeit investieren mussten, um sicherzustellen, dass es sich portable verhalten würde und dass es den Endbenutzern das bietet, was sie brauchen“, sagt Russell. „Es hätte nicht funktionieren können, zumindestens nicht so gut, in einem geschlossenen Forum.

Einen Standard für die Zusammenarbeit setzen.

WebGL setzt einen guten Standard in der offenen Zusammenarbeit bei Entwicklungsprojekten. Bei so viel Arbeit an gemeinsamen Tools wie GitHub hat die Arbeit den Prozess effizienter gemacht, mit einer besseren Nutzung der Ressourcen und einer deutlichen Reduzierung von doppelten Arbeiten. Mit einer gemeinsamen Codebasis, die alle Anforderungen erfüllt, kann beispielsweise jeder seine Ressourcen bündeln und sich auf Verbesserungen konzentrieren.

Auch nach dem Öffnen des Quellcodes für die Entwickler aus der ganzen Welt hat WebGL keine neuen Wege beschritten. WebGL bringt verschiedene Anbieter von Betriebssystemen und Hardware zusammen, um ein gemeinsames Ziel zu erreichen. Als Webentwickler versuchten, ihren WebGL-Code auf allen Geräten identisch auszuführen, wurden viele Eckfälle in den zugrunde liegenden Grafik-APIs sowie Grafik-Treiber-Fehler gefunden. Während keine Software von Fehlern befreit ist, verspricht WebGL, dass Ihr Grafikcode einmal geschrieben wird und überall funktioniert. Die WebGL-Arbeitsgruppe arbeitete eng mit allen Hardwareanbietern zusammen, um diese Fehler zu melden, zu beheben und Konformitätstests hinzuzufügen, die sicherstellen, dass sie behoben bleiben. Diese enge Zusammenarbeit mit der Community und den GPU-Herstellern hat die Gesamtqualität des Grafik-Ökosystems verbessert. WebGL fließt in seine Partner ein, um eine Win-Win-Situation für alle Beteiligten zu schaffen, da WebGL auf den Schultern dieser GPUs und Treiber steht.

Meilensteine auf den Weg zu WebGL 2.0

Auf dem Weg zu WebGL 2.0 gab es viele wichtige Meilensteine, wobei Google Maps zu einem der größten Nutzer wurde. Es war ein ernsthafter Schritt bei der Überprüfung der Stabilität und Langlebigkeit von WebGL.

Während WebGL 1.0 revolutionär war, weil es beschleunigte 3D-Inhalte im Web ohne Plugins ermöglichte, wurde es dennoch einer älteren API, OpenGL ES 2.0, nachempfunden, die mit gewissen Einschränkungen ausgestattet war. WebGL 2.0 wurde im Januar 2017 in Chrome und Firefox veröffentlicht und bringt viele neue Funktionen von OpenGL ES 3.0.

Das Design von WebGL 2.0 begann mit der Konsolidierung einige der Funktionen, die über WebGL 1.0-Erweiterungen verfügbar waren, und reduzierte anschließend einige der Einschränkungen, die WebGL auferlegt worden waren, um sicherzustellen, dass es in so vielen Umgebungen wie möglich zuverlässig ausgeführt wird. Das resultierende WebGL 2.0 ist eine viel flexiblere API, die erweiterte Effekte mit mehr Komfort ernöglicht.

Die Aktualisierung der Architektur der WebGL 2.0-Funktionalität war die größte Einzelaufgabe, aber die WebGL-Arbeistgruppe war nicht allein. Alle neuen OpenGL ES-Funktionen mussten wieder in die alte Architektur integriert werden und Intels GPU-Team half bei der Spezifikation und dem Test. Nvidia trug auch zu den Bemühungen um Spezifikation, Test und Implementierung bei. Jeder Aspekt der API wurde in irgendeiner Weise aktualisiert und jedes Upgrade wurde gründlich getestet. Allein die Konformitätstests dauerten fast ein Jahr, aber es war notwendig, ein einheitliches Verhalten und eine einheitliche API für eine Reihe von Geräten und Browsern zu definieren.

Das Ökosystem der Khronos-Gruppe und die Zukunft von WebGL.

Wie bereits mehrfach auf dieser Website erwähnt, ist WebGL eine zentrale Technologie hinter professionellen Anwendungen, die über ein SaaS-Modell bereitgestellt werden. Wichtige neue MCAD-Anwendungen wie Onshape sind vollständig SaaS-basierte CAD-Anwendungen, die über Ihren modernen Browser funktionieren.

Die Bedeutung von WebGL, das unter der Verantwortung der Khronos Group weiterentwickelt wurde, sollte nicht unterschätzt werden. Khronos brachte die Browser und die GPU-Anbieter zusammen und der Erfolg von WebGL ist das direkte Ergebnis einer engen Zusammenarbeit zwischen diesen Communities. Khronos hat eine lange Tradition darin, diese beiden Communities unter einem bewährten IP-Rahmen zusammenzuführen, was aus rechtlicher Sicht wichtig ist.

Low-Level Explicite API Directions.

Mit der neuen Ära expliziter, Low-Level Grafik-APIs wie Vulkan verschiebt eein natürliches Interesse für diejenigen hinter WebGL Aspekte davon in diese Richtung. Die Khronos-Gruppe begrüßt die Diskussion der Branche über die Entwicklung von WebGL in diese Richtung. Die Erfahrung bei der Entwicklung von WebGL hat gezeigt, dass Web-API-Experten, GPU-Anbieter und native API-Experten alle am Tisch benötigt werden, wenn es darum geht, eine solche API zu entwickeln und Khronos ist die einzige Organisation mit einer nachgewiesenen Erfolgsbilanz bei der Zusammenführung dieser Experten.

Vor WebGL war 3D im Web nicht wirklich möglich. Überall auf Desktops und Mobiltelefonen gab es leistungsfähige 3D-Hardware, aber das Internet konnte nichts davon nutzen“, sagt Vukicevic. „Es gab einige Plugins, aber die Benutzer mussten einen zusätzlichen Installationsschritt durchzuführen, was ein großes Hindernis für die Akzeptanz war. Alle Browserhersteller wussten, dass dies eine Herausforderung war, die gelöst werden musste, weshalb wir als Khronos Working Group zusammenkamen.

Die Khronos Gruppe gibt zu, dass WebGL 2.0 ein riesiges Unterfangen war, aber die Effizienz, Geschwindigkeit und Ressourcenverbesserung von WebGL 1.0 sind sehr deutlich. WebGL 2.0 beschleunigt einige Rendering-Techniken, wie z.B. Deferred Shading, und ermöglicht neue, wie zustandsabhängige Partikelsysteme über Transform-Feedback und volumetrisches Rendering mit 3D-Techniken. Diese verbesserte Effizienz führt zu besserer Qualität und Leistung zu einem niedrigeren Preis und verbessert den Batterieverbrauch auf mobilen Geräten.

WebGL – Ein natürlicher Teil des Webs.

WebGL ist zu einem natürlichen Bestandteil des Webs geworden und erzeugt zuverlässig konsistente 3D-Grafiken über Plattformen und Browser hinweg. WebGL ist zu 97% in Firefox-Browsern mittlerweile aktiviert und möchte diesen Wert auf 100% steigern. Die WebGL 2.0-Implementierung wird in fast jedem Browser erwartet, wie bei WebGL 1.0, zusammen mit dem Hinzufügen von wichtigen Erweiterungen, die die Leistung beim Schreiben von WebGL-Anwendungen drastisch erhöhen.

WebGL 2.0 bietet neue Funktionen und mit WebGL 1.0 als solidem Fundament wird erwartet, dass WebGL weiterhin effektiv und zuverlässig 3D-Grafiken ohne Plugins und mit höchstem Sicherheitsniveau bereitstellt.

„Von Anfang an war es mein Ziel, WebGL in jedem Browser zu ermöglichen“, so Vukicevic.

Die großen Browser-Anbieter Apple (Safari), Google (Chrome), Microsoft (Edge) und Mozilla (Firefox) sind Mitglieder der WebGL Working Group. Wenn Sie mehr über WebGL erfahren oder auf die Spezifikation zugreifen möchten, erfahren Sie hier.

Vielen Dank für Ihren Besuch.

3DMaster