davenquinn / cesium-martini

On-the-fly meshing of raster elevation tiles for the CesiumJS virtual globe
MIT License
81 stars 17 forks source link

Breaks "requestRenderMode" #3

Closed davenquinn closed 10 months ago

davenquinn commented 3 years ago

Cesium's requestRenderMode is an opt-in that dramatically reduces CPU use when viewing static content. This usually works just fine, but when this TerrainProvider is enabled, it is broken for some reason, and Cesium targets 60 fps in all cases. This can be seen by toggling requestRenderMode in the examples.

davenquinn commented 3 years ago

This is some issue in createQuantizedMeshData, I believe. something is wrong with the way we are creating QuantizedMeshTerrainData. When we just return an empty heightmap (even after doing the entire terrain-creation pipeline), rendering stops when tiles are loaded.

davenquinn commented 3 years ago

This is a bug that only seems to occur when skipOddLevels (a config we recently added) is true. This seems to be because the tile horizon occlusion point is not calculated correctly on upsampling in the relevant web worker

davenquinn commented 2 years ago

This has now been fixed with better tile occlusion calculations.