IF Open - InterFace AG

Dieser Blogeintrag soll einen kurzen Überblick über das Thema WebGL geben und ein paar Einstiegspunkte bieten, um sich genauer mit dem Thema zu beschäftigen.

WebGL ist eine Möglichkeit, 3D-Inhalte in Webseiten darzustellen, die dann im Browser direkt angezeigt werden und sich nahtlos in eine Website integrieren lassen. „Moment..“, werden jetzt sicher einige sagen, „… das ist doch nicht neu?“. Natürlich gab es auch schon vorher mehr oder weniger erfolgreiche Versuche das Internet in die dritte Dimension zu heben. Beispielsweise mittels Flash, Java Applets, Microsoft Silverlight, Googles O3D, oder dem WebPlayer für die bei Spieleentwicklern beliebte Unity Engine. Einen großen Nachteil den jedoch alle der genannten Technologien teilen, ist die Notwendigkeit eines Plugins, welches extra für den Browser installiert werden muss. WebGL hingegen ist ein offener Cross-Plattform Standard, der direkt von den Browsern unterstützt wird (bzw. werden sollte) und ohne die Hilfe von speziellen Plugins eine low-level Grafik-API für die Benutzung mit JavaScript bereitstellt. Entwickelt wurde der Standard von der Khronos Group, welche auch für die Spezifikation von OpenGL und OpenGL ES (worauf WebGL beruht) zuständig ist. Dies geschah unteranderem auch in Zusammenarbeit mit der Mozilla Foundation.

Wer sich jetzt immer noch nicht konkret vorstellen kann, was bereits mit WebGL im Browser möglich ist, der sollte einmal auf folgenden Seiten stöbern und staunen:
(Ob der genutzte Browser WebGL unterstützt lässt sich hier feststellen)

Wie funktioniert WebGL?

Die WebGL API kann sehr einfach über JavaScript-Code angesprochen werden und der 3D-Inhalt wird dabei in das, bei HTML5 neu hinzugekommene Canvas-Element gezeichnet. Solche Inhalte können also sehr bequem in Webseiten eingebunden werden und sind voll mit dem HTML-Standard kompatibel. Wie bereits gesagt, ermöglicht WebGL einen sehr hardwarenahen Zugriff auf die Funktionalitäten der Grafikkarte, was den Vorteil hat, dass vergleichsweise performante (da Hardwarebeschleunigte) 3D-Anwendungen geschrieben werden können.

mehr »