summaryrefslogtreecommitdiffstats
path: root/examples/qt3d
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2016-05-04 12:23:32 +0200
committerSean Harmer <sean.harmer@kdab.com>2016-05-04 15:32:52 +0000
commit7fa8b1523a0791a159c594687c89af7ae621752a (patch)
tree37d514632251ca22ba9713226a877de88ea2e663 /examples/qt3d
parent2339fb571f1ca2e5d9057cccbb5989841c524dea (diff)
Get rid of QLayer::names
Don't reinvent a variable naming system (string based global variables even) and instead use pointer to QLayer instance everywhere, even with QLayerFilter. The wave and deferred-renderer-cpp examples have been ported to the new API. Change-Id: I82a858770954a8743a5c3d2ce0c463e62844871f Task-number: QTBUG-51440 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'examples/qt3d')
-rw-r--r--examples/qt3d/deferred-renderer-cpp/deferredrenderer.cpp8
-rw-r--r--examples/qt3d/deferred-renderer-cpp/deferredrenderer.h4
-rw-r--r--examples/qt3d/deferred-renderer-cpp/main.cpp7
-rw-r--r--examples/qt3d/wave/Background.qml43
-rw-r--r--examples/qt3d/wave/Wave.qml6
-rw-r--r--examples/qt3d/wave/WaveForwardRenderer.qml8
-rw-r--r--examples/qt3d/wave/main.qml2
7 files changed, 38 insertions, 40 deletions
diff --git a/examples/qt3d/deferred-renderer-cpp/deferredrenderer.cpp b/examples/qt3d/deferred-renderer-cpp/deferredrenderer.cpp
index 2bfac45ec..391240108 100644
--- a/examples/qt3d/deferred-renderer-cpp/deferredrenderer.cpp
+++ b/examples/qt3d/deferred-renderer-cpp/deferredrenderer.cpp
@@ -89,12 +89,12 @@ void DeferredRenderer::setFinalPassCriteria(QList<Qt3DRender::QFilterKey *> crit
c->setParent(m_finalPassFilter);
}
-void DeferredRenderer::setGBufferLayers(const QStringList &layerNames)
+void DeferredRenderer::setGBufferLayer(Qt3DRender::QLayer *layer)
{
- m_sceneFilter->setLayers(layerNames);
+ m_sceneFilter->addLayer(layer);
}
-void DeferredRenderer::setScreenQuadLayers(const QStringList &layerNames)
+void DeferredRenderer::setScreenQuadLayer(Qt3DRender::QLayer *layer)
{
- m_screenQuadFilter->setLayers(layerNames);
+ m_screenQuadFilter->addLayer(layer);
}
diff --git a/examples/qt3d/deferred-renderer-cpp/deferredrenderer.h b/examples/qt3d/deferred-renderer-cpp/deferredrenderer.h
index fa716ee7d..85044838a 100644
--- a/examples/qt3d/deferred-renderer-cpp/deferredrenderer.h
+++ b/examples/qt3d/deferred-renderer-cpp/deferredrenderer.h
@@ -69,8 +69,8 @@ public:
void setGBuffer(Qt3DRender::QRenderTarget *gBuffer);
void setGeometryPassCriteria(QList<Qt3DRender::QFilterKey *> criteria);
void setFinalPassCriteria(QList<Qt3DRender::QFilterKey *> criteria);
- void setGBufferLayers(const QStringList &layerName);
- void setScreenQuadLayers(const QStringList &layerName);
+ void setGBufferLayer(Qt3DRender::QLayer *layer);
+ void setScreenQuadLayer(Qt3DRender::QLayer *layer);
private:
Qt3DRender::QRenderSurfaceSelector *m_surfaceSelector;
diff --git a/examples/qt3d/deferred-renderer-cpp/main.cpp b/examples/qt3d/deferred-renderer-cpp/main.cpp
index be8a5f403..53caaaae5 100644
--- a/examples/qt3d/deferred-renderer-cpp/main.cpp
+++ b/examples/qt3d/deferred-renderer-cpp/main.cpp
@@ -92,10 +92,7 @@ int main(int ac, char **av)
sphereMesh->setSlices(100);
Qt3DRender::QLayer *sceneLayer = new Qt3DRender::QLayer();
- sceneLayer->setNames(QStringList("scene"));
-
Qt3DRender::QLayer *quadLayer = new Qt3DRender::QLayer();
- quadLayer->setNames(QStringList("screenQuad"));
Qt3DExtras::QPlaneMesh *planeMesh = new Qt3DExtras::QPlaneMesh();
planeMesh->setMeshResolution(QSize(2, 2));
@@ -131,8 +128,8 @@ int main(int ac, char **av)
deferredRenderer->setGeometryPassCriteria(sceneEffect->passCriteria());
deferredRenderer->setGBuffer(gBuffer);
deferredRenderer->setSceneCamera(camera);
- deferredRenderer->setGBufferLayers(sceneLayer->names());
- deferredRenderer->setScreenQuadLayers(quadLayer->names());
+ deferredRenderer->setGBufferLayer(sceneLayer);
+ deferredRenderer->setScreenQuadLayer(quadLayer);
view.setActiveFrameGraph(deferredRenderer);
// Scene Content
diff --git a/examples/qt3d/wave/Background.qml b/examples/qt3d/wave/Background.qml
index 8b81770b9..6937026d6 100644
--- a/examples/qt3d/wave/Background.qml
+++ b/examples/qt3d/wave/Background.qml
@@ -57,6 +57,7 @@ Entity {
id: root
property real hue: 0.0
property alias animateColors: hueAnim.running
+ property Layer layer: null
QQ2.NumberAnimation {
id: hueAnim
@@ -74,29 +75,27 @@ Entity {
property color color2: Qt.hsla( (hue + 0.59) % 1, 1.0, 0.15 )
}
- components: [
- Layer {
- names: "background"
- },
+ components: [ layer, mesh, transform, material ]
- PlaneMesh {
- width: 2.0
- height: 2.0
- meshResolution: Qt.size( 2, 2 )
- },
-
- Transform {
- // Rotate the plane so that it faces us
- rotation: fromAxisAndAngle(Qt.vector3d(1, 0, 0), 90)
- },
+ PlaneMesh {
+ id: mesh
+ width: 2.0
+ height: 2.0
+ meshResolution: Qt.size( 2, 2 )
+ }
- Material {
- effect: BackgroundEffect {}
- parameters: [
- Parameter { name: "color1"; value: Qt.vector3d( _private.color1.r, _private.color1.g, _private.color1.b ) },
- Parameter { name: "color2"; value: Qt.vector3d( _private.color2.r, _private.color2.g, _private.color2.b ) }
- ]
- }
- ]
+ Transform {
+ id: transform
+ // Rotate the plane so that it faces us
+ rotation: fromAxisAndAngle(Qt.vector3d(1, 0, 0), 90)
+ }
+ Material {
+ id: material
+ effect: BackgroundEffect {}
+ parameters: [
+ Parameter { name: "color1"; value: Qt.vector3d( _private.color1.r, _private.color1.g, _private.color1.b ) },
+ Parameter { name: "color2"; value: Qt.vector3d( _private.color2.r, _private.color2.g, _private.color2.b ) }
+ ]
+ }
}
diff --git a/examples/qt3d/wave/Wave.qml b/examples/qt3d/wave/Wave.qml
index a4728e5a9..107502897 100644
--- a/examples/qt3d/wave/Wave.qml
+++ b/examples/qt3d/wave/Wave.qml
@@ -64,14 +64,10 @@ Entity {
property color tint: Qt.rgba( 0.0, 0.0, 0.0, 1.0 )
property real intensity: 0.3
property alias wireframe: material.wireframe
+ property Layer layer: null
components: [ transform, mesh, material, layer ]
- Layer {
- id: layer
- names: "wave"
- }
-
Transform {
id: transform
translation: Qt.vector3d(root.x, root.y, root.z);
diff --git a/examples/qt3d/wave/WaveForwardRenderer.qml b/examples/qt3d/wave/WaveForwardRenderer.qml
index 280266331..48397243e 100644
--- a/examples/qt3d/wave/WaveForwardRenderer.qml
+++ b/examples/qt3d/wave/WaveForwardRenderer.qml
@@ -58,6 +58,10 @@ TechniqueFilter {
property alias camera: cameraSelector.camera
property alias window: surfaceSelector.surface
+ // Expose the layers we'll manage during rendering
+ readonly property Layer backgroundLayer: Layer {}
+ readonly property Layer waveLayer: Layer {}
+
// Select the forward rendering Technique of any used Effect
matchAll: [ FilterKey { name: "renderingStyle"; value: "forward" } ]
@@ -75,10 +79,10 @@ TechniqueFilter {
ClearBuffers {
buffers: ClearBuffers.ColorDepthBuffer
- LayerFilter { layers: "background" }
+ LayerFilter { layers: root.backgroundLayer }
}
- LayerFilter { layers: "wave" }
+ LayerFilter { layers: root.waveLayer }
}
}
}
diff --git a/examples/qt3d/wave/main.qml b/examples/qt3d/wave/main.qml
index 7d86d516b..bfe75c2a1 100644
--- a/examples/qt3d/wave/main.qml
+++ b/examples/qt3d/wave/main.qml
@@ -94,9 +94,11 @@ Entity {
Background {
id: background
+ layer: renderSettings.activeFrameGraph.backgroundLayer
}
Wave {
id: wave
+ layer: renderSettings.activeFrameGraph.waveLayer
}
}