Archive for Februar 2013

The rebirth of the cool – mit webGL kehrt Virtual Reality endlich zurück ins Web


Ende des letzten Jahrtausends wurde die Virtual Reality Modeling Language als ein Austauschformat für 3D-Geometrien standardisiert (VRML97). Interessant wurde es aber erst als VRML im Web eingesetzt wurde.

Zunächst waren leistungsfähige und teure 3D-Grafik-Workstations von Silicon Graphics (SGI) nötig um 3D in Echtzeit auf einem Desktop darzustellen. Aber Ende der neunziger Jahre standen die ersten Grafikkarten mit OpenGL Beschleunigung auch für handelsübliche PCs zu Verfügung und so begann das goldenen Zeitalter der Virtuellen Realität im Netz. Um VRML im Browser darzustellen war ein Browser PlugIn erforderlich, das die Darstellung der 3D-Welten übernahm. Richtig spannend wurde VRML durch das sogenannte External Authoring Interface ( EAI), welches  Java-Applets ermöglichte die 3D-Welten zu beeinflussen also zu programmieren. Zur Erinnerung: Damals waren Java Virtual Machines in den Browsern integriert (Netscape4, IE4).

Da nun die Nutzer der Browser schon damals wenig Lust (und wenig know how) hatten Webbrowser-PlugIns zu installieren, setze ich zu dieser Zeit viel Hoffnung in den Netscape Navigator 4.06 der mit einem VRML-PlugIn (CosmoPlayer) ausgeliefert wurde. Leider beendete der von Microsoft initiierte Browser-Krieg einerseits die Integration von Java in den Browser, andererseits gab Netscape auf und stellte den Quellcode des Navigator unter Open Source. Damit war das EAI verschwunden und es gab keine standardisierten Möglichkeiten mehr im Browser VRML Welten mit externen Schnittstellen zu programmieren. Selbst webbasierte Multiuser Virtual Reality Umgebungen wie VNET und Deepmatix funktionierten nicht mehr. Das viel spätere netzbasierte Second Life lief niemals im Browser und staubte den Hype ab.

Mit WebGL und dem API x3dom sind nun wieder standardisierte (X3D, der Nachfolgestandard zu VRML97) programmierbare (diesmal Javascript) 3D-Modelle im Browser möglich. Und das Ganze funktioniert sogar ohne PlugIn in aktuellen Browsern. Der IE von Microsoft bildet wieder einmal die unrühmliche Ausnahme. Leider hält sich dieser Konzern an keinerlei Standards. Aber x3dom verwendet für nicht unterstützte Browser ein Flash swf als Renderer für X3D, allerdings werden nicht alle folgende Beispiele im IE richtig dargestellt.

Ich erwecke hier den Puma-Robotersimulator wieder zum Leben, den ich im Jahre 2000 für das RichODL-Projekt an der FernUni in Hagen realisiert habe. Mit jquery wird hier das X3D DOM manipuliert um die Roboterachsen zu bewegen:

Ein mehr immersives Beispiel ist das PRT-Roboterlabor, welches ich 2001 in VRML modelliert habe:

Und die „Galerie oben“ der FernUni, die seinerzeit (2002) mit diesen Avataren bevölkert war:

In meiner Diss. habe ich mich im Jahre 2005 ausführlich mit diesen Techniken beschäftigt.

The rebirth of the cool“ ist der Titel einer Acid-Jazz Compilation aus den Neunzigern.