diff options
author | Mike Krus <mike.krus@kdab.com> | 2021-06-08 13:14:21 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-06-14 15:07:02 +0000 |
commit | eb0011ba18f6b80ca11ccce93822cea69c7e8dd2 (patch) | |
tree | 1220d7ae2f912d49997e23e2e6d5f97c1d225377 /dependencies.yaml | |
parent | baff2621a109beb7d09dc456c547ba617f6f67ba (diff) |
Fix multi-view picking
When using Scene3DView, qt3d still has a single scene graph and and a
single framegraph. It automatically creates layers and layer filters
to make sure the right objects are only rendered in the right view.
This affects picking though as it was not aware of layer filters.
This patch collects the filtered layers for each view and makes sure
only entities matching those layers are tested for picking (this uses
code that existed for ray casting).
This changes the behavior of Qt3D though as non rendered objects (ie,
excluded by layer filtering) are no longer pickable. Only way now would
be to provide a shader that just discarded everything.
Note: Scene3DView is not available in Qt6 so on this branch this only
really affects custom scenes with multiple views each showing different
content.
[ChangeLog] Non rendered entities (due to layer filtering) are no
longer pickable
Ticket-number: QTBUG-94214
Change-Id: I8515368e43342b33ac219dff533e92efa72fbe7d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit d79376732105dea749e71cdb114251084c7138a9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'dependencies.yaml')
0 files changed, 0 insertions, 0 deletions