From b1db1d6fd0d68c3a0e983ea849ec00416b690502 Mon Sep 17 00:00:00 2001 From: Kevin Ring Date: Thu, 9 Feb 2017 12:42:33 +1100 Subject: [PATCH 1/3] Load culled tiles in case their OBB is wrong. --- Source/Scene/QuadtreePrimitive.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/Scene/QuadtreePrimitive.js b/Source/Scene/QuadtreePrimitive.js index 9149b60359e4..302fdbde90e8 100644 --- a/Source/Scene/QuadtreePrimitive.js +++ b/Source/Scene/QuadtreePrimitive.js @@ -436,7 +436,7 @@ define([ var levelZeroTiles = primitive._levelZeroTiles; // 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); + } } } /** From 8167c858dfa37d41a748cd43db76a12c4bdb760f Mon Sep 17 00:00:00 2001 From: Kevin Ring Date: Thu, 9 Feb 2017 12:57:21 +1100 Subject: [PATCH 2/3] Update CHANGES.md. --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 728b2fb707d6..05b131eb6e86 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -10,6 +10,7 @@ Change Log * Added new `PixelFormat` and `WebGLConstants` enums from WebGL extensions `WEBGL_compressed_s3tc`, `WEBGL_compressed_texture_pvrtc`, and `WEBGL_compressed_texture_etc1`. * Added `CompressedTextureBuffer`. * Improved `RectangleGeometry` by skipping unecessary logic in the code [#4948](https://github.com/AnalyticalGraphicsInc/cesium/pull/4948) +* 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. ### 1.30 - 2017-02-01 From 00f164f9f42063f34738089aa70608a83ea6ea6e Mon Sep 17 00:00:00 2001 From: Hannah Date: Thu, 11 Jan 2018 12:00:57 -0500 Subject: [PATCH 3/3] Update CHANGES.md --- CHANGES.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 74495a0b410c..c0fb822770fa 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -296,7 +296,6 @@ Change Log * Added `loadKTX`, to load KTX textures, and `loadCRN` to load crunch compressed textures. * Added new `PixelFormat` and `WebGLConstants` enums from WebGL extensions `WEBGL_compressed_s3tc`, `WEBGL_compressed_texture_pvrtc`, and `WEBGL_compressed_texture_etc1`. * Added `CompressedTextureBuffer`. -* Improved `RectangleGeometry` by skipping unecessary logic in the code [#4948](https://github.com/AnalyticalGraphicsInc/cesium/pull/4948) * Added support for `Scene.pickPosition` in Columbus view and 2D. [#4990](https://github.com/AnalyticalGraphicsInc/cesium/pull/4990) * Added support for depth picking translucent primitives when `Scene.pickTranslucentDepth` is `true`. [#4979](https://github.com/AnalyticalGraphicsInc/cesium/pull/4979) * Fixed an issue where the camera would zoom past an object and flip to the other side of the globe. [#4967](https://github.com/AnalyticalGraphicsInc/cesium/pull/4967) and [#4982](https://github.com/AnalyticalGraphicsInc/cesium/pull/4982)