xml3d.js: Architecture of a Polyfill Implementation of XML3D

Kristian Sons; Christian Schlinkmann; Felix Klein; Dmitri Rubinstein; Philipp Slusallek

In: Proceedings of the 6th Workshop on on Software Engineering and Architectures for Realtime Interactive Systems. Software Engineering and Architectures for Realtime Interactive Systems (SEARIS-13), Sixth, located at IEEE Virtual Reality 2013, March 17, Orlando, FL, USA, IEEE CONFERENCE PUBLICATIONS, 2013.


With the advent of WebGL, most web browsers got native 3D graphics support. WebGL gives low-level access to the graphics hardware suitable for graphics experts. But there is no way to describe interactive 3D graphics on a higher abstraction level, using web technologies such as DOM, CSS and Events. XML3D is a proposal for an extension to HTML5 to fill this gap and to provide web developers an easy way to create interactive 3D web applications. However, XML3D is not natively supported in browsers. But we can exploit JavaScript and WebGL to emulate it. Emulating natively missing browser functionality using JavaScript, plug-ins, or other APIs is a common pattern in the fast pacing web world with new standards and APIs popping up quickly – a pattern called Polyfill. In this paper we present xml3d.js, a Polyfill for XML3D. It runs in all major WebGL-capable browsers and platforms including iOS and Android. We present the modular and extensible architecture of our cross-browser XML3D implementation, discuss implemen- tation aspects and limitations, and evaluate its performance.

Weitere Links

Deutsches Forschungszentrum für Künstliche Intelligenz
German Research Center for Artificial Intelligence