diff --git a/CHANGES.md b/CHANGES.md index 42cc192c3c53..2703d12a7f8f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -34,7 +34,8 @@ Change Log * Fixed a glTF animation bug that caused certain animations to jitter. [#5740](https://github.com/AnalyticalGraphicsInc/cesium/pull/5740) * Fixed a bug when creating billboard and model entities without a globe. [#6109](https://github.com/AnalyticalGraphicsInc/cesium/pull/6109) * Added support for vertex shader uniforms when `tileset.colorBlendMode` is `MIX` or `REPLACE`. [#5874](https://github.com/AnalyticalGraphicsInc/cesium/pull/5874) -* Added `shouldAnimate` option to the `Viewer` constructor to indicate if the clock should begin animating immediately.[#6154](https://github.com/AnalyticalGraphicsInc/cesium/pull/6154) +* Fixed a bug that could cause tiles to be missing from the globe surface, especially when starting with the camera zoomed close to the surface. +* Added `shouldAnimate` option to the `Viewer` constructor to indicate if the clock should begin animating immediately. [#6154](https://github.com/AnalyticalGraphicsInc/cesium/pull/6154) * Added separate file for the Cesium [Code of Conduct](https://github.com/AnalyticalGraphicsInc/cesium/blob/master/CODE_OF_CONDUCT.md). [#6129](https://github.com/AnalyticalGraphicsInc/cesium/pull/6129) * Fixed applying a translucent style to a point cloud tileset. [#6113](https://github.com/AnalyticalGraphicsInc/cesium/pull/6113) * Fixed sandcastle Particle System example for better visual [#6132](https://github.com/AnalyticalGraphicsInc/cesium/pull/6132) diff --git a/Source/Scene/QuadtreePrimitive.js b/Source/Scene/QuadtreePrimitive.js index fe5444d669aa..372437fba22d 100644 --- a/Source/Scene/QuadtreePrimitive.js +++ b/Source/Scene/QuadtreePrimitive.js @@ -434,7 +434,7 @@ define([ var occluders = levelZeroTiles.length > 1 ? primitive._occluders : undefined; // Sort the level zero tiles by the distance from the center to the camera. - // The level zero tiles aren't necessarily a nice neat quad, so we can use the + // The level zero tiles aren't necessarily a nice neat quad, so we can't use the // quadtree ordering we use elsewhere in the tree comparisonPoint = frameState.camera.positionCartographic; levelZeroTiles.sort(compareDistanceToPoint); @@ -653,6 +653,13 @@ define([ } else { ++primitive._debug.tilesCulled; primitive._tileReplacementQueue.markTileRendered(tile); + + // We've decided this tile is not visible, but if it's not fully loaded yet, we've made + // this determination based on possibly-incorrect information. We need to load this + // culled tile with low priority just in case it turns out to be visible after all. + if (tile.needsLoading) { + primitive._tileLoadQueueLow.push(tile); + } } } /**