XML3DRepo: A REST API for Version Controlled 3D Assets on the Web
Current Web 3D technologies are not yet fully exploiting the modern design patterns for accessing online resources such as REST. XML3DRepo is a novel fusion of XML3D and 3D Repo. XML3D is an open source extension to HTML that supports interactive 3D graphics in WebGL-enabled browsers. 3D Repo is a recent versioning framework for 3D assets that provides raw access to its NoSQL database.
XML3DRepo, in turn, is a server-side combination of the two technologies that stores a unified file format independent representation of 3D scenes in its repository but exposes a RESTful API for a deeper integration with other services using a variety of encodings selected between by the client application.
First, we outline the overall architecture of the system and provide a simple yet powerful API definition that we believe has the potential to accommodate crowdsourcing of 3D models in the future. Next, we describe different 3D data encoding strategies for the Web and evaluate several of these for their speed and efficiency in our open source prototype implementation of the proposed API.
We conclude that none of the formats strike the right balance between
the number of requests, decoding overhead and the compression achieved making the proposed flexible architecture even more compelling.