Add rhi support for QQuickItem children in QQuick3DObject
This comes with the caveat that the depth prepass, when enabled, will be
implicitly disabled whenever a 2D item child is added to a 3D node.
Supporting the Z prepass would involve adding support for drawing these
quads into the depth buffer similarly to how we draw the model geometry,
but this is left as a future exercise for when we decide if the cost of
implementing and maintenance is worth it for an opt-in, likely-never-used
rendering feature.
The leaking of objects (likely QSGLayer objects, which in turn lead to
not releasing graphics resources on exit) from Item2D is also not solved
here as that is likely present in the 5.15 code base as well. To be
handled separately.
Other than that, the quickitem example and the related Lancelot tests
should give identical results.
Task-number: QTBUG-83469
Change-Id: I33a63bd1b47ae34ce66a120b267386b8f2233bf9
Reviewed-by:
Paul Olav Tvete <paul.tvete@qt.io>
Showing
- src/quick3d/qquick3dscenerenderer.cpp 2 additions, 2 deletionssrc/quick3d/qquick3dscenerenderer.cpp
- src/render/qssgrhicontext_p.h 2 additions, 1 deletionsrc/render/qssgrhicontext_p.h
- src/runtimerender/graphobjects/qssgrenderlayer_p.h 2 additions, 0 deletionssrc/runtimerender/graphobjects/qssgrenderlayer_p.h
- src/runtimerender/qssgrhieffectsystem.cpp 1 addition, 1 deletionsrc/runtimerender/qssgrhieffectsystem.cpp
- src/runtimerender/qssgrhiquadrenderer.cpp 13 additions, 6 deletionssrc/runtimerender/qssgrhiquadrenderer.cpp
- src/runtimerender/qssgrhiquadrenderer_p.h 12 additions, 2 deletionssrc/runtimerender/qssgrhiquadrenderer_p.h
- src/runtimerender/rendererimpl/qssgrendererimpl_p.h 2 additions, 0 deletionssrc/runtimerender/rendererimpl/qssgrendererimpl_p.h
- src/runtimerender/rendererimpl/qssgrendererimpllayerrenderdata_rhi.cpp 115 additions, 13 deletions...nder/rendererimpl/qssgrendererimpllayerrenderdata_rhi.cpp
- src/runtimerender/rendererimpl/qssgrendererimpllayerrenderpreparationdata.cpp 32 additions, 28 deletions...ndererimpl/qssgrendererimpllayerrenderpreparationdata.cpp
- src/runtimerender/rendererimpl/qssgrendererimplshaders_rhi.cpp 5 additions, 0 deletions...untimerender/rendererimpl/qssgrendererimplshaders_rhi.cpp
- src/runtimerender/res.qrc 2 additions, 0 deletionssrc/runtimerender/res.qrc
- src/runtimerender/res/rhishaders/compile.bat 3 additions, 0 deletionssrc/runtimerender/res/rhishaders/compile.bat
- src/runtimerender/res/rhishaders/texturedquad.frag 19 additions, 0 deletionssrc/runtimerender/res/rhishaders/texturedquad.frag
- src/runtimerender/res/rhishaders/texturedquad.frag.qsb 0 additions, 0 deletionssrc/runtimerender/res/rhishaders/texturedquad.frag.qsb
- src/runtimerender/res/rhishaders/texturedquad.vert 26 additions, 0 deletionssrc/runtimerender/res/rhishaders/texturedquad.vert
- src/runtimerender/res/rhishaders/texturedquad.vert.qsb 0 additions, 0 deletionssrc/runtimerender/res/rhishaders/texturedquad.vert.qsb
Loading
Please register or sign in to comment