summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2016-03-19 21:43:55 +0000
committerSean Harmer <sean.harmer@kdab.com>2016-03-22 12:53:13 +0000
commitf0019b047dbd146f14ab77fd0f1d65080bb9a9a6 (patch)
treee21014d78c3af1eb4d5a651d4d9085c8fd754051
parent68667e9105744478bcfd2cf16efda71a350da372 (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.cpp1
-rw-r--r--examples/qt3d/enabled-qml/main.qml2
-rw-r--r--examples/qt3d/gltf/main.qml2
-rw-r--r--examples/qt3d/materials/SortedForwardRenderer.qml2
-rw-r--r--examples/qt3d/planets-qml/PlanetFrameGraph.qml3
-rw-r--r--examples/qt3d/playground-qml/MyForwardRenderer.qml3
-rw-r--r--examples/qt3d/shadow-map-qml/ShadowMapFrameGraph.qml5
-rw-r--r--src/quick3d/imports/render/defaults/qml/ForwardRenderer.qml3
-rw-r--r--src/render/defaults/qforwardrenderer.cpp8
-rw-r--r--src/render/framegraph/qviewport.cpp16
-rw-r--r--src/render/framegraph/qviewport.h4
-rw-r--r--src/render/framegraph/viewportnode.cpp9
-rw-r--r--src/render/framegraph/viewportnode_p.h3
-rw-r--r--tests/auto/render/qviewport/tst_qviewport.cpp46
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));