From 40c40b8e133c4ee3feb199753c82d4b55a105c8e Mon Sep 17 00:00:00 2001 From: Sami Varanka Date: Wed, 2 Jun 2021 13:43:06 +0300 Subject: Fix direct rendering doesn't show anything MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rendering a graph directly to background didn't work in Qt 6 since it uses RHI and there is no way to not clear the color buffer before rendering. The graph uses direct OpenGL calls to render directly to background. Enabled direct rendering to qml3doscilloscope example. In addition, RenderDirectToBackground_NoClear got deprecated. When rendering directly to background, using non-transparent qml item as a background will hide the graph. This was already mentioned in the documentation but not clearly enough. Updated documentation for AbstractGraph3D. Fixes: QTBUG-90665 Change-Id: I53081bac382ab89573359886e4f5c4b41be8e86d Reviewed-by: Tomi Korpipää (cherry picked from commit ad85513d4b38bdedac27a095bd3a988f1eda23a2) Reviewed-by: Qt Cherry-pick Bot --- .../qml3doscilloscope/doc/src/qml3doscilloscope.qdoc | 2 -- .../qml3doscilloscope/qml/qml3doscilloscope/main.qml | 1 + .../datavisualization/qmlaxisformatter/qml/qmlaxisformatter/main.qml | 2 +- examples/datavisualization/qmlbars/qml/qmlbars/main.qml | 2 +- .../datavisualization/qmlcustominput/qml/qmlcustominput/main.qml | 2 +- examples/datavisualization/qmllegend/qml/qmllegend/main.qml | 2 +- examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/main.qml | 5 ++++- examples/datavisualization/qmlscatter/doc/src/qmlscatter.qdoc | 4 ++-- examples/datavisualization/qmlscatter/qml/qmlscatter/main.qml | 2 +- 9 files changed, 12 insertions(+), 10 deletions(-) (limited to 'examples/datavisualization') diff --git a/examples/datavisualization/qml3doscilloscope/doc/src/qml3doscilloscope.qdoc b/examples/datavisualization/qml3doscilloscope/doc/src/qml3doscilloscope.qdoc index 3772df32..a3b2f3f3 100644 --- a/examples/datavisualization/qml3doscilloscope/doc/src/qml3doscilloscope.qdoc +++ b/examples/datavisualization/qml3doscilloscope/doc/src/qml3doscilloscope.qdoc @@ -110,7 +110,6 @@ \snippet qml3doscilloscope/qml/qml3doscilloscope/main.qml 3 - \omit \section1 Enabling Direct Rendering Since this application potentially deals with a lot of rapidly changing data, we use direct @@ -122,6 +121,5 @@ \snippet qml3doscilloscope/main.cpp 1 \dots 0 \snippet qml3doscilloscope/main.cpp 2 - \endomit */ diff --git a/examples/datavisualization/qml3doscilloscope/qml/qml3doscilloscope/main.qml b/examples/datavisualization/qml3doscilloscope/qml/qml3doscilloscope/main.qml index ba733c21..51eba416 100644 --- a/examples/datavisualization/qml3doscilloscope/qml/qml3doscilloscope/main.qml +++ b/examples/datavisualization/qml3doscilloscope/qml/qml3doscilloscope/main.qml @@ -74,6 +74,7 @@ Item { axisY.segmentCount: 4 axisZ.segmentCount: 4 measureFps: true + renderingMode: AbstractGraph3D.RenderDirectToBackground onCurrentFpsChanged: (fps)=> { if (fps > 10) diff --git a/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/main.qml b/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/main.qml index 7be207af..d7042535 100644 --- a/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/main.qml +++ b/examples/datavisualization/qmlaxisformatter/qml/qmlaxisformatter/main.qml @@ -34,7 +34,7 @@ import QtDataVisualization 1.2 import CustomFormatter import "." -Rectangle { +Item { id: mainView width: 1280 height: 1024 diff --git a/examples/datavisualization/qmlbars/qml/qmlbars/main.qml b/examples/datavisualization/qmlbars/qml/qmlbars/main.qml index ab855fd9..76eff0f2 100644 --- a/examples/datavisualization/qmlbars/qml/qmlbars/main.qml +++ b/examples/datavisualization/qmlbars/qml/qmlbars/main.qml @@ -35,7 +35,7 @@ import QtQuick.Window import Qt.labs.qmlmodels import "." -Rectangle { +Item { id: mainview width: 1280 height: 1024 diff --git a/examples/datavisualization/qmlcustominput/qml/qmlcustominput/main.qml b/examples/datavisualization/qmlcustominput/qml/qmlcustominput/main.qml index 23fb13ee..77576127 100644 --- a/examples/datavisualization/qmlcustominput/qml/qmlcustominput/main.qml +++ b/examples/datavisualization/qmlcustominput/qml/qmlcustominput/main.qml @@ -33,7 +33,7 @@ import QtQuick.Controls import QtDataVisualization 1.2 import "." -Rectangle { +Item { id: mainView width: 1280 height: 720 diff --git a/examples/datavisualization/qmllegend/qml/qmllegend/main.qml b/examples/datavisualization/qmllegend/qml/qmllegend/main.qml index 5100a378..5245fd67 100644 --- a/examples/datavisualization/qmllegend/qml/qmllegend/main.qml +++ b/examples/datavisualization/qmllegend/qml/qmllegend/main.qml @@ -33,7 +33,7 @@ import QtQuick.Layouts import QtDataVisualization 1.2 import "." -Rectangle { +Item { id: mainView width: 800 height: 600 diff --git a/examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/main.qml b/examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/main.qml index cbfeb9d8..f30b1739 100644 --- a/examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/main.qml +++ b/examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/main.qml @@ -33,7 +33,7 @@ import QtQuick.Controls import QtDataVisualization 1.2 import "." -Rectangle { +Item { id: mainView width: 800 height: 600 @@ -58,6 +58,7 @@ Rectangle { Layout.fillWidth: true border.color: surfaceGraph.theme.gridLineColor border.width: 2 + color: "#00000000" Surface3D { id: surfaceGraph @@ -134,6 +135,7 @@ Rectangle { Layout.fillWidth: true border.color: scatterGraph.theme.gridLineColor border.width: 2 + color: "#00000000" Scatter3D { id: scatterGraph @@ -163,6 +165,7 @@ Rectangle { Layout.fillWidth: true border.color: barGraph.theme.gridLineColor border.width: 2 + color: "#00000000" Bars3D { id: barGraph diff --git a/examples/datavisualization/qmlscatter/doc/src/qmlscatter.qdoc b/examples/datavisualization/qmlscatter/doc/src/qmlscatter.qdoc index 667aea49..95d2bc66 100644 --- a/examples/datavisualization/qmlscatter/doc/src/qmlscatter.qdoc +++ b/examples/datavisualization/qmlscatter/doc/src/qmlscatter.qdoc @@ -80,11 +80,11 @@ The last \c import just imports all the qml files in the same directory as our \c {main.qml}, because that's where \c Data.qml is. - Then we create our main \c Rectangle and call it \c mainView: + Then we create our main \c Item and call it \c mainView: \snippet qmlscatter/qml/qmlscatter/main.qml 1 - Then we'll add another \c Item inside the main \c Rectangle, and call it \c dataView. + Then we'll add another \c Item inside the main \c Item, and call it \c dataView. This will be the item to hold the Scatter3D graph. We'll anchor it to the parent bottom: \snippet qmlscatter/qml/qmlscatter/main.qml 9 diff --git a/examples/datavisualization/qmlscatter/qml/qmlscatter/main.qml b/examples/datavisualization/qmlscatter/qml/qmlscatter/main.qml index bafbfc57..89863d84 100644 --- a/examples/datavisualization/qmlscatter/qml/qmlscatter/main.qml +++ b/examples/datavisualization/qmlscatter/qml/qmlscatter/main.qml @@ -36,7 +36,7 @@ import "." //! [0] //! [1] -Rectangle { +Item { id: mainView //! [1] width: 500 -- cgit v1.2.3