3DTiles with discrete LODs

1. A concise explanation of the problem you’re experiencing.

I found a 3DTiles example with discrete LODs.


2. A minimal code example. If you’ve found a bug, this helps us reproduce and repair it.

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

I am looking at how to optimize 3DTiles performance. At the shown example it is looking very impressive how it changes between low quality and high.

The only explanation on how to prepare a tileset as discrete LODs I have found here:****https://github.com/AnalyticalGraphicsInc/3d-tiles-samples/issues/17

and it is written to move bigger buildings higher up in the tree. Is that means I need to edit tileset.json file to do so? or I need to have several tilesets in different quality of details and merge them in one? Something like: https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#external-tilesets

Could you please provide more information on how to prepare tileset with discrete LODs?

Thank you in advance.

4. The Cesium version you’re using, your operating system and browser.

Hey Linas,

Can you tell me a bit about how you’re currently creating your 3D Tiles? Are you using Cesium ion? If so, let me know what kind of performance you’re seeing, and if you have a test case I can test. We’re constantly working on improving streaming performance. For example, this blog talks about some of the recent updates we’ve made:


Hey Omar,

Thank you for your replay and help. The tileset is created by using SURE software.

Here is a link to the Cesium Sandcastle example:

I have checked the link which you have shared and improvements look impressive. Great work!!!

Are these improvements applies based on CesiumJS version (from 1.57) or also on how they were generated (Cesium ion)?

I have tried different configuration combination but the best effect I have achieved is by changing the value of “maximumScreenSpaceError” parameter.

Is it possible to optimize the existing .b3dm tiles with the draco comprension?

Thank you for your help.



The improvements apply mostly to the client and are available from CesiumJS 1.57, but some of them, like WebP image compression, apply to how the tiles are generated. One factor that definitively would impact visual quality and performance here is how the geometric error is computed, which would be different depending on what software is generating it, so I would try tiling it with Cesium ion just to compare (which you can do for free!)

And yes, Cesium ion will automatically Draco compress all output by default! Which should reduce both bandwidth and load time.