The Basic Building Blocks of Declarative 3D on the Web

WebGL enabled real-time 3D graphics on the Web. With the objective to integrate 3D graphics into the rest of the Web technology stack, and to make it easier for Web developers to develop interactive 3D graphics, Declarative 3D approaches were developed: X3DOM and XML3D. While the former focuses on backward-compatibility to X3D and a large set of convenience elements, the latter attempts to define a minimal set of flexible elements as an extension to HTML5.

It has now been more than 6 years since Declarative 3D was first proposed for the Web. However, despite their different philosophies neither X3DOM nor XML3D has yet been able to achieve the same momentum and adoption rate as imperative frameworks like three.js. In the meantime, the underlying Web technology stack has made significant advances.

In this paper we revisit both approaches in light of new Web technologies, such as Web Components, to define a small set of core elements that can provide the convenience of X3DOM while remaining as flexible and customizable as XML3D. Further, we present a strategy for building upon these core elements to enable user-defined elements, with the ability to cover domain-specific needs in Declarative 3D. Lastly, we show how these concepts can be used to simplify existing approaches (i.e. X3DOM and XML3D) and provide the basic building blocks of Declarative 3D on the Web.