-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
log depth interpolation not handled correctly for large geometries #6573
Comments
@bagnell was this a problem pre-log depth? (even if for different reasons). If not, looks like a regression we should fix sooner rather than later. |
@mramato I think this was "less" of a problem with multifrustum but it presents like the near-plane issues that log depth was supposed to fix. So I guess it's not technically a regression but it looks like one? heheh... We've already had at least one other bugfix for log depth and "big" triangles, so this shouldn't be difficult beyond some philosophical questioning. |
I believe this is also contributing to a problem that I've posted about: https://groups.google.com/d/topic/cesium-dev/kMZIgIa6lqQ/discussion |
Related, with |
@likangning93 that's an issue with polylines, not geometry, so I added a comment to #6741 |
Same for vector tiles. Brought up on the forum here: https://groups.google.com/forum/#!topic/cesium-dev/WhCZhIUaJIQ Specifically how you can see this in https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/?src=3D Tiles Terrain Classification.html when zoomed in. |
Brought up again in #7488. |
I run into this constantly with building size BIM/CAD models (floors clip in most views). How hard of a fix is this and can we prioritize it anytime soon? |
This has come up again in the case of creating a large clipping plane, see forum thread here. Notice the big missing chunk close to the camera. |
Another case reported here, trying to simulate flood levels with a large polygon: #7918 |
coooooool |
@likangning93 Hi! Sorry to distrub. |
Hi @JiaoJianing, we still need to take the time to quantify the performance impact for the recommended changes for writing log depth in the fragment shader. This is important since Cesium has to run on so many different platforms, and since we also use the depth buffer for many other effects and features in the engine. In the meantime logarithmic depth is easy to deactivate if it's causing problems for your use case, just use |
Came up again here: https://groups.google.com/d/msg/cesium-dev/fXHvE2psXD4/t181NoF1AgAJ |
Congratulations on closing the issue! I found these Cesium forum links in the comments above: https://groups.google.com/d/topic/cesium-dev/kMZIgIa6lqQ/discussion If this issue affects any of these threads, please post a comment like the following:
|
Our "big" geometries aren't tessellated enough for log depth to interpolate correctly right now, which causes issues that look kind of like near-plane problems but don't present as a planar cut:
On Sandcastle
I'm pretty sure it's the "minimum tessellation" problem (described here: http://outerra.blogspot.sk/2009/08/logarithmic-z-buffer.html) because adding
#define ENABLE_GL_POSITION_LOG_DEPTH_AT_HEIGHT
to the top ofvertexLogDepth.glsl
seems to fix the problem.The text was updated successfully, but these errors were encountered: