-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
6.2.3, 6.3
-
None
-
-
65e76c2cc0 (qt/qtquick3d/dev) 007f7b2047 (qt/qtquick3d/6.2) 1fc1f796be (qt/qtquick3d/6.3) 007f7b2047 (qt/tqtc-qtquick3d/6.2) 1fc1f796be (qt/tqtc-qtquick3d/6.3) 007f7b2047 (qt/qtquick3d/6.2) 1fc1f796be (qt/tqtc-qtquick3d/6.3.1)
The attached View3D has a Node with 2D item.
Node { Rectangle { width: 100 height: 100 color: hh.hovered ? "lime" : "green" Rectangle { anchors.centerIn: parent width: 50 height: 50 HoverHandler { id: hh } } } }
With QSG_RENDER_LOOP=threaded, the 3D scene appears to be updated even if
nothing dirty.
With QSG_RENDER_LOOP=basic, camera rotation does not apply to the scene objects.
Hover handling is also not working.
I've confirmed this is caused by update() call inside QQuick3DItem2D::updateSpatialNode().
connect(m_renderer, &QSGAbstractRenderer::sceneGraphChanged, this, &QQuick3DObject::update); ... m_renderer->setRootNode(m_rootNode); m_rootNode->markDirty(QSGNode::DirtyForceUpdate); // Force matrix, clip and opacity update. m_renderer->nodeChanged(m_rootNode, QSGNode::DirtyForceUpdate); // Force render list update.
nodeChanged() emits sceneGraphChanged(), which schedules update.
I'll send patches later.
For Gerrit Dashboard: QTBUG-101373 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
398609,2 | Fix updateDirtyNodes() to not create unreachable dirty list | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
398610,3 | Item2D: Noop on sceneGraphChanged triggered by updateSpatialNode() | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
399722,2 | Fix updateDirtyNodes() to not create unreachable dirty list | 6.2 | qt/qtquick3d | Status: MERGED | +2 | 0 |
399723,2 | Fix updateDirtyNodes() to not create unreachable dirty list | 6.3 | qt/qtquick3d | Status: MERGED | +2 | 0 |
402573,2 | Item2D: Noop on sceneGraphChanged triggered by updateSpatialNode() | 6.3 | qt/qtquick3d | Status: MERGED | +2 | 0 |
402594,2 | Item2D: Noop on sceneGraphChanged triggered by updateSpatialNode() | 6.2 | qt/qtquick3d | Status: MERGED | +2 | 0 |