On March 2nd, during GDC 2011, Rémi Arnaud organized a meeting to discuss the principles of a shared RESTful http API dedicated to 3D media. Mark Barnes, Henrik Bennetsen, Alan Chaney, Tony Parisi, and Dan Miller joined Rémi for this brainstorming meeting, bringing a vast experience in related technologies, such as VRML, X3D, COLLADA, Ourbricks …
The group discussed the potential benefits of having a common API to provide access to 3D content over http. There are already numerous places on the web providing 3D content, such as Google 3D Warehouse, 3DVia, and numerous commercial places. But all those places are designed for a user to browser and download models, most of the time as a zip package, to be then loaded within a tool-chain to be converted and used in an application, which could be a web application.
In the mean time the web technology has evolved significantly whereas many sites now provide a REST API that enable other applications (web or non web applications) to access the content directly. Think about the Google Map API, Dropbox API, Twitter API and all the applications built using those direct access APIS, both reading and writing content.
The group agreed that indeed enabling 3D content to be accessed and mashed-up in a standard way across many web sites has a lot of potential. The next step is to gather use cases and provide a scope for this API. It was decide that this would be a 100% open group, that everybody is invited to share their opinion and participate in the effort, and provide public visibility.
REST 3D specifies an API to a web service that provides transactions and access to 3D assets in a manner independent of the underlying data storage. It defines what a 3D asset is, and specify discovery, query, locking, and transaction operations.
Discovery operations allow the service to be interrogated to determine its capabilities.
Query operations certain properties to be retrieved from the underlying data storage.
Locking operations allow exclusive access to assets.
Transaction operations allow assets to be created, changed, replaced and deleted from the underlying data store.
This is an open group, everyone is welcomed to join. Please introduce yourself in your first post to the Google group created for this purpose.
The specification is in very early state, hosted as a Google document, available publicly here.
Spec editors are Tony Parisi and Rémi Arnaud, please inquire at rest3d (at) gmail.com if you are interested to volunteer as a spec editor.
AMD is sponsoring the main open-source (MIT licensed) rest3d prototype. It is a turn-key rest3d server composed of a XML database, a nodejs rest server, and viewer/loader code for the client. Source code available at https://github.com/amd/rest3d , and a demo server is available here http://rest3d-remi.rhcloud.com
Please let us know if you want to add your implementation here.