Return pick ray in world coordinates with orthographic frustum #12500
+147
−25
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.
Description
Currently,
Camera.getPickRay
returns results in different coordinate systems depending on whether a perspective or orthographic frustum is used. With a perspective frustum,getPickRay
returns a ray in world coordinates, which is correct per thegetPickRay
docs. With an orthographic frustum (both 2D and 3D), on the other hand,getPickRay
returns the ray in camera coordinates, which differs from the documentation. This also results in weird zooming behavior in 3D orthographic mode with a tracked entity.CleanShot.2025-02-27.at.19.24.42.mp4
Note that this could be a breaking change if users have depended on
getPickRay
incorrectly returning results in camera coordinates.Issue number and link
#12498
#11743
Testing plan
Added four additional tests to cover:
Only test 1 (perspective 3D) currently passes on
main
. This PR resolves the remaining 3 tests.Author checklist
CONTRIBUTORS.md
CHANGES.md
with a short summary of my change