Skip to content
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

Allow non-linear screen space error #342

Open
javagl opened this issue Sep 9, 2021 · 3 comments
Open

Allow non-linear screen space error #342

javagl opened this issue Sep 9, 2021 · 3 comments
Labels
enhancement New feature or request performance Improvements to performance, including reductions in memory usage

Comments

@javagl
Copy link
Contributor

javagl commented Sep 9, 2021

This issue is triggered by this forum post

Right now, the computation of the screen space error 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 #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.

@kring
Copy link
Member

kring commented Sep 9, 2021

CC CesiumGS/cesium-unreal#323
I'm skeptical this would give good results, but it's simple enough to try so might as well give it a shot.

@pjcozzi
Copy link

pjcozzi commented Sep 13, 2021

We did something like this in CesiumJS awhile back for fog:

In Cesium, the fog is a blend of the atmosphere color and the terrain on the horizon. Terrain tiles that would be partially in fog will have their screen-space error increased, allowing lower-resolution terrain to be rendered. Terrain tiles that are completely in the fog will be culled completely or not even requested.

https://cesium.com/blog/2015/11/12/fog/

Just FYI, not for or against it.

@kring kring added enhancement New feature or request performance Improvements to performance, including reductions in memory usage labels May 9, 2022
@a519894574
Copy link

这个问题是由这个论坛帖子触发的

现在,根据几何误差和距离计算屏幕空间误差是线性的,如sse = geometricError / distance(撒有一些或多或少的常数因子)。

考虑到_非线性距离,对__较近的事物使用__更高的_细节可能是合理的要求。例如,默认值为 1.0,或 0.9 为更靠近查看者的元素提供更高的细节。____sse = geometricError / pow(distance, someExponent)``someExponent

这可以简单地实现(“只需添加someExponentTilesetOptions传递它......”),但是当然,如​​果实现了这样的东西,它应该以更通用的形式提供。因此,这个问题只是我压缩到#126中的所有想法和场景的一个特殊实例,但为了概述通过对“剔除”、“加载优先级”等关键概念进行一些抽象可能实现的功能等等,这里专门提一下。

cesium for unreal c who change?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request performance Improvements to performance, including reductions in memory usage
Projects
None yet
Development

No branches or pull requests

4 participants