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

3D Tiles: Possible frustum artifact? #4381

Open
mramato opened this issue Sep 29, 2016 · 10 comments · Fixed by #5851 or #8205
Open

3D Tiles: Possible frustum artifact? #4381

mramato opened this issue Sep 29, 2016 · 10 comments · Fixed by #5851 or #8205

Comments

@mramato
Copy link
Contributor

mramato commented Sep 29, 2016

I know we've seen this before, but I couldn't find an issue anywhere. I have a 3D Tileset on terrain (so depth testing against terrain is on) and I get the following bug:

frustum

Feel free to close if this is a dupe.

@lilleyse
Copy link
Contributor

I added this to the roadmap.

@bagnell
Copy link
Contributor

bagnell commented Mar 29, 2017

@mramato Have you tested this recently? It might have been fixed by #5116.

@mramato
Copy link
Contributor Author

mramato commented Mar 29, 2017

I can't reproduce this (though I didn't leave myself good directions to begin with). I'm going to close this and I'll re-open with better instructions if I see it again. Thanks @bagnell!

@mramato mramato closed this as completed Mar 29, 2017
@lilleyse
Copy link
Contributor

I tried two tilesets that I noticed having this issue before, and they seem to be fixed too.

@pjcozzi
Copy link
Contributor

pjcozzi commented May 20, 2017

@cesium-concierge
Copy link

Congratulations on closing the issue! I found these Cesium forum links in the comments above:

https://groups.google.com/forum/#!topic/cesium-dev/hYrDHkXQeGk

If this issue affects any of these threads, please post a comment like the following:

The issue at #4381 has just been closed and may resolve your issue. Look for the change in the next stable release of Cesium or get it now in the master branch on GitHub https://github.com/AnalyticalGraphicsInc/cesium.


I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.

🌍 🌎 🌏

@lilleyse
Copy link
Contributor

It's still possible to get this artifact if both log depth and depth test against terrain are false and the tileset is below terrain. I think I understand the reason now. The closest frustum always draws above pixels in further frustums but this breaks down when depth test against terrain is false and we actually want to see those pixels in further frustums. I don't have a solution yet but considering that we now write a 3D Tiles stencil bit to the stencil buffer I wonder if we can use that (e.g. don't clear stencil between frustums, have terrain commands discard if 3D Tiles bit is set and depthTestAgainstTerrain is false).

diagram

Sandcastle
clip jgp

@lilleyse lilleyse reopened this Jun 30, 2019
@OmarShehata
Copy link
Contributor

This almost looks just like this artifact Gary found which only happens in IE. I wonder if it's related: #7926

@cesium-concierge
Copy link

Congratulations on closing the issue! I found these Cesium forum links in the comments above:

https://groups.google.com/forum/#!topic/cesium-dev/hYrDHkXQeGk

If this issue affects any of these threads, please post a comment like the following:

The issue at #4381 has just been closed and may resolve your issue. Look for the change in the next stable release of Cesium or get it now in the master branch on GitHub https://github.com/AnalyticalGraphicsInc/cesium.

@lilleyse
Copy link
Contributor

lilleyse commented Nov 6, 2019

I opened this back up and tagged it as next-release. There was a flaw in the design that didn't account for multi-frustum setups where a frustum is completely past the depth plane.

From #8356 (comment)

The points on the opposite side of the globe are rendered in the last frustum which is past the depth plane. The same thing happened in 1.62 but the points would get overwritten by globe commands in closer frustums.

If the depth plane could be clamped to the frustum somehow this would be fixed. I can think of an elegant way involving gl_FragDepth but the depth plane should be able to work without WebGL extensions.

#8368 reverted #8205 temporarily for 1.63.1 but we like to get the multifrustum seam fix back in before the next release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants