XML3D – Interactive 3D Graphics for the Web

Kristian Sons, Felix Klein, Dmitri Rubinstein, Sergiy Byelozyorov, Philipp Slusallek

Proceedings of the 15th International Conference on Web 3D Technology
Los Angeles, California
Pages: 175-184 

[bib] [pdf] [slides] [panel]

Wikipedia page about Venice with a 3D model of a famous Venetian palace in Chromium.
A car configurator inside the XML3D Mozilla browser.


Web technologies provide the basis to distribute digital information worldwide and in realtime but they have also established the Web as a ubiquitous application platform. The Web evolved from simple text data to include advanced layout, images, audio, and recently streaming video. Today, as our digital environment becomes increasingly three-dimensional (e.g. 3D cinema, 3D video, consumer 3D displays, and high-performance 3D processing even in mobile devices) it becomes obvious that we must extend the core Web technologies to support interactive 3D content.

Instead of adapting existing graphics technologies to the Web, XML3D uses a more radical approach: We take today’s Web technology and try to find the minimum set of additions that fully support interactive 3D content as an integral part of mixed 2D/3DWeb documents.

XML3D enables portable cross-platform authoring, distribution, and rendering of and interaction with 3D data. As a declarative approach XML3D fully leverages existing web technologies including HTML, Cascading Style Sheets (CSS), the Document Object Model (DOM), and AJAX for dynamic content. All 3D content is exposed in the DOM, fully supporting DOM scripting and events, thus allowing Web designers to easily apply their existing skills.

The design of XML3D is based on modern programmable graphics hardware, e.g. supports efficient mapping to GPUs without maintaining copies. It also leverages a new approach to specify shaders independently of specific rendering techniques or graphics APIs. We demonstrated the feasibility of our approach by integrating XML3D support into two major open browser frameworks from Mozilla andWebKit as well as providing a portable implementation based on JavaScript and WebGL.