diff options
author | Mike Krus <mike.krus@kdab.com> | 2016-03-19 21:43:55 +0000 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-03-22 12:53:13 +0000 |
commit | f0019b047dbd146f14ab77fd0f1d65080bb9a9a6 (patch) | |
tree | e21014d78c3af1eb4d5a651d4d9085c8fd754051 | |
parent | 68667e9105744478bcfd2cf16efda71a350da372 (diff) |
Remove QViewport::clearColor
Task-number: QTBUG-51460
Change-Id: I616f4506dffd649efb931824fab82efcdefaeee3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r-- | examples/qt3d/deferred-renderer-cpp/main.cpp | 1 | ||||
-rw-r--r-- | examples/qt3d/enabled-qml/main.qml | 2 | ||||
-rw-r--r-- | examples/qt3d/gltf/main.qml | 2 | ||||
-rw-r--r-- | examples/qt3d/materials/SortedForwardRenderer.qml | 2 | ||||
-rw-r--r-- | examples/qt3d/planets-qml/PlanetFrameGraph.qml | 3 | ||||
-rw-r--r-- | examples/qt3d/playground-qml/MyForwardRenderer.qml | 3 | ||||
-rw-r--r-- | examples/qt3d/shadow-map-qml/ShadowMapFrameGraph.qml | 5 | ||||
-rw-r--r-- | src/quick3d/imports/render/defaults/qml/ForwardRenderer.qml | 3 | ||||
-rw-r--r-- | src/render/defaults/qforwardrenderer.cpp | 8 | ||||
-rw-r--r-- | src/render/framegraph/qviewport.cpp | 16 | ||||
-rw-r--r-- | src/render/framegraph/qviewport.h | 4 | ||||
-rw-r--r-- | src/render/framegraph/viewportnode.cpp | 9 | ||||
-rw-r--r-- | src/render/framegraph/viewportnode_p.h | 3 | ||||
-rw-r--r-- | tests/auto/render/qviewport/tst_qviewport.cpp | 46 |
14 files changed, 19 insertions, 88 deletions
diff --git a/examples/qt3d/deferred-renderer-cpp/main.cpp b/examples/qt3d/deferred-renderer-cpp/main.cpp index 739f3a903..f1221fd3b 100644 --- a/examples/qt3d/deferred-renderer-cpp/main.cpp +++ b/examples/qt3d/deferred-renderer-cpp/main.cpp @@ -126,7 +126,6 @@ int main(int ac, char **av) // FrameGraph DeferredRenderer *deferredRenderer = new DeferredRenderer(); - deferredRenderer->setClearColor(Qt::black); deferredRenderer->setNormalizedRect(QRectF(0.0f, 0.0f, 1.0f, 1.0f)); deferredRenderer->setFinalPassCriteria(finalEffect->passCriteria()); deferredRenderer->setGeometryPassCriteria(sceneEffect->passCriteria()); diff --git a/examples/qt3d/enabled-qml/main.qml b/examples/qt3d/enabled-qml/main.qml index 84c420afc..0a0894e82 100644 --- a/examples/qt3d/enabled-qml/main.qml +++ b/examples/qt3d/enabled-qml/main.qml @@ -60,13 +60,13 @@ Entity { RenderSettings { activeFrameGraph: Viewport { normalizedRect: Qt.rect(0.0, 0.0, 1.0, 1.0) - clearColor: "white" enabled: counter !== 5 RenderSurfaceSelector { ClearBuffers { buffers : ClearBuffers.ColorDepthBuffer + clearColor: "white" enabled: counter !== 6 } diff --git a/examples/qt3d/gltf/main.qml b/examples/qt3d/gltf/main.qml index 5d34890ea..4af6ba49f 100644 --- a/examples/qt3d/gltf/main.qml +++ b/examples/qt3d/gltf/main.qml @@ -72,11 +72,11 @@ Entity { RenderSettings { id : renderSettings activeFrameGraph : Viewport { - clearColor: "black" CameraSelector { camera: camera ClearBuffers { buffers : ClearBuffers.ColorDepthBuffer + clearColor: "black" SortPolicy { criteria: [ SortCriterion { sort: SortCriterion.BackToFront } diff --git a/examples/qt3d/materials/SortedForwardRenderer.qml b/examples/qt3d/materials/SortedForwardRenderer.qml index 6b42d28ea..eca45927a 100644 --- a/examples/qt3d/materials/SortedForwardRenderer.qml +++ b/examples/qt3d/materials/SortedForwardRenderer.qml @@ -70,7 +70,6 @@ TechniqueFilter { id: viewport objectName : "viewport" normalizedRect: Qt.rect(0.0, 0.0, 1.0, 1.0) - clearColor: "white" // Use the specified camera CameraSelector { @@ -78,6 +77,7 @@ TechniqueFilter { objectName : "cameraSelector" ClearBuffers { buffers : ClearBuffers.ColorDepthBuffer + clearColor: "white" SortPolicy { criteria: [ SortCriterion { sort: SortCriterion.StateChangeCost }, diff --git a/examples/qt3d/planets-qml/PlanetFrameGraph.qml b/examples/qt3d/planets-qml/PlanetFrameGraph.qml index 267cc6036..21a44bae8 100644 --- a/examples/qt3d/planets-qml/PlanetFrameGraph.qml +++ b/examples/qt3d/planets-qml/PlanetFrameGraph.qml @@ -61,12 +61,10 @@ RenderSettings { activeFrameGraph: Viewport { normalizedRect: Qt.rect(0.0, 0.0, 1.0, 1.0) - clearColor: Qt.rgba(0.0, 0.0, 0.0, 1.0) TechniqueFilter { matchAll: [ FilterKey { name: "name"; value: "Desktop" } ] - RenderPassFilter { includes: [ FilterKey { name: "pass"; value: "shadowmap" } ] @@ -97,6 +95,7 @@ RenderSettings { ClearBuffers { buffers: ClearBuffers.DepthBuffer + clearColor: Qt.rgba(0., 0., 0., 1.) CameraSelector { id: lightCameraSelector diff --git a/examples/qt3d/playground-qml/MyForwardRenderer.qml b/examples/qt3d/playground-qml/MyForwardRenderer.qml index 3be14e0e4..0956d485c 100644 --- a/examples/qt3d/playground-qml/MyForwardRenderer.qml +++ b/examples/qt3d/playground-qml/MyForwardRenderer.qml @@ -66,7 +66,7 @@ TechniqueFilter { property alias mainCamera: mainCameraSelector.camera property alias detailCamera: detailCameraSelector.camera property alias layerFilters: layerFilter.layers - property alias clearColor: viewport.clearColor + property alias clearColor: clearBuffers.clearColor matchAll : [ FilterKey { name: "RenderingStyle"; value: "forward";}, @@ -74,6 +74,7 @@ TechniqueFilter { ] ClearBuffers { + id: clearBuffers buffers: ClearBuffers.ColorDepthBuffer // Main Viewport diff --git a/examples/qt3d/shadow-map-qml/ShadowMapFrameGraph.qml b/examples/qt3d/shadow-map-qml/ShadowMapFrameGraph.qml index 302b10af5..893688cda 100644 --- a/examples/qt3d/shadow-map-qml/ShadowMapFrameGraph.qml +++ b/examples/qt3d/shadow-map-qml/ShadowMapFrameGraph.qml @@ -61,7 +61,10 @@ RenderSettings { activeFrameGraph: Viewport { normalizedRect: Qt.rect(0.0, 0.0, 1.0, 1.0) - clearColor: Qt.rgba(0.0, 0.4, 0.7, 1.0) + + ClearBuffers { + clearColor: Qt.rgba(0.0, 0.4, 0.7, 1.0) + } RenderSurfaceSelector { RenderPassFilter { diff --git a/src/quick3d/imports/render/defaults/qml/ForwardRenderer.qml b/src/quick3d/imports/render/defaults/qml/ForwardRenderer.qml index 97d755503..69898a133 100644 --- a/src/quick3d/imports/render/defaults/qml/ForwardRenderer.qml +++ b/src/quick3d/imports/render/defaults/qml/ForwardRenderer.qml @@ -43,7 +43,7 @@ import Qt3D.Render 2.0 TechniqueFilter { // Expose camera to allow user to choose which camera to use for rendering property alias camera: cameraSelector.camera - property alias clearColor: viewport.clearColor + property alias clearColor: clearBuffers.clearColor property alias viewportRect: viewport.normalizedRect property alias window: surfaceSelector.window @@ -64,6 +64,7 @@ TechniqueFilter { id : cameraSelector FrustumCulling { ClearBuffers { + id: clearBuffers buffers : ClearBuffers.ColorDepthBuffer } } diff --git a/src/render/defaults/qforwardrenderer.cpp b/src/render/defaults/qforwardrenderer.cpp index 3a652f817..cd8f2a507 100644 --- a/src/render/defaults/qforwardrenderer.cpp +++ b/src/render/defaults/qforwardrenderer.cpp @@ -72,7 +72,7 @@ void QForwardRendererPrivate::init() m_surfaceSelector->setParent(q); m_viewport->setNormalizedRect(QRectF(0.0f, 0.0f, 1.0f, 1.0f)); - m_viewport->setClearColor(Qt::white); + m_clearBuffer->setClearColor(Qt::white); m_clearBuffer->setBuffers(QClearBuffers::ColorDepthBuffer); QFilterKey *forwardRenderingStyle = new QFilterKey(q); @@ -106,7 +106,7 @@ QForwardRenderer::QForwardRenderer(QNode *parent) : QTechniqueFilter(*new QForwardRendererPrivate, parent) { Q_D(QForwardRenderer); - QObject::connect(d->m_viewport, SIGNAL(clearColorChanged(const QColor &)), this, SIGNAL(clearColorChanged(const QColor &))); + QObject::connect(d->m_clearBuffer, SIGNAL(clearColorChanged(const QColor &)), this, SIGNAL(clearColorChanged(const QColor &))); QObject::connect(d->m_viewport, SIGNAL(normalizedRectChanged(const QRectF &)), this, SIGNAL(viewportRectChanged(const QRectF &))); QObject::connect(d->m_cameraSelector, SIGNAL(cameraChanged(Qt3DCore::QEntity *)), this, SIGNAL(cameraChanged(Qt3DCore::QEntity *))); QObject::connect(d->m_surfaceSelector, SIGNAL(surfaceChanged(QObject *)), this, SIGNAL(surfaceChanged(QObject *))); @@ -129,7 +129,7 @@ void QForwardRenderer::setViewportRect(const QRectF &viewportRect) void QForwardRenderer::setClearColor(const QColor &clearColor) { Q_D(QForwardRenderer); - d->m_viewport->setClearColor(clearColor); + d->m_clearBuffer->setClearColor(clearColor); } /*! @@ -168,7 +168,7 @@ QRectF QForwardRenderer::viewportRect() const QColor QForwardRenderer::clearColor() const { Q_D(const QForwardRenderer); - return d->m_viewport->clearColor(); + return d->m_clearBuffer->clearColor(); } /*! diff --git a/src/render/framegraph/qviewport.cpp b/src/render/framegraph/qviewport.cpp index 3953c15ce..4f736b421 100644 --- a/src/render/framegraph/qviewport.cpp +++ b/src/render/framegraph/qviewport.cpp @@ -57,7 +57,6 @@ void QViewport::copy(const QNode *ref) QFrameGraphNode::copy(ref); const QViewport *viewport = static_cast<const QViewport*>(ref); d_func()->m_normalizedRect = viewport->d_func()->m_normalizedRect; - d_func()->m_clearColor = viewport->d_func()->m_clearColor; } QViewport::QViewport(QNode *parent) @@ -91,21 +90,6 @@ void QViewport::setNormalizedRect(const QRectF &normalizedRect) } } -QColor QViewport::clearColor() const -{ - Q_D(const QViewport); - return d->m_clearColor; -} - -void QViewport::setClearColor(const QColor &color) -{ - Q_D(QViewport); - if (color != d->m_clearColor) { - d->m_clearColor = color; - emit clearColorChanged(color); - } -} - } // namespace Qt3DRender QT_END_NAMESPACE diff --git a/src/render/framegraph/qviewport.h b/src/render/framegraph/qviewport.h index a53cce1bf..c6b68fb96 100644 --- a/src/render/framegraph/qviewport.h +++ b/src/render/framegraph/qviewport.h @@ -54,22 +54,18 @@ class QT3DRENDERSHARED_EXPORT QViewport : public QFrameGraphNode { Q_OBJECT Q_PROPERTY(QRectF normalizedRect READ normalizedRect WRITE setNormalizedRect NOTIFY normalizedRectChanged) - Q_PROPERTY(QColor clearColor READ clearColor WRITE setClearColor NOTIFY clearColorChanged) public: explicit QViewport(Qt3DCore::QNode *parent = 0); ~QViewport(); QRectF normalizedRect() const; - QColor clearColor() const; public Q_SLOTS: void setNormalizedRect(const QRectF& normalizedRect); - void setClearColor(const QColor &color); Q_SIGNALS: void normalizedRectChanged(const QRectF& normalizedRect); - void clearColorChanged(const QColor &clearColor); protected: QViewport(QViewportPrivate &dd, Qt3DCore::QNode *parent = 0); diff --git a/src/render/framegraph/viewportnode.cpp b/src/render/framegraph/viewportnode.cpp index e08bcceaa..f0cc965f3 100644 --- a/src/render/framegraph/viewportnode.cpp +++ b/src/render/framegraph/viewportnode.cpp @@ -64,7 +64,6 @@ void ViewportNode::updateFromPeer(Qt3DCore::QNode *peer) setXMax(viewport->normalizedRect().width()); setYMin(viewport->normalizedRect().y()); setYMax(viewport->normalizedRect().height()); - m_clearColor = viewport->clearColor(); setEnabled(viewport->isEnabled()); } @@ -105,11 +104,6 @@ void ViewportNode::setYMax(float yMax) m_yMax = yMax; } -QColor ViewportNode::clearColor() const -{ - return m_clearColor; -} - void ViewportNode::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) { if (e->type() == NodeUpdated) { @@ -120,9 +114,6 @@ void ViewportNode::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) setYMin(normalizedRect.y()); setXMax(normalizedRect.width()); setYMax(normalizedRect.height()); - } - else if (propertyChange->propertyName() == QByteArrayLiteral("clearColor")) { - m_clearColor = propertyChange->value().value<QColor>(); } else if (propertyChange->propertyName() == QByteArrayLiteral("enabled")) { setEnabled(propertyChange->value().toBool()); } diff --git a/src/render/framegraph/viewportnode_p.h b/src/render/framegraph/viewportnode_p.h index 1f31d58a5..9fd8e6217 100644 --- a/src/render/framegraph/viewportnode_p.h +++ b/src/render/framegraph/viewportnode_p.h @@ -83,8 +83,6 @@ public: float yMax() const; void setYMax(float yMax); - QColor clearColor() const; - void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE; private: @@ -92,7 +90,6 @@ private: float m_yMin; float m_xMax; float m_yMax; - QColor m_clearColor; }; QRectF computeViewport(const QRectF &childViewport, const ViewportNode *parentViewport); diff --git a/tests/auto/render/qviewport/tst_qviewport.cpp b/tests/auto/render/qviewport/tst_qviewport.cpp index 949764f32..2597bbe5f 100644 --- a/tests/auto/render/qviewport/tst_qviewport.cpp +++ b/tests/auto/render/qviewport/tst_qviewport.cpp @@ -51,15 +51,13 @@ private Q_SLOTS: { QTest::addColumn<Qt3DRender::QViewport *>("viewport"); QTest::addColumn<QRectF>("normalizedRect"); - QTest::addColumn<QColor>("color"); Qt3DRender::QViewport *defaultConstructed = new Qt3DRender::QViewport(); - QTest::newRow("defaultConstructed") << defaultConstructed << QRectF(0.0f, 0.0f, 1.0f, 1.0f) << QColor(); + QTest::newRow("defaultConstructed") << defaultConstructed << QRectF(0.0f, 0.0f, 1.0f, 1.0f); Qt3DRender::QViewport *smallGreenViewport = new Qt3DRender::QViewport(); smallGreenViewport->setNormalizedRect(QRectF(0.2f, 0.2f, 0.6f, 0.6f)); - smallGreenViewport->setClearColor(QColor(Qt::green)); - QTest::newRow("smallGreenViewport") << smallGreenViewport << QRectF(0.2f, 0.2f, 0.6f, 0.6f) << QColor(Qt::green); + QTest::newRow("smallGreenViewport") << smallGreenViewport << QRectF(0.2f, 0.2f, 0.6f, 0.6f); } @@ -68,11 +66,9 @@ private Q_SLOTS: // GIVEN QFETCH(Qt3DRender::QViewport *, viewport); QFETCH(QRectF, normalizedRect); - QFETCH(QColor, color); // THEN QCOMPARE(viewport->normalizedRect(), normalizedRect); - QCOMPARE(viewport->clearColor(), color); // WHEN Qt3DRender::QViewport *clone = static_cast<Qt3DRender::QViewport *>(QNode::clone(viewport)); @@ -81,7 +77,6 @@ private Q_SLOTS: QVERIFY(clone != Q_NULLPTR); QCOMPARE(viewport->id(), clone->id()); QCOMPARE(viewport->normalizedRect(), clone->normalizedRect()); - QCOMPARE(viewport->clearColor(), clone->clearColor()); delete viewport; delete clone; @@ -94,47 +89,12 @@ private Q_SLOTS: TestArbiter arbiter(viewport.data()); // WHEN - viewport->setClearColor(Qt::red); - QCoreApplication::processEvents(); - - // THEN - QCOMPARE(arbiter.events.size(), 1); - Qt3DCore::QScenePropertyChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); - QCOMPARE(change->propertyName(), "clearColor"); - QCOMPARE(change->subjectId(), viewport->id()); - QCOMPARE(change->value().value<QColor>(), QColor(Qt::red)); - QCOMPARE(change->type(), Qt3DCore::NodeUpdated); - - arbiter.events.clear(); - - // WHEN - viewport->setClearColor(Qt::red); - QCoreApplication::processEvents(); - - // THEN - QCOMPARE(arbiter.events.size(), 0); - - // WHEN - viewport->setClearColor(Qt::blue); - QCoreApplication::processEvents(); - - // THEN - QCOMPARE(arbiter.events.size(), 1); - change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); - QCOMPARE(change->propertyName(), "clearColor"); - QCOMPARE(change->subjectId(), viewport->id()); - QCOMPARE(change->value().value<QColor>(), QColor(Qt::blue)); - QCOMPARE(change->type(), Qt3DCore::NodeUpdated); - - arbiter.events.clear(); - - // WHEN viewport->setNormalizedRect(QRectF(0.5f, 0.5f, 1.0f, 1.0f)); QCoreApplication::processEvents(); // THEN QCOMPARE(arbiter.events.size(), 1); - change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); + Qt3DCore::QScenePropertyChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); QCOMPARE(change->propertyName(), "normalizedRect"); QCOMPARE(change->subjectId(), viewport->id()); QCOMPARE(change->value().value<QRectF>(), QRectF(0.5f, 0.5f, 1.0f, 1.0f)); |