rendering: add DrawList picking and selection - #52
Open
tritao wants to merge 10 commits into
Open
Conversation
tritao
force-pushed
the
stack/drawlist-picking
branch
4 times, most recently
from
August 15, 2026 14:57
36ce153 to
d8223b8
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 15, 2026 17:03
d8223b8 to
819287c
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
2 times, most recently
from
August 15, 2026 17:30
f7fd84e to
d9b5c11
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 15, 2026 23:32
d9b5c11 to
389d40e
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
2 times, most recently
from
August 16, 2026 00:00
98264cc to
80fc121
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 16, 2026 00:03
80fc121 to
084f319
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 16, 2026 00:26
084f319 to
324a26d
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 16, 2026 09:49
324a26d to
8421ca5
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 16, 2026 10:00
8421ca5 to
85965ed
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 16, 2026 10:56
85965ed to
48fbf1c
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
2 times, most recently
from
August 16, 2026 11:43
85211ea to
e451a45
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
2 times, most recently
from
August 16, 2026 20:15
497e134 to
156c1e7
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 16, 2026 20:20
156c1e7 to
8f55fe0
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 17, 2026 11:40
8f55fe0 to
fa20638
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 17, 2026 12:56
fa20638 to
fa652fc
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 17, 2026 13:39
fa652fc to
6f2b6b6
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 17, 2026 13:43
6f2b6b6 to
5b1063b
Compare
tritao
force-pushed
the
stack/drawlist-picking
branch
from
August 17, 2026 13:54
5b1063b to
d3b5ebf
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Builds on #50.
Purpose
The DrawList renderer needs picking and selection to identify the same scene
objects and subelements that produced the visible frame. It also needs to do
that without attaching application selection policy to the renderer or
performing hidden picking work during ordinary drawing.
This PR carries object, face, edge, and vertex identity through retained
commands, renders exact integer IDs into a dedicated OpenGL pick target, and
resolves those IDs back into normal Coin pick results. Selection and highlight
overlays consume explicit frame-local targets derived from the same retained
identity.
What changed
R32UIpicking target, including radius and layered-hithandling.
by visual rendering.
frame-local targets.
Ownership and scope
Ordinary visual rendering does not perform picking implicitly. This layer
owns renderer-side identity, GPU picking, and overlay execution; it does not
own application identity, selection policy, manager orchestration, or render
layers.
Validation