I am developing the Cesium-Martini custom terrain provider to generate dense meshes on the fly from raster terrain. So far, it has been successfully used to map geology on Earth and Mars. I’ve now got a reasonably performant renderer for global terrain, but the Web Mercator CRS provides no way to render tiles for the poles, leading to a fairly unseemly “donut world” vibe (see screenshot). I note the Cesium terrain provider lacks this problem, but it uses a subtly different tiling scheme. Is there’s a way to easily fill in the poles for a custom terrain provider, even if it’s just a fallback to an ellipsoid? My main goal is to just avoid the visual glitch at low zooms (accurate rendering of the south pole can come later or not at all).
@davenquinn At the moment Cesium doesn’t have a way to cover up the polar caps with other tiles. As a quick fix, maybe you could use a partial ellipsoid? Here’s a Sandcastle example.
FYI I have fixed this by stretching the polarmost tiles of the terrain provider to the poles (by expanding the tile rect past the usual bounds of EPSG:3857). This works pretty well for the latest version of GitHub - davenquinn/cesium-martini: On-the-fly meshing of raster elevation tiles for the CesiumJS virtual globe. But it produces artifacts at low zoom levels. Still, once I get the terrain provider to return data in this region, the imagery layers atop the mesh easily adapt.
1 Like