Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.15.1
-
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
- is required for
-
QDS-2789 Material preview does not work if the actual material parent View3D has not been rendered into 3D edit view yet
-
- Closed
-
- relates to
-
QTBUG-103316 Materials do not work correctly with multiple View3Ds
-
- Closed
-