billboard being incorrectly culled
See original GitHub issue- Run the below code.
- Gecoder to
Matagorda Islandand double click on the only placemark in the upper right (alsoMatagorda Island) - Rotate the camera up and down and the billboard will blink on and off.
var viewer = new Cesium.Viewer('cesiumContainer', {
baseLayerPicker: false,
terrainProvider: new Cesium.CesiumTerrainProvider({
url : 'https://assets.agi.com/stk-terrain/world',
requestWaterMask : true,
requestVertexNormals : true
})
});
var options = {
camera : viewer.scene.camera,
canvas : viewer.scene.canvas,
clampToGround: true
};
viewer.dataSources.add(Cesium.KmlDataSource.load('../../SampleData/kml/facilities/facilities.kml', options));

Issue Analytics
- State:
- Created 7 years ago
- Comments:9 (7 by maintainers)
Top Results From Across the Web
Problem with Billboard Shader - Unity Forum
The problem you're probably having is the mesh is being culled by the CPU. It has no idea that you're going to scale...
Read more >[SOLVED] ObjectBillboards billboards are not visible sometimes ...
Despite that billboard are culled incorrectly during editing, after saving and reloading world, all of billboards shoud be rendered correctly.
Read more >Billboard about missing, murdered Indigenous women goes ...
The billboards are designed to raise awareness about missing and murdered Indigenous women and a MMIW campaign by several Native organizations.
Read more >RTRAssignment - UW Graphics Group
Also, dynamic objects, such as the player, need to be added to the ... We save computation by having few billboards and thus...
Read more >Occlusion culling - Unity - Manual
and exclude (cull) those that do not need to be drawn. By default, Cameras perform frustum culling, which excludes all Renderers that do...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

My current thinking on this topic is that all 2D primitives end up in their own render pass, with some kind of single-3D-point depth test to determine visibility status of the primitive. The primitive would exist outside of any 3D frustums and would not have per-fragment depth testing. See thread: https://github.com/AnalyticalGraphicsInc/cesium/issues/2694#issuecomment-338168783
In the above screenshot, I suspect all of those yellow points are actually sticking into the globe. Cesium does a good job keeping things like billboards from “sticking into the globe”, but the globe-depth tricks break down across frustum boundaries. So for the clipped yellow dots above, the yellow fragments are being rendered into a rear frustum, and the globe imagery is being rendered into a closer frustum, and there’s a depth buffer clear in between. There’s no easy way to allow the points to show through the globe at the boundary, because they are legitimately occluded.