CesiumGS / CesiumGS/cesium-native

Allow non-linear screen space error

Open
#342 3 comments 0 reactions 0 assignees View on GitHub
enhancement performance
Dominant language
C++
Stars
623
Forks
277
PR merge metrics
No merged PRs in 30d

Description

This issue is triggered by [this forum post](https://community.cesium.com/t/better-control-over-how-many-tiles-are-loaded-at-any-given-time/15158/5)

Right now, the [computation of the screen space error](https://github.com/CesiumGS/cesium-native/blob/5265a65053542fe02928c272762c6b89fa2b29bb/Cesium3DTilesSelection/src/ViewState.cpp#L155) from the geometric error and the distance is *linear*, as in `sse = geometricError / distance` (with some more or less constant factors sprinkled in).

It could be a reasonable demand to use *higher* detail for things that are *closer*, taking the distance into account *non-linearly*. For example, `sse = geometricError / pow(distance, someExponent)`, with `someExponent` being 1.0 by default, or 0.9 to give a higher detail to elements that are closer to the viewer.

This could be implemented trivially ("Just add `someExponent` to `TilesetOptions` and pass it along..."), but of course, **if** something like this is implemented, it should be offered in a more generic form. As such, this issue is only one special instance of all the thoughts and scenarios that I compressed into https://github.com/CesiumGS/cesium-native/issues/126 , but to have an overview of what could be possible with a few abstractions for the key concepts like "culling", "load priorization" etc., I'll mention it dedicatedly here.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.