Add relative position reporting to UI picking #17681
Open
+12
−5
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.
Objective
Add position reporting to
HitData
sent from the UI picking backend.Solution
Add the computed normalized relative cursor position to
hit_data
alongside theEntity
.The position reported in
HitData
is normalized relative to the node, with(0.,0.,0.)
at the top left and(1., 1., 0.)
in the bottom right. Coordinates are relative to the entire node, not just the visible region.HitData
needs aVec3
so I just extended with 0.0. I considered inserting thedepth
here but thought it would be redundant.I also considered putting the screen space position in the
normal
field ofHitData
, but that would require renaming of the field or a separate data structure.Testing
Tested with mouse on X11 with entities that have
Node
components.Showcase