-
Notifications
You must be signed in to change notification settings - Fork 365
Open
Milestone
Description
https://cesium.com/blog/2017/05/05/skipping-levels-of-detail/
Related Cesium traversal: Cesium3DTilesetSkipTraversal.js
It seems as though children are skipped based on screen space error metrics in the same way they are in this project along with extra factors and options (see options):
baseScreenSpaceError (number): defines the screenspace error that we are guaranteed to load up to before performing skip traversal.immediatelyLoadDesiredLevelOfDetail (bool): only loads the highest level of detail required (would be best to allow for limiting an error or level "range", instead, to get this effect)loadSiblings (bool): whether to load all sibling tile data of visible tiles (ie outside the frustum)skipLevels: how many levels of tiles to blindly skip after the initial tiles that mean the base screen errorskipScreenSpaceErrorFactor: the option we already have (errorThreshold) - how many tiles to skip based on LoD
From looking at the code the load behavior here is fairly different. "REPLACE" tiles refine seems to immediately traverse to the next level when a child is visible and does not wait for all children to load to ensure visual coherence. There will likely be tile gaps and flashing if moving the camera too quickly? But if the skip threshold is set well enough it's possible that when the camera moves the tile error won't shift enough to cause issues.
Other
- "odd" or "every third" rendered levels can also be skipped to reduce the number of tiles to load.
- An "inflated" load frustum could be used to avoid having gaps on zoom out. eg two cameras overlapping - one with a smaller pixel ratio than the other causing a lower res tile to load just outside of view.
jo-chemla and jledentu
Metadata
Metadata
Assignees
Labels
No labels