Commit Graph

5 Commits

Author SHA1 Message Date
Laszlo Agocs d70b847f77 Fix corrupt rendering when toggling rendernode-based items
Meaning the toggling of visibility. Having a QSGRenderNode come and
go in the scenegraph leads to visual problems, in case the adding
and removal of the node toggles the m_forceNoUseDepthBuffer flag,
which in turn makes useDepthBuffer() return a different value
than before (so disables and then enables doing the opaque
pass in the renderer). Changing this value needs a full rebuild
of the render lists. When adding a node, this is done (regardless
of toggling the flag). When removing, it was not done at all.
Now we do it when resetting the no-Z flag back to false.

Add a button to the customrendernode example to toggle visibility
since this is useful for example's purposes anyways. However, this
on its own is not sufficient to reproduce the issue. For that,
the DepthAwareRendering flag needs to be removed from the
QSGRenderNode subclass.

Pick-to: 6.6 6.5
Fixes: QTBUG-119160
Change-Id: I232354d88f5a4fe5f9f2d6102d0d5439d92782fb
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2023-11-24 18:34:03 +01:00
Laszlo Agocs aeb3bd235a Clean up customrendernode example
Make it more consistent with other scenegraph examples, and make it
more compact, in particular when it comes to handling the QRhi
resources (smart pointers are quite useful in this case since they
help dropping a bunch of lines)

Expand the docs.

Pick-to: 6.6 6.6.0
Change-Id: I97bceca7759db9738d34f0fbf7eb29b0ae6e4c0f
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
2023-09-25 09:01:17 +00:00
Kai Köhne 8f1e6aa0ed Examples: Fix license to Commercial or BSD-3-Clause
Pick-to: 6.5 6.6
Change-Id: Ieb1db96846e02c3b93888ed409af82bfb3567c19
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2023-06-26 16:23:24 +02:00
Oliver Eftevaag 1c6afffc94 Quick scenegraph examples: use qsTr() for user facing strings
All user facing strings should use qsTr()

Pick-to: 6.5
Change-Id: I2f776fe088b05bb046ceafbc6c29528212a2c1a0
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2023-01-17 16:45:12 +01:00
Ben Fletcher 7be8566719 scenegraph: Add example for QSGRenderNode based RHI rendering
Add an example to demonstrate RHI rendering in the scenegraph with a
custom QSGRenderNode.  Works for Vulkan/OpenGL/Metal/D3D rendering
directly, and into a layer.

Change-Id: I0333f63fd729312b71e51f5b6376e46f8afe1fe6
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2022-11-01 10:39:02 -07:00