-
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
Overlapping Imagery Layers Produce Black Tile Artifacts on Chrome and Firefox #7649
Comments
Thanks for including the code example @justin-lau, I was able to reproduce this as well. |
wonder if this is related to #7640 |
It's been a long time since I looked at any of the related code but this feels like it could be a result of exceeding the number of texture units, since we bind all overlapping imagery tiles for a terrain tile as separate textures. The iPad probably has a lower limit than a desktop card, so encounters the issue earlier. If my hypothesis holds, in the picture for this issue, it's not that they're overlapping, but rather in the second picture where it draws correctly, several of the images have been moved from the tile for eastern US to the western US tile, putting the eastern tile below the limit. |
I think Cesium is supposed to get around this by breaking the imagery layers across more draw calls as necessary, but maybe something is going wrong with that. More data:
|
yeah... seems to be the same issue |
Spitballing, maybe some commit added a batch table to globe tiles but didn't update |
Able to confirm on Windows 10 + Intel (HD 4000) via ANGLE as well. A little more narrowing down seems to point at https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Shaders/GlobeFS.glsl#L106, having the function return something like |
Incidentally, can't reproduce on Windows 10 + HD 4000 in IE11. @justin-lau I'm testing a fix here. |
Thanks, @likangning93! Great investigation and fix! |
When certain number of imagery layers overlaps (I used 15 in this demo). See it on sandcastle.
When an offset is applied to the layers, stopping them from overlapping, it renders correctly:
Tested on the following browsers
Operating System: macOS Mojave 10.14.3
Tested and yield same result on multiple generation of iMacs, Macbook Air, and Macbook Pro.
The text was updated successfully, but these errors were encountered: