Recommendation for handling large numbers of billboards

Hi,

we have some data sets that produce a large number of BillboardGraphics objects. At the moment we create these directly on Cesium.Entity instances.

For other classes of geometry we can bake these to a tileset. With GLTF 1.0 there were some techniques to perform billboarding as part of the tile graphics, but these are deprecated and removed.

What would be the current suggestion for handling this case? Tilesets are preferred for the rest of our data for the intrinsic culling, dynamic loading and unloading, etc. There can be many thousands of objects that can be relevant, though typically only hundreds to say 3000 are relevant to the frustum. Several different billboard images may be in use.

The initial use case is CesiumJS but we also use Cesium in Unreal and Omniverse.

Thanks!

Hi, @JNWood
I made a CesiumJS plugin that allows you to render hundreds of thousands of markers with decent performance, surpassing CPU-hungry Billboards. I know it’s many years overdue, but if you or any other reader would still look for a performant massive markers rendering solution, please check out this plugin: https://www.npmjs.com/package/cesium-gpu-points-layer
Thread with some info about the plugin: Plugin for massive markers rendering & animation - cesium-gpu-points-layer
Thanks