-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Terrain / imagery rendering overhaul #7061
Merged
Merged
Changes from 1 commit
Commits
Show all changes
150 commits
Select commit
Hold shift + click to select a range
834aea0
Start of BVH work.
kring 509799f
Merge pull request #31 from AnalyticalGraphicsInc/master
kring 6106795
Merge remote-tracking branch 'upstream/master' into bvh
kring 34bbcc6
Start removing unnecessary upsampling.
kring 88d0fdc
Compute the bounding volume (for culling) as needed.
kring d51bc73
Make terrain rendering mostly work again.
kring 763976d
Get to upsampling more quickly.
kring 8d47f39
Correctly account for Cesium's tile numbering (from the North).
kring 902052a
Remove TileTerrain.
kring 4d5c53e
Remove more unused tile properties.
kring c3f4931
More efficient way to finding closest renderable tile.
kring 37e352f
Fix problems with heightmap terrain / no availability data.
kring 4ea1a5d
Fix flipped bounding region estimation.
kring ee388ff
Load tiles near viewport center first.
kring 827c8bc
Improve tile load prioritization.
kring 7e93c95
Tiny optimization.
kring a4de6d4
Don't render a million subsets of the same tile for now reason.
kring 72e548e
Optimize out heaps of unnecessary loading.
kring c5aa64d
Fix distance sorting, cleanup and commenting.
kring a11e43f
Fix some test failures, add some comments.
kring 93105ce
Tweak root tile selection.
kring 78bc480
Fix test failures in QuadtreePrimitiveSpec.
kring 8fc7a0d
Don't render children until all visible ones are renderable.
kring 1ce367d
Add some tweakable options to QuadtreePrimitive and
kring e614d6e
Fix test failure, improve camera terrain adjustment.
kring a462ddc
Fix exaggeration, other cleanup.
kring 2858d6b
Fix eslint warnings.
kring 5d79e11
Fix broken water mask.
kring 61432c1
Fix 2D/CV.
kring 9cf032b
Merge remote-tracking branch 'origin/master' into bvh
kring 14f56ff
Merge remote-tracking branch 'upstream/master' into bvh
kring 3b77787
Super hacky fill tile generation.
kring 4711ac8
Don't load ancestors.
kring db5f87d
Fix implementing new traversal.
kring f9546e0
Fix a bug, add some options.
kring aa4b806
Much better (but still imperfect) fill tiling.
kring 237f8de
Fix a bug that made fill tiles flicker out after partial load.
kring 0328cc9
Don't regenerate fill tiles every frame.
kring 955c996
New fill tile code kinda working.
kring 3a93a10
Add edge vertices, fix bugs.
kring 34160b7
Use correct index for interpolation.
kring 98d414a
Handle totally disconnected fill tiles.
kring f58b7f8
Prefer a corner derived from an adjacent edge
kring 8eacbf5
Less crashy.
kring 33faa19
Remove unnecessary code and fill tile shading.
kring db79a4f
Fix eslint warnings and heightmap terrain.
kring 1945b68
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring 2402997
Remmove ability to render partial tiles.
kring 7b1ba22
Remove bad assertion.
kring 94067ff
Optional fill tile highlighting.
kring 042abb2
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring 2df6dcc
Add Terrain Tweaks Sandcastle example.
kring 4eebbbb
Add fill tile highlight option to Terrain Tweaks.html.
kring 955c6ab
Move comparison funcs to CesiumMath, other cleanup.
kring f21a0b0
Fixed a bug propating edges across the antimeridian.
kring b68efbd
Fix another antimeridian problem.
kring 16268a1
Address some TODOs.
kring 6a53390
Cleanup.
kring a0cd910
Removing missing tile strategy.
kring d808d2f
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring 395529d
Eliminate a copy while creating fill meshes.
kring 90e67ef
Fix incorrect default.
kring bb92ea4
Eliminate another copy.
kring 1a419c8
Remove unnecessary check and allocation.
kring c4d5a1c
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring 738b60a
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring b253b66
Cleanup.
kring 685dee3
More cleanup.
kring 0d33623
Remove TerrainTileEdgeDetails.js.
kring 11eb02c
The cleanup fun never ends.
kring 8222a0a
Remove unneeded field.
kring 8157ea5
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring 8e1d45c
Eliminate frameRendered and frameVisited from QuadtreeTile.
kring a756cb0
Remove unused and expensive tileLoadedEvent.
kring 599e238
Merge remote-tracking branch 'origin/master' into fill-tiles
kring edc6059
Remove nonsensical tests, clean up some things.
kring b54e9f2
Tests and cleanup.
kring d0e63aa
Much better GlobeSurfaceTileSpecs, minor refactoring for testing.
kring ac2c792
Water mask testing.
kring 024dd6f
Start moving getBoundingVolumeHierarchy specs to new system.
kring 9e07b73
Update the rest of the BVH tests.
kring 57cb725
Last of the GlobeSurfaceTile specs.
kring 03da694
Remove unused requires.
kring a816f65
Break out processTiles.
kring 686a9f5
selectTilesForRendering tests, etc.
kring 4e3fc5f
Fix continue processing logic.
kring d6d65a8
Simplify test.
kring 72514d2
New spec, fix failures, etc.
kring 8cfda70
Fix test failure.
kring 6456e37
Start adding specs for TerrainFillMesh.
kring 0a0426c
More TerrainFillMesh tests.
kring b5ba318
Improve fill specs.
kring c0bf974
Work around missing slice function in IE11.
kring 2506261
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring f4c2f35
Add missing semicolon.
kring 34d14d7
More fill specs.
kring eec8363
More specs, remove unused code, fix a bug.
kring 09ca3c6
updateFillTiles specs.
kring 7fa75da
More fill specs.
kring 497024a
Tests.
kring 85bd4b8
Write some tests, fix some bugs.
kring 3bd110b
Fix some fill tile generation issues.
kring 06ea854
Less blocky fills for low-detail tiles.
kring 0290e3f
Better math for selecting a heightmap over a normal fill.
kring b58ccc9
Small optimization.
kring a3b98e8
Fix test failures.
kring 2e1b026
Allow rendering of not-fully-loaded tiles.
kring 193639a
Eliminate duplicate imagery loading code.
kring a40657b
Tweak math for using heightmap fills, again.
kring 792610d
Don't let the globe vanish when adding a layer.
kring 02a2209
Adjust root tile loading to reduce flickering when adding new layers.
kring f76ee90
Fix test failures.
kring 4b9b62d
Better debug stats.
kring cffcbb0
Push parent tiles to be completely upsamplable.
kring 64d17a2
Nice little memory optimization.
kring 43490c8
Remove all the BVH code because it's providing no benefit.
kring 9534f19
Fix some problems in Sandcastle examples.
kring ebb8760
Don't add undefined vertex arrays to free list.
kring 4adf7d3
Fix Clamp to Terrain Sandcastle example.
kring a676e66
Fix test failure.
kring 328a03a
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring e250a39
Possibly dodgy fix for Clamp to Terrain example.
kring 992d018
Less per-tile work.
kring 1e60c7d
Remove unused requires.
kring 72d4d39
Remove unused require.
kring c03dc05
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring 354423d
Fix a typo making Firefox explode.
kring 17547a0
A few small cleanup things.
kring ee65aa4
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring 5b6d200
Move Terrain Performance Sandcastle to development folder.
kring c6d651a
Address TODOs.
kring ee7744d
Remove unnecessary renderable tile tracking.
kring a89fc60
Remove unnecessary height updating.
kring bbe9f82
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring f56791f
Handle possibility that camera is right at tile OBB center.
kring 712325c
Address TODOs.
kring 21394f0
Remove terrainnotes.md.
kring 99e76c7
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring cf657be
Fix water mask in fill tiles.
kring 380e849
Merge remote-tracking branch 'upstream/master' into fill-tiles
kring 09760c9
Changes from Omar's review.
kring 211e596
Put terrain tweakables on Globe, doc updates.
kring a88c200
TraversalDetails doc.
kring 15e628e
Add missing @default and @type docs.
kring 3a9b9ca
Don't use an array to track needed positions.
kring 9ac2e0b
Remove height range clamping.
kring b774bd5
Possibly fix water mask destroyed crash.
kring 2f907d4
Make Google terrain include edge indices.
kring 2bc0095
Don't keep adding CULLED_BUT_NEEDED tiles to the load queue.
kring 96b3f26
Merge remote-tracking branch 'origin/master' into fill-tiles
mramato File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Remove unused and expensive tileLoadedEvent.
- Loading branch information
commit a756cb06001ff809fd737ce9c7bbf69c1c6bdb81
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I couldn't really figure this out - was
tileLoadedEvent
just removed? If so, why?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yes I forgot to mention this. It's a breaking change. This
tileLoadedEvent
stuff was not used anywhere, and was extremely costly, so I removed it. I think it was originally added for the height update system, but then that ended up working a different way.Up to you guys if you think it's necessary to pay the price for a few releases to go through a deprecation cycle, or if we can get away with simply removing it and advertising it as a breaking change. I'd be somewhat surprised if anyone is using it, but I could be wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you elaborate a bit more on "was extremely costly" ? Like just raising this event is costly or does it involve having to keep track of extra things? I think it's probably fine if there is such a high cost to it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was mostly this code:
https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/GlobeSurfaceTileProvider.js#L518
That was creating a new function for every loaded tile every frame.
I didn't spent a lot of time trying to think of an efficient way to implement this because it didn't seem very useful to me.