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

Materials shared between views don't always render

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P2: Important 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

      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.

        1. MaterialSharingTest.zip
          3 kB
          Miikka Heikkinen
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes