Erste Schritte mit WebGL
Die Web Graphics Library (WebGL) ist der neue Standard für das 3D-Rendering im Web, mit dem Webentwickler Spieleanimationen, Datenvisualisierungen, Produktanzeigen und mehr mithilfe von JavaScript-APIs, einem modernen Web- oder mobilen Browser und einer Standardwebtechnologie erstellen können Stapel.
WebGL ist Teil des Khronos Group-Konsortiums offener Standards für Grafik, Medien und parallele Berechnungen. Der einzige Zweck des Unternehmens besteht darin, offene Standards zu erstellen, um das Erstellen und Beschleunigen von Grafiken, Rich Media und parallelen Berechnungen auf einer Vielzahl von Plattformen und Geräten zu ermöglichen. WebGL ist eine Webtechnologie, die hardwarebeschleunigte 3D-Grafiken in den Browser bringt, ohne in den meisten Fällen zusätzliche Software zu installieren. WebGL ist eine der fünfzehn Arbeitsgruppen innerhalb des Konsortiums und als JavaScript-Bindung an OpenGL ES in einem Browser auf jeder Plattform konzipiert, die die OpenGL- oder OpenGL ES 2.0-Grafikstandards für das Web unterstützt. WebGL wird über das HTML5-Canvas-Element als DOM-Schnittstelle (Document Object Model) aufgedeckt.
Implementierungen
Aktuelle Implementierungen umfassen die folgenden Desktop-Browser:
- Mozilla Firefox 8.0 und neuere Versionen
- Google Chrome 13.0 und neuere Versionen
- Safari 5.1 und neuere Versionen, die unter Mac OS X Lion und Mac OS X Snow Leopard installiert sind, haben die Unterstützung für WebGL implementiert
- Opera 11 und 12 Alpha (Vorabversion)
- Internet Explorer - Microsoft hat keine Pläne zur Unterstützung von WebGL angekündigt. Es sind jedoch Plug-Ins verfügbar, mit denen Internet Explorer 6.0 und neuere Versionen die Unterstützung für WebGL hinzufügen können.
Die folgenden Implementierungen für mobile Browser umfassen:
- Nokia N900 - WebGL ist im PR1.2-Firmware-Update verfügbar.
- BlackBerry PlayBook - WebGL ist über WebWorks und den Browser in PlayBook OS 2.0 verfügbar
- Firefox für Handys - WebGL ist für Android-Geräte verfügbar
- Die Sony Ericsson Xperia-Reihe von Android-Smartphones verfügt nach einem Firmware-Upgrade über WebGL-Funktionen.
- Opera Mobile 12 final unterstützt WebGL (nur für Android)
Entwicklung und Programmierung von WebGL-Inhalten
Es gibt viele Ressourcen, um mit der WebGL-Codierung zu beginnen. Tatsächlich beginnen die meisten Online-Tutorials oder Bücher und Referenzen mit der Verwendung des HTML5-Canvas-Elements zusammen mit JavaScript, um die grundlegenden Grafiken im Browser zum Laufen zu bringen. Es gibt Dienstprogramme, Bibliotheken und Frameworks, die dem WebGL-Entwickler Optionen zum Programmieren von Grafiken und Spielen bieten.
Verfügbare WebGL-Dienstprogramme:- WebGL-Spielplatz: Bietet eine einfache Möglichkeit, die Ergebnisse in einem Browser zu bearbeiten und anzuzeigen. Geben Sie einfach Ihren Code in den Editor ein und zeigen Sie Ihre Ergebnisse im Bildschirm "Ausführen" an. Es ist nicht erforderlich, zwischen dem Editor und dem Browser zu wechseln und den Skelettcode einzurichten. Alle notwendigen Dinge werden hinter den Kulissen hinzugefügt.
- webgl-utils.js - Allgemeines JavaScript-Dienstprogramm für WebGL-Aufgaben
- J3DI.js - Grundlegendes WebGL J3DI-Hilfsprogramm
- J3DIMath.js - Dienstprogramm J3DI Math Classes
- Sylvester - Vektor- und Matrixmathematik für JavaScript-Bibliothek
- webgl-mjs - JavaScript-Vektor- und Matrix-Mathematikbibliothek, optimiert für die Verwendung von WebGL
- gl-matrix - JavaScript-Matrix- und Vektorbibliothek für leistungsstarke WebGL-Apps
- Canvas 3D JS-Bibliothek - Die Canvas 3D JS-Bibliothek (C3DL) ist eine JavaScript-Bibliothek, die das Schreiben von 3D-Anwendungen mit WebGL erleichtert.
- GLGE - GLGE ist eine JavaScript-Bibliothek, die die Verwendung von WebGL vereinfachen soll. Dies ist im Grunde eine native Browser-JavaScript-API, die direkten Zugriff auf openGL ES2 bietet.
- Jax - Jax ist eine vollständige WebGL-Entwicklungsumgebung mit Schwerpunkt auf Produktivität, mit der Sie mit wenig Zeit und Aufwand zur Implementierung gelangen.
- X3DOM - Ausgesprochen X-Freedom, dies ist ein experimentelles Open-Source-Framework und eine Laufzeit, um die laufende Diskussion in den Web3D- und W3C-Communities zu unterstützen, wie eine Integration von HTML5- und deklarativen 3D-Inhalten aussehen könnte.
Beispiele für WebGL in Aktion
WebGL Water - Ein interaktives Wasserbecken mit einer Kugel, die bewegt werden kann und Wellen und Wellen erzeugt. Durch Bewegen des Cursors wird auch ein Welleneffekt erzeugt. Zu den Merkmalen gehören strahlverfolgte Reflexionen und Refraktionen, analytische Umgebungsokklusion, Höhenfeldwassersimulation, weiche Schatten und Ätzmittel. Ein Screenshot des WebGL-Wassers in Chrome 18.0.1 ist in Abbildung A dargestellt.Abbildung A.
Abbildung B.
Abbildung C.
Abbildung D.
Abbildung E.
Es gibt viele andere WebGL-Beispiele und experimentelle Anwendungen im Web. Weitere Informationen finden Sie in den Google WebGL-Experimenten, einem Schaufenster für kreative Webexperimente, die mit Technologien wie HTML5, Canvas, SVG und WebGL erstellt wurden.