Use transform matrix when getting/setting camera position #476
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When scaling a scene (
.set_scale
), the camera coordinates are transformed to a new projected space. This PR makes sure that when you set the position of the camera using data coordinates, the camera will properly handle those coordinates in the camera's projected space.One place where many folks noticed this issue is when setting the camera location or focal point which is handled by the
orbit_on_path
method. The path given corresponds to the data coordinates and not the camera's projected coordinates so if the scene is scaled, the camera could be in a totally wrong location.Here is a code snippet to demonstrate:
Master Branch
The camera's position is totally away from the mesh because the coordinates were not properly transformed.
This Branch
Ah, much better.