-
-
Notifications
You must be signed in to change notification settings - Fork 313
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
Unsynchronized rotation behavior in WGLMakie #2243
Comments
This might be related to how |
Yeah I think updating the matrices isn't synchronized to the renderloop, and since updating stuff in JS is comparatively slow, this can be noticed in that case.. Not sure if there's a good fix besides optimizing the updates... |
Actually could it be that ax.scene.camera does not match the camera in the javascript part? I can't rotate the view further from Also this doesn't fix itself over time or when wiggling the camera around. So it's not like some updates don't make it. A desync between ax.scene.camera.projectionview and the view, projection matrices in javascript seems more likely to me |
Ah... that can also happen for the camera 3d! |
We should move the preprojection stuff to javascript then. I don't know how to set that up though |
I am finding that different types of objects behave differently under interactive rotations.
For example, if the scene contains lines and scatter points, clicking and dragging will rotate each of these objects differently. Only the lines follow the axis, the scatter points do something else.
Put another way, it's almost as if the image is the superposition of two different camera views, and clicking and dragging moves each camera in a slightly different way.
This does not happen with GLMakie. I only find this with WGLMakie.
Here is a minimal example. This was executed in VSCode on Linux. I found similar results when using the REPL and a browser interface.
Below are screeshots of the initial view, followed by the view after rotation by clicking and dragging.
The text was updated successfully, but these errors were encountered: