WebGL
# WebGL

WebGL (Web Graphics Library) ist eine JavaScript-Programmierschnittstelle, mit deren Hilfe 3D-Grafiken hardwarebeschleunigt im Webbrowser ohne zusätzliche Erweiterungen dargestellt werden können.

## Hintergrund und Geschichte

WebGL basiert auf OpenGL ES (Version 2.0) im Zusammenspiel mit der Programmiersprache JavaScript, die von der Khronos Group und Mozilla als lizenzfreier Standard entwickelt wird. Die Arbeiten an dem Projekt wurden im April 2009 begonnen. Im Mai 2010 wurde bekannt gegeben, dass der Webbrowser Google Chrome den Standard ebenfalls unterstützen wird.

Erste Implementierungen von WebGL wurden in den Rendering-Engines WebKit und Gecko realisiert. Zudem haben sich bereits seit August 2009 die IT-Unternehmen AMD, Ericsson, Nvidia und Opera an der Entwicklung des Projektes beteiligt.

Am 3. März 2011 wurde die erste Version der WebGL-Spezifikation auf der Game Developers Conference in San Francisco freigegeben. Im März 2011 wurde WebGL von Googles Webbrowser Chrome und Mozillas Firefox unterstützt und ansonsten in Browser-Vorabversionen von Apple Safari und Opera standardmäßig aktiviert.

Im November 2011 wurde das von Google im März 2011 vorgestellte Projekt Angle (was ausgeschrieben für Almost Native Graphics Layer Engine steht) für OpenGL ES Version 2.0 zertifiziert, womit es möglich wird, plattformübergreifende Anwendungen mit WebGL-Unterstützung unter anderem für die drei bekanntesten Betriebssystemplattformen – Windows, Mac und Linux – zu entwickeln.

WebGL 2 wurde abgeleitet von OpenGL ES 3.0. Aktuell wird diese Stufe neu ab Firefox 51, Chrome 56, Opera 43 implementiert.

Seit 2017 arbeitet W3C an dem Nachfolger WebGPU.

## Erstellung von Inhalten

Programme lassen sich in reinem Code schreiben. Grafiker können Inhalte auch mit Softwarewerkzeugen wie Blender, CopperCube oder Maya erstellen, mit WebGL für den Browser konfigurieren und weiterverarbeiten. Die 3D-Szenen werden dann nach WebGL exportiert. Dies ist beispielsweise mit Inka3D möglich, einem WebGL-Exportmodul für Maya. Blend4Web ist ein Framework, das die 3D-Grafiksoftware Blender erweitert, um die dort erstellten 3D-Inhalte auf Webseiten auszugeben. Das freie Magnum basiert auf C++ und gibt auch WebGL 2.0 aus.

Verge3D ermöglicht es den Anwendern, interaktive Inhalte in den gängigen 3D-Modellierungstools Autodesk 3ds Max und Blender zu bearbeiten und für die Anzeige in einem Webbrowser zu konvertieren.

Für Entwickler existieren mehrere umfassende, in der Programmiersprache JavaScript implementierte, freie und kommerzielle 3D-Frameworks, beispielsweise Three.js und A-Frame.

