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

Materials shared between views don't always render

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 6.4.2, 6.5.0 Beta1, 6.x
    • 5.15.1
    • Quick: 3D
    • None
    • 5
    • 7ac4f67541 (qt/qtquick3d/dev) 7ac4f67541 (qt/tqtc-qtquick3d/dev) 4be86bedf3 (qt/qtquick3d/6.4) 4be86bedf3 (qt/tqtc-qtquick3d/6.4)
    • 2022 Qt Quick 3D: Week 19-20, 2022 Qt Quick 3D: Week 21-22, 2022 Qt Quick 3D: Week 49

    Description

      If a material is owned by a hidden view and used by another view, it doesn't render, because it is put to the dirty list of the hidden scene at QQuick3DObject::componentComplete() and therefore doesn't get put to the dirty list of the visible scene. Since the owning scene is hidden, updateSpatialNode is never called for the material.

      Also, if the material is defined in a view that is initialized after the view that also uses the material, the material doesn't show up in the view that is initialized first.

      Use attached example to repro both cases.

      This bug makes shared materials not render in QDS 3D edit view if the owning view hasn't yet been shown (QDS-2789). Also, material preview of materials in yet to shown views doesn't work for the same reason.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              stromme Christian
              e0348803 Miikka Heikkinen
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes