Cygnus Mission Demo

Me and Patrick Cozzi recently put together a new Cesium demo showcasing the Cygnus spacecraft mission to the ISS, which launched today and docks with the ISS on Sunday. It uses the in-development glTF model support to show both spacecraft. You can check out the demo and blog post at the below links.


Blog post:


Fantastic demo! I'm very interesting in how to show real complex 3d object in Cesium. I'v convert 3dmax created models to glTF format. But don't know how to add it into Cesium. The code of demo online is obfuscated. Could you tell me where can see the code to add real 3d model. Thanks a lot!

Thanks. Model support in Cesium is still in heavy development and experimental. That work is being done in the “gltf” branch on Github. We don’t have any good documentation or examples yet, but if you are familiar with Cesium it may not be that hard to figure out. Lots of stuff doesn’t work yet, however.

We’re starting to refocus on 3D models using the upcoming glTF format from the COLLADA working group (which I am part of).

As Matt said, our implementation-in-progress is in the gltf branch. When you build that branch, run


Apps/CesiumViewer2/CesiumViewer.js has an example for loading a 3D model.

You can convert COLLADA models to glTF using an open-source converter that the COLLADA working group and the larger community is developing:

If you find issues in the converter, please submit them on their github page, not this forum. Anything you can do to make the converter solid is appreciated.

Currently, I’m working on adding glTF animations in Cesium. There is still a lot of loose-ends to tie up with our glTF implementation and the glTF spec, but I expect things to come together nicely in the next few months. During this time, I can only provide very limited support as I focus on development and spec work.


am I doing something wrong in building that gltf branch or why does "CesiumViewer2" say: "TypeError: model.onComplete is undefined"?
If this implementation is just buggy and there is no other demo at the moment, could you possibly give access to the Cygnus demo code!?...thx

As we previously stated, the gltf branch is in heavy development, so it’s possible that it’s just currently broken. We can’t give out the Cygnus code, but it’s no different than what is in the branch. Models will not be ready for general use for a few months, and the gltf spec is not even finalized yet.

Hi Patrick,

Sorry, that was broken for a bit. If you pull now, you’ll see the duck model on the globe. There’s also a few other test models commented out in Apps/CesiumViewer2/CesiumViewer.js that you can play with.


Thank you for fixing it Patrick! Now it works fine with the test models :slight_smile:
Actually my aim is to load my own external model. So I converted a .dae with COLLADA2GLTF.
It shows up in the glTF-Viewer, but it doesn't work with the CesiumViewer2-App.
Do I need to consider something creating these models or did the specification, converter...just changed!?

Best regards,

Hi Pat,

There’s been some recent changes to the converter that are not reflected in Cesium yet so you’ll have to use a slightly older version of the converter before it started outputting GL enum values instead of strings. We are working to stabilize the glTF spec, the converter, and Cesium over the next few months so you’ll have to bear with us. You’re on the bleeding edge.