Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-78785

Improve picking

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 5.14.0 Beta 1
    • Component/s: Quick: 3D
    • Labels:
      None
    • Technical Risk:
      Normal
    • Commits:
      38f278a4fdc434bc28e8288d6e30bc4925c98a77 (qt/qtquick3d/5.14)

      Description

      The existing picking implementation has several problems:
      1. It's synchronous, but crosses thread boundaries.
      2. The data used to find the nodes that intersects with the picking ray are ephemeral (per frame).
      3. With overlapping views only one of the views will work (ephemeral data differs between views).

      For the first two items there are two possible solutions. The easiest solution would be to make the picking async, meaning picking is done on the render thread and the result from the picking is sent back through a callback. The second solution is to build up the data need for picking and separate it from the frame data, some synchronization mechanism is most like going to be needed unless we can work purely on the data from the front-end nodes.

        Attachments

          Issue Links

          For Gerrit Dashboard: QTBUG-78785
          # Subject Branch Project Status CR V

            Activity

              People

              Assignee:
              stromme Christian
              Reporter:
              stromme Christian
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes