CesiumGS / CesiumGS/cesium-native
Allow non-linear screen space error
- 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
Assessment
This issue has not been assessed yet.