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

drillPick bug with targetFrameRate set #2994

Closed
mramato opened this issue Sep 2, 2015 · 2 comments
Closed

drillPick bug with targetFrameRate set #2994

mramato opened this issue Sep 2, 2015 · 2 comments

Comments

@mramato
Copy link
Contributor

mramato commented Sep 2, 2015

  1. Bring up the Sandcastle picking example. (Bring up the debugger too because Chrome will hang otherwise).
  2. Add viewer.targetFrameRate = 6 to the example and run it.
  3. Start the drill-down picking example and move the mouse over the geometries that appear.
  4. Chrome will quickly freeze, hit break in the debugger manually (failure to do so will cause Chrome to become completely unresponsive).
  5. Keep stepping out until you are in Scene.pick

The problem is that Scene.drillPick is stuck in an infinite loop because even though it's turning off the show property of the top-most primitive, Scene.pick is still returning it as the picked primitive. It looks like we're just re-rendering the same seen over and over again instead of taking into account the fact that drillPick turned off one of the primitives.

Reported via the forum

Not sure if this is related to #2942

@bagnell
Copy link
Contributor

bagnell commented Sep 3, 2015

I tracked this to setting the scissor test. The correct scissor rectangle is not getting cleared causing the same object to be picked. If you follow Matt's instructions and break here, the scissorTest.rectangle will be different than what is set (which you can query with gl.getParameter(WebGLRenderingContext.SCISSOR_BOX)).

@lilleyse confirmed that this doesn't happen on his Mac. Maybe it's an ANGLE only issue. Do we want to support clearing with the scissor test set? There is more overhead when we don't clear the entire buffer when using ANGLE.

@pjcozzi
Copy link
Contributor

pjcozzi commented Sep 4, 2015

Do we want to support clearing with the scissor test set?

Probably fine. I doubt the overhead is significant compared to everything else.

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

No branches or pull requests

3 participants