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

Fix webgl errors when rendering over 64k billboards #8325

Merged
merged 1 commit into from
Oct 28, 2019

Conversation

lilleyse
Copy link
Contributor

Fixes #8315

Two separate bugs:

  • When instancing is enabled - VertexArrayFacade breaks up vertex arrays where the number of vertices is greater than the ushort limit of 65536. This breaking up step shouldn't happen when doing instancing.
  • When instancing is disabled - 9100963 broke non-instanced billboard rendering because the vertex array was no longer aligned to every 4 vertices.

Cesium should now be able to render large amounts of billboards without WebGL errors or artifacts whether the browser supports ANGLE_instanced_arrays or not.

@cesium-concierge
Copy link

Thanks for the pull request @lilleyse!

  • ✔️ Signed CLA found.
  • ❔ Unit tests were not updated.
    • Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

  • Cesium Viewer works.
  • Works in 2D/CV.
  • Works (or fails gracefully) in IE11.

@mramato
Copy link
Contributor

mramato commented Oct 28, 2019

Awesome, I wonder if there are any other random invalid GL type errors we've seen on Linux that will now go away.

@mramato
Copy link
Contributor

mramato commented Oct 28, 2019

Can confirm the referenced bug is fixed and things are working fine in both Linux and older browsers like IE11.

@mramato mramato merged commit 6d22551 into master Oct 28, 2019
@mramato mramato deleted the fix-billboard-64k branch October 28, 2019 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a lot of labels called GL_INVALID_OPERATION
3 participants