Low-opacity portions of billboard only show older geometry behind it, partial solution

I’ve got a great looking billboard with a semi-transparent background from a PNG. I have it render above the earth enough to draw a few polylines and spheres, which look good underneath. The positioning of the billboard is fine. The problem happens as soon as I try to add new geometry (sphere or polyline collection) underneath the billboard. All new polyline collections and spheres are only displayed until they go under the billboard.

Because my billboards are only going to be shown for 10 seconds or less, I have temporarily solved this problem by keeping a pool of empty polyline collections that are added to the scene when first created. When I actually need to draw a polyline, I just use one of the existing collections instead of making a new one (which would end up being created after the billboard, and therefore problematic). Perhaps this is the best way to do it anyhow, but it seems like it may be a bug with the billboard opacity handling. For example, it would be harder to maintain a pool of unused polyline collections large enough to keep the billboard shown for half an hour. Any thoughts?

Can you share example code that reproduces the issue (preferably something that can just be copied/pasted into Sandcastle and ran)? It may be a bug.

Sure: https://gist.github.com/rlittlefield/e7ee65ccf3f103fcc78d

If you paste that into the Sandcastle, it should draw the Cesium logo, and provide two dropdown options, one for each polyline. One polyline is rendered into a polyline collection that was created and added to the primitives before the billboard, and the other is rendered into a polyline collection added after the billboard.

Sorry for never closing the loop on this. I’ve submitted #2130 (https://github.com/AnalyticalGraphicsInc/cesium/issues/2130) so this can get addressed.

And thanks for the example code.


Thanks again for report and code example. Dan fixed this in #4886. It will be in the Cesium 1.30 release next Tuesday, February 1.


Thank you!