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

Fixed divisor issue #3126

Merged
merged 1 commit into from
Oct 26, 2015
Merged

Fixed divisor issue #3126

merged 1 commit into from
Oct 26, 2015

Conversation

lilleyse
Copy link
Contributor

For #3116

This is another attempt to fix the divisor problems. The specs pass and the Sandcastle demos work. It basically reverts what I did in #3113 and adds lines 98 and 99 to set the divisor cache when a VAO is created.

I'm not completely sure what the Chrome bug is that I'm working against. The title for the Chromium commit is "Fixed issue with vertex attrib divisors of 0 not tracking correctly". So the VAO actually does store the divisor state, except has a problem when the divisors are 0. I was able to test a simpler version of setVertexAttribDivisor for this, but it won't work on Firefox because they still seem to store the divisors as global state. Basically two implementations are needed to fix two different browser bugs. The solution here works all around, but on Chrome there will be some excess glVertexAttribDivisor calls when the divisor is > 1. At least Canary now works as expected.

@pjcozzi
Copy link
Contributor

pjcozzi commented Oct 26, 2015

It may not be related to this PR, but the billboards disable if you select "Instanced Disabled" in the Sandcastle example:

http://localhost:8080/Apps/Sandcastle/index.html?src=development/Billboards%20Instancing.html&label=Development

Windows/Chrome

@pjcozzi
Copy link
Contributor

pjcozzi commented Oct 26, 2015

Windows/Chrome

It is not related to platform/browser. This is an issue for all platforms and browsers I tested.

@pjcozzi
Copy link
Contributor

pjcozzi commented Oct 26, 2015

This fixes the tests on Chrome/Firefox/IE on Windows. Mac is also OK.

Merging this now. @lilleyse please open a separate pull request for the Sandcastle example fix.

pjcozzi added a commit that referenced this pull request Oct 26, 2015
@pjcozzi pjcozzi merged commit c2649d8 into CesiumGS:master Oct 26, 2015
@pjcozzi pjcozzi deleted the vertexDivisorFix branch October 26, 2015 12:46
@lilleyse
Copy link
Contributor Author

I also noticed that Sancastle problem, there are a few issues when there are 100489 billboards, but it works when there are 10000. I'll look into it.

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.

None yet

2 participants