[Fiware-miwi] A Candidate AssetPipe: glTF aka. Collada JSON

Toni Alatalo toni at playsign.net
Wed Nov 27 10:04:31 CET 2013


The recommended asset pipeline is one of our main goals for the 3DUI now, https://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/FIWARE.Feature.MiWi.3D-UI.RecommendedAssetPipeline

We have now studied and experimented with a candidate solution: glTF, the proposed gl Transfer Format by the Chronos group (creators of OpenGL, WebGL and COLLADA), http://www.khronos.org/gltf . Erno discovered it from SIGGRAPH proceedings I think.

This is a quick preliminary heads-up of the activity — also to call for views / opinions about that tech if e.g. the DFKI folks already know whether it could be the solution for FI-WARE.

The motivation for the new format and the associated complete pipeline is explained with a nice diagram in https://github.com/KhronosGroup/glTF/blob/master/specification/README.md . The idea is simple: use COLLADA to export from modeling tools and COLLADA2GLTF to convert it to the runtime format, optimized for transfers and easy loading. This way it covers all modeling apps without having to do anything in/with them (unlike the Three’s ‘native’ JSON export that we used in the first city rendering test). The scene/library format is similar to COLLADA but as JSON, with pointers to ready made byte array buffers in an external file with the geometry. Compressions such as CTM for geometry are planned to be supported as plugins.

The spec is not finished yet and has been in fact living quite a lot during the past half a year. It is expected to be finished early next year. This is not a bad schedule for us as we can now verify whether it works for our needs now or does it need changes. We can also help with completing the work (e.g. loader(s)).

Yesterday we finally got our test working: the old optimized 9 blocks city model, exported from Blender as COLLADA, shows with the raw WebGL glTF viewer: http://playsign.tklapp.com:8000/glTF-webgl-viewer/ (Oulu model is default but you can use the gui menu to switch to a few other models, bundled with the viewer project by glTF folks).

This took a few days of intense testing and debugging. Main problem was incompatibilities with different versions of the glTF converter and the loaders: current converter is not compatible with any viewer we know :) .. this works by using a version from Nov ~5th, luckily the glTF files nowadays have the git hash of the version used so we could find this out from the example files that worked. Current test is with uncompressed data, we’ll test with compressed next (if it’s implemented in the loader). We also had problems with getting Blender export COLLADA correctly (texture / texcoord export settings).

There is also a Three.js loader but so far it seems to work with the spec from about 5-6 months ago. We have not compiled that version of the converter yet to test and have not been able to load any own exports to Three. The guy working on the Three loader (Tony Parisi, one of the spec authors, author of a O’Reilly WebGL book and co-chair of the San Francisco WebGL meets) has worked on it a month ago to add shader loading support and animation / skinning loading earlier. I think we’ll test the Three loader soon again to see if can actually get animated models (e.g. avatars) over & animations working.

So this is still early and definitely not conclusive. I am not surprised if we find out that the whole glTF idea based on COLLADA does not work. I’ve been evaluating COLLADA for soon 10 years and yet very rarely actually found it useful. But so far it looks that the time to jump to it could come now .. in 2014, in time for 10 year celebration of the 1.0 spec from 2004 :) . Second Life and hence Opensimulator does happily rely on COLLADA only for getting meshes in (they have their own optimized LLMesh format for transfers then). There’s still way to go with the glTF pipeline so for now (probably for a month still) our recommendation for getting scenes simply from e.g. Blender to Three.js is the Three JSON format (used in the master branch of the city rendering repo & live demo), and CTM for an optimized solution (but it requires custom setup to set materials). Am very curious to hear what the DFKI gfx / XML3D folks think of this — some of you perhaps attended the SIGGRAPH sessions even?.

Thanks to Tapani again for the valiant efforts in sorting all kinds of problems with getting started with this! Was a quite nice pair programming / battle we had..

Cheers,
~Toni
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fiware.org/private/fiware-miwi/attachments/20131127/02637913/attachment.html>


More information about the Fiware-miwi mailing list

You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy   Cookies policy