Skip to content

Investigate ability to "skip traversal" #480

@gkjohnson

Description

@gkjohnson

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 error
  • skipScreenSpaceErrorFactor: 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions