Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.6.0
-
None
Description
If you use compositingMode and set it to Scene3D.Underlay instead of FBO, Qt3D with RHI backend will draw white
Scene3D { id: sceneId anchors.fill: parent focus: true aspects: ["render", "input", "logic"] entity: rootEntity compositingMode: Scene3D.Underlay }
The result of Scene3D.Underlay
What's expected:
Looking at the Qt3D source code, it doesn't currently support underlay.
const bool usesFBO = scene3DRenderer->m_compositingMode == Scene3DItem::FBO; // Not sure how we could support underlay rendering properly given Qt3D RHI will render into its own // RHI RenderPasses prior to QtQuick and beginning a new RenderPass clears the screen Q_ASSERT(usesFBO);
The application should have asserted here, but it doesn't. Supporting underlay with RHI seems possible given there's a Qt example about it: https://doc.qt.io/qt-6/qtquick-scenegraph-rhiunderqml-example.html
I've attached a demo program that shows the issue.