Fix Line2 Raycasting bounds margin computation to support Orthographic Camera #22791
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.
Related issue: #22782
Description
This PR adjusts the logic for computing the margin for the sphere and box bounds around Line2 to correctly (I believe) determine the world-space width of the thickness of the line at the closest point on the bounding sphere / box.
The logic for computing the margin is now encapsulated in
getWorldSpaceHalfWidth
. It now transforms a point at the given distance into clip space, adjusts the point by thepixel width / resolution
, then transforms back into world space and returns the max of the xy values as the margin. Tested by copying the jsfiddle of the above issue into one of the fat_lines three.js example pages for local dev.@nkallen can you test this?
cc @WestLangley