From 4b4a407512fdd4cc0a2f7caa463b7b03520b3f62 Mon Sep 17 00:00:00 2001 From: Sean Harmer Date: Mon, 18 Jan 2016 10:08:41 +0000 Subject: Temporarily expose window to QML context Allows to restore most of the QML examples using this approach until a more permanent solution can be developed (I have an idea on how to do this and will try it today). Change-Id: I9b9bb86a5323140be3ed2456cdfa91b1f93187b1 Reviewed-by: Paul Lemire --- .../qt3d/anaglyph-rendering/StereoFrameGraph.qml | 45 ++++--- examples/qt3d/anaglyph-rendering/main.qml | 1 + examples/qt3d/bigmodel-qml/main.qml | 7 +- examples/qt3d/bigscene-instanced-qml/main.qml | 1 + .../qt3d/clip-planes-qml/ClipCappingFrameGraph.qml | 147 +++++++++++---------- examples/qt3d/clip-planes-qml/main.qml | 1 + examples/qt3d/custom-mesh-qml/main.qml | 1 + examples/qt3d/cylinder-qml/main.qml | 7 +- examples/qt3d/exampleresources/obj.qrc | 2 + examples/qt3d/examples-common/qt3dquickwindow.cpp | 6 + examples/qt3d/gooch-qml/main.qml | 7 +- examples/qt3d/instanced-arrays-qml/main.qml | 1 + examples/qt3d/keyboardinput-qml/main.qml | 1 + examples/qt3d/lights/main.qml | 1 + examples/qt3d/materials/SortedForwardRenderer.qml | 39 +++--- examples/qt3d/materials/main.qml | 1 + examples/qt3d/mouseinput-qml/main.qml | 1 + .../qt3d/multiviewport/QuadViewportFrameGraph.qml | 55 ++++---- examples/qt3d/multiviewport/main.qml | 1 + examples/qt3d/picking-qml/main.qml | 1 + examples/qt3d/plasma/main.qml | 5 +- examples/qt3d/simple-qml/main.qml | 1 + examples/qt3d/simple-shaders-qml/main.qml | 1 + examples/qt3d/skybox/main.qml | 1 + examples/qt3d/tessellation-modes/main.qml | 1 + examples/qt3d/torus-qml/main.qml | 1 + examples/qt3d/transforms-qml/main.qml | 1 + examples/qt3d/transparency-qml/main.qml | 8 +- examples/qt3d/wave/WaveForwardRenderer.qml | 29 ++-- examples/qt3d/wave/main.qml | 1 + examples/qt3d/wireframe/main.qml | 1 + 31 files changed, 224 insertions(+), 152 deletions(-) (limited to 'examples') diff --git a/examples/qt3d/anaglyph-rendering/StereoFrameGraph.qml b/examples/qt3d/anaglyph-rendering/StereoFrameGraph.qml index 1d6a5a222..4311f977e 100644 --- a/examples/qt3d/anaglyph-rendering/StereoFrameGraph.qml +++ b/examples/qt3d/anaglyph-rendering/StereoFrameGraph.qml @@ -41,36 +41,41 @@ Viewport { property alias leftCamera: leftCameraSelector.camera property alias rightCamera: rightCameraSelector.camera + property alias window: surfaceSelector.window - // ColorMask is reset by default - // By default reset to the default if not specified - ClearBuffer { - buffers: ClearBuffer.ColorDepthBuffer - NoDraw {} // We just want to clear the buffers - } + RenderSurfaceSelector { + id: surfaceSelector - // Draw with left eye - CameraSelector { - id: leftCameraSelector - StateSet { - renderStates: [ - ColorMask { red: true; green: false; blue: false; alpha: false }, - DepthTest { func: DepthTest.Less } - ] + // ColorMask is reset by default + // By default reset to the default if not specified + ClearBuffer { + buffers: ClearBuffer.ColorDepthBuffer + NoDraw {} // We just want to clear the buffers } - } - // Draw with right eye - ClearBuffer { - buffers: ClearBuffer.DepthBuffer + // Draw with left eye CameraSelector { - id: rightCameraSelector + id: leftCameraSelector StateSet { renderStates: [ - ColorMask { red: false; green: true; blue: true; alpha: false }, + ColorMask { red: true; green: false; blue: false; alpha: false }, DepthTest { func: DepthTest.Less } ] } } + + // Draw with right eye + ClearBuffer { + buffers: ClearBuffer.DepthBuffer + CameraSelector { + id: rightCameraSelector + StateSet { + renderStates: [ + ColorMask { red: false; green: true; blue: true; alpha: false }, + DepthTest { func: DepthTest.Less } + ] + } + } + } } } diff --git a/examples/qt3d/anaglyph-rendering/main.qml b/examples/qt3d/anaglyph-rendering/main.qml index cb852a675..7b9d5afd1 100644 --- a/examples/qt3d/anaglyph-rendering/main.qml +++ b/examples/qt3d/anaglyph-rendering/main.qml @@ -46,6 +46,7 @@ Entity { id: stereoFrameGraph leftCamera: stereoCamera.leftCamera rightCamera: stereoCamera.rightCamera + window: _q_window } } diff --git a/examples/qt3d/bigmodel-qml/main.qml b/examples/qt3d/bigmodel-qml/main.qml index a4c452ee1..d261dafdb 100644 --- a/examples/qt3d/bigmodel-qml/main.qml +++ b/examples/qt3d/bigmodel-qml/main.qml @@ -45,7 +45,12 @@ Entity { FirstPersonCameraController { camera: mainCamera } components: [ - FrameGraph { activeFrameGraph: ForwardRenderer { camera: mainCamera } } + FrameGraph { + activeFrameGraph:ForwardRenderer { + camera: mainCamera + window: _q_window + } + } ] Camera { diff --git a/examples/qt3d/bigscene-instanced-qml/main.qml b/examples/qt3d/bigscene-instanced-qml/main.qml index 8b7623732..83fb57c4f 100644 --- a/examples/qt3d/bigscene-instanced-qml/main.qml +++ b/examples/qt3d/bigscene-instanced-qml/main.qml @@ -60,6 +60,7 @@ Entity { activeFrameGraph: ForwardRenderer { clearColor: Qt.rgba(0, 0.5, 1, 1) camera: camera + window: _q_window } } ] diff --git a/examples/qt3d/clip-planes-qml/ClipCappingFrameGraph.qml b/examples/qt3d/clip-planes-qml/ClipCappingFrameGraph.qml index 3fdc226a1..1f1ecda27 100644 --- a/examples/qt3d/clip-planes-qml/ClipCappingFrameGraph.qml +++ b/examples/qt3d/clip-planes-qml/ClipCappingFrameGraph.qml @@ -39,92 +39,97 @@ import Qt3D.Render 2.0 Viewport { property alias camera: cameraSelector.camera + property alias window: surfaceSelector.window - CameraSelector { - id: cameraSelector + RenderSurfaceSelector { + id: surfaceSelector - StateSet { - // Enable 3 clipping planes - renderStates: [ - ClipPlane { plane: 0 }, - ClipPlane { plane: 1 }, - ClipPlane { plane: 2 }, - DepthTest { func: DepthTest.LessOrEqual } - ] + CameraSelector { + id: cameraSelector - // Branch 1 - LayerFilter { - // Render entities with their regular material - // Fills depth buffer for entities that are clipped - layers: ["content", "visualization"] - ClearBuffer { - buffers: ClearBuffer.ColorDepthBuffer - RenderPassFilter { - includes: Annotation { name: "pass"; value: "material" } + StateSet { + // Enable 3 clipping planes + renderStates: [ + ClipPlane { plane: 0 }, + ClipPlane { plane: 1 }, + ClipPlane { plane: 2 }, + DepthTest { func: DepthTest.LessOrEqual } + ] + + // Branch 1 + LayerFilter { + // Render entities with their regular material + // Fills depth buffer for entities that are clipped + layers: ["content", "visualization"] + ClearBuffer { + buffers: ClearBuffer.ColorDepthBuffer + RenderPassFilter { + includes: Annotation { name: "pass"; value: "material" } + } } } - } - // Branch 2 - ClearBuffer { - // Enable and fill Stencil to later generate caps - buffers: ClearBuffer.StencilBuffer - StateSet { - // Disable depth culling - // Incr for back faces - // Decr for front faces - // No need to output color values - renderStates: [ - StencilTest { - front { - func: StencilTestSeparate.Always - ref: 0; mask: 0 - } - back { - func: StencilTestSeparate.Always - ref: 0; mask: 0 - } - }, - StencilOp { - front.stencilDepthPass: StencilOpSeparate.Decr - back.stencilDepthPass: StencilOpSeparate.Incr - }, - ColorMask { red: false; green: false; blue: false; alpha: false } - ] + // Branch 2 + ClearBuffer { + // Enable and fill Stencil to later generate caps + buffers: ClearBuffer.StencilBuffer + StateSet { + // Disable depth culling + // Incr for back faces + // Decr for front faces + // No need to output color values + renderStates: [ + StencilTest { + front { + func: StencilTestSeparate.Always + ref: 0; mask: 0 + } + back { + func: StencilTestSeparate.Always + ref: 0; mask: 0 + } + }, + StencilOp { + front.stencilDepthPass: StencilOpSeparate.Decr + back.stencilDepthPass: StencilOpSeparate.Incr + }, + ColorMask { red: false; green: false; blue: false; alpha: false } + ] - LayerFilter { - layers: "content" - RenderPassFilter { - includes: Annotation { name: "pass"; value: "stencilFill"; } + LayerFilter { + layers: "content" + RenderPassFilter { + includes: Annotation { name: "pass"; value: "stencilFill"; } + } } } } } - } - // Branch 3 - StateSet { - // Draw caps using stencil buffer - LayerFilter { - layers: "caps" - RenderPassFilter { - includes: Annotation { name: "pass"; value: "capping"; } + // Branch 3 + StateSet { + // Draw caps using stencil buffer + LayerFilter { + layers: "caps" + RenderPassFilter { + includes: Annotation { name: "pass"; value: "capping"; } + } } - } - // Draw back faces - front faces -> caps - renderStates: [ - StencilTest { - front { - func: StencilTestSeparate.NotEqual - ref: 0; mask: ~0 - } - back { - func: StencilTestSeparate.NotEqual - ref: 0; mask: ~0 + // Draw back faces - front faces -> caps + renderStates: [ + StencilTest { + front { + func: StencilTestSeparate.NotEqual + ref: 0; mask: ~0 + } + back { + func: StencilTestSeparate.NotEqual + ref: 0; mask: ~0 + } } - } - ] + ] + } } } } diff --git a/examples/qt3d/clip-planes-qml/main.qml b/examples/qt3d/clip-planes-qml/main.qml index 06fd5bf14..e2f210122 100644 --- a/examples/qt3d/clip-planes-qml/main.qml +++ b/examples/qt3d/clip-planes-qml/main.qml @@ -59,6 +59,7 @@ Entity { ClipCappingFrameGraph { camera: camera; clearColor: Qt.rgba(0.0, 0.5, 1, 1) + window: _q_window } } diff --git a/examples/qt3d/custom-mesh-qml/main.qml b/examples/qt3d/custom-mesh-qml/main.qml index cb7175b07..1257676a5 100644 --- a/examples/qt3d/custom-mesh-qml/main.qml +++ b/examples/qt3d/custom-mesh-qml/main.qml @@ -60,6 +60,7 @@ Entity { activeFrameGraph: ForwardRenderer { clearColor: Qt.rgba(0.5, 0.5, 1, 1) camera: camera + window: _q_window } } ] diff --git a/examples/qt3d/cylinder-qml/main.qml b/examples/qt3d/cylinder-qml/main.qml index 12663fd4f..b628faad9 100644 --- a/examples/qt3d/cylinder-qml/main.qml +++ b/examples/qt3d/cylinder-qml/main.qml @@ -52,13 +52,14 @@ Entity { viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 ) } - FirstPersonCameraController { camera: mainCamera } + FirstPersonCameraController { camera: camera } FrameGraph { id : external_forward_renderer activeFrameGraph : ForwardRenderer { camera: camera clearColor: "black" + window: _q_window } } @@ -78,9 +79,9 @@ Entity { rotation: fromAxisAndAngle(Qt.vector3d(1, 0, 0), 45) } - Material { + PhongMaterial { id: material - effect: Effect {} + diffuse: "green" } Entity { diff --git a/examples/qt3d/exampleresources/obj.qrc b/examples/qt3d/exampleresources/obj.qrc index 77a713631..b8134bf2d 100644 --- a/examples/qt3d/exampleresources/obj.qrc +++ b/examples/qt3d/exampleresources/obj.qrc @@ -4,5 +4,7 @@ assets/textures/pattern_09/normal.webp assets/textures/pattern_09/diffuse.webp assets/obj/trefoil.obj + assets/obj/toyplane.obj + assets/obj/ball.obj diff --git a/examples/qt3d/examples-common/qt3dquickwindow.cpp b/examples/qt3d/examples-common/qt3dquickwindow.cpp index 27f2ee5ef..5aa5a6e85 100644 --- a/examples/qt3d/examples-common/qt3dquickwindow.cpp +++ b/examples/qt3d/examples-common/qt3dquickwindow.cpp @@ -39,6 +39,9 @@ #include #include #include + +#include + #include QT_BEGIN_NAMESPACE @@ -107,6 +110,9 @@ void Qt3DQuickWindow::showEvent(QShowEvent *e) data.insert(QStringLiteral("eventSource"), QVariant::fromValue(this)); m_engine->aspectEngine()->setData(data); + // TODO: Remove this hack once we can automagically set the window on the framegraph + m_engine->qmlEngine()->rootContext()->setContextProperty("_q_window", this); + m_engine->setSource(m_source); // Set the QQmlIncubationController on the window diff --git a/examples/qt3d/gooch-qml/main.qml b/examples/qt3d/gooch-qml/main.qml index c6c2c3277..5649a03eb 100644 --- a/examples/qt3d/gooch-qml/main.qml +++ b/examples/qt3d/gooch-qml/main.qml @@ -44,7 +44,12 @@ Entity { FirstPersonCameraController { camera: mainCamera } components: [ - FrameGraph { ForwardRenderer { camera: mainCamera } } + FrameGraph { + ForwardRenderer { + camera: mainCamera + window: _q_window + } + } ] Camera { diff --git a/examples/qt3d/instanced-arrays-qml/main.qml b/examples/qt3d/instanced-arrays-qml/main.qml index 4e9d7e144..fb17cae7f 100644 --- a/examples/qt3d/instanced-arrays-qml/main.qml +++ b/examples/qt3d/instanced-arrays-qml/main.qml @@ -60,6 +60,7 @@ Entity { activeFrameGraph: ForwardRenderer { clearColor: Qt.rgba(0, 0.5, 1, 1) camera: camera + window: _q_window } } ] diff --git a/examples/qt3d/keyboardinput-qml/main.qml b/examples/qt3d/keyboardinput-qml/main.qml index 96cf9148e..c07597e13 100644 --- a/examples/qt3d/keyboardinput-qml/main.qml +++ b/examples/qt3d/keyboardinput-qml/main.qml @@ -58,6 +58,7 @@ Entity { components: FrameGraph { activeFrameGraph: ForwardRenderer { camera: camera + window: _q_window } } diff --git a/examples/qt3d/lights/main.qml b/examples/qt3d/lights/main.qml index 1cfeb0cd4..267582a74 100644 --- a/examples/qt3d/lights/main.qml +++ b/examples/qt3d/lights/main.qml @@ -44,6 +44,7 @@ Entity activeFrameGraph: ForwardRenderer { clearColor: Qt.rgba(0, 0, 0, 1) camera: camera + window: _q_window } } diff --git a/examples/qt3d/materials/SortedForwardRenderer.qml b/examples/qt3d/materials/SortedForwardRenderer.qml index 9d09f0a29..2f2e72e6e 100644 --- a/examples/qt3d/materials/SortedForwardRenderer.qml +++ b/examples/qt3d/materials/SortedForwardRenderer.qml @@ -43,28 +43,33 @@ TechniqueFilter { // Expose camera to allow user to choose which camera to use for rendering property alias camera: cameraSelector.camera + property alias window: surfaceSelector.window // Select the forward rendering Technique of any used Effect requires: [ Annotation { name: "renderingStyle"; value: "forward" } ] - // Use the whole viewport - Viewport { - id: viewport - objectName : "viewport" - rect: Qt.rect(0.0, 0.0, 1.0, 1.0) - clearColor: "white" + RenderSurfaceSelector { + id: surfaceSelector - // Use the specified camera - CameraSelector { - id : cameraSelector - objectName : "cameraSelector" - ClearBuffer { - buffers : ClearBuffer.ColorDepthBuffer - SortMethod { - criteria: [ - SortCriterion { sort: SortCriterion.StateChangeCost }, - SortCriterion { sort: SortCriterion.Material } - ] + // Use the whole viewport + Viewport { + id: viewport + objectName : "viewport" + rect: Qt.rect(0.0, 0.0, 1.0, 1.0) + clearColor: "white" + + // Use the specified camera + CameraSelector { + id : cameraSelector + objectName : "cameraSelector" + ClearBuffer { + buffers : ClearBuffer.ColorDepthBuffer + SortMethod { + criteria: [ + SortCriterion { sort: SortCriterion.StateChangeCost }, + SortCriterion { sort: SortCriterion.Material } + ] + } } } } diff --git a/examples/qt3d/materials/main.qml b/examples/qt3d/materials/main.qml index a470e2415..1d94c8c6f 100644 --- a/examples/qt3d/materials/main.qml +++ b/examples/qt3d/materials/main.qml @@ -49,6 +49,7 @@ Entity { activeFrameGraph: SortedForwardRenderer { id: renderer camera: mainCamera + window: _q_window } } ] diff --git a/examples/qt3d/mouseinput-qml/main.qml b/examples/qt3d/mouseinput-qml/main.qml index 8158e18f7..f38f85371 100644 --- a/examples/qt3d/mouseinput-qml/main.qml +++ b/examples/qt3d/mouseinput-qml/main.qml @@ -59,6 +59,7 @@ Entity { ForwardRenderer { camera: camera clearColor: "black" + window: _q_window } } diff --git a/examples/qt3d/multiviewport/QuadViewportFrameGraph.qml b/examples/qt3d/multiviewport/QuadViewportFrameGraph.qml index 2011aaf4d..1fd00740b 100644 --- a/examples/qt3d/multiviewport/QuadViewportFrameGraph.qml +++ b/examples/qt3d/multiviewport/QuadViewportFrameGraph.qml @@ -44,37 +44,42 @@ FrameGraph { property alias topRightCamera: cameraSelectorTopRightViewport.camera; property alias bottomLeftCamera: cameraSelectorBottomLeftViewport.camera; property alias bottomRightCamera: cameraSelectorBottomRightViewport.camera; + property alias window: surfaceSelector.window - Viewport { - id: mainViewport - rect: Qt.rect(0, 0, 1, 1) - - ClearBuffer { - buffers: ClearBuffer.ColorDepthBuffer - } + RenderSurfaceSelector { + id: surfaceSelector Viewport { - id: topLeftViewport - rect: Qt.rect(0, 0, 0.5, 0.5) - CameraSelector { id: cameraSelectorTopLeftViewport } - } + id: mainViewport + rect: Qt.rect(0, 0, 1, 1) - Viewport { - id: topRightViewport - rect: Qt.rect(0.5, 0, 0.5, 0.5) - CameraSelector { id: cameraSelectorTopRightViewport } - } + ClearBuffer { + buffers: ClearBuffer.ColorDepthBuffer + } - Viewport { - id: bottomLeftViewport - rect: Qt.rect(0, 0.5, 0.5, 0.5) - CameraSelector { id: cameraSelectorBottomLeftViewport } - } + Viewport { + id: topLeftViewport + rect: Qt.rect(0, 0, 0.5, 0.5) + CameraSelector { id: cameraSelectorTopLeftViewport } + } - Viewport { - id: bottomRightViewport - rect: Qt.rect(0.5, 0.5, 0.5, 0.5) - CameraSelector { id: cameraSelectorBottomRightViewport } + Viewport { + id: topRightViewport + rect: Qt.rect(0.5, 0, 0.5, 0.5) + CameraSelector { id: cameraSelectorTopRightViewport } + } + + Viewport { + id: bottomLeftViewport + rect: Qt.rect(0, 0.5, 0.5, 0.5) + CameraSelector { id: cameraSelectorBottomLeftViewport } + } + + Viewport { + id: bottomRightViewport + rect: Qt.rect(0.5, 0.5, 0.5, 0.5) + CameraSelector { id: cameraSelectorBottomRightViewport } + } } } } diff --git a/examples/qt3d/multiviewport/main.qml b/examples/qt3d/multiviewport/main.qml index cfdd7a1a5..66ab274ab 100644 --- a/examples/qt3d/multiviewport/main.qml +++ b/examples/qt3d/multiviewport/main.qml @@ -48,6 +48,7 @@ Entity { topRightCamera: cameraSet.cameras[1] bottomLeftCamera: cameraSet.cameras[2] bottomRightCamera: cameraSet.cameras[3] + window: _q_window } Entity { diff --git a/examples/qt3d/picking-qml/main.qml b/examples/qt3d/picking-qml/main.qml index 2c9e7a955..a1d3e6aa8 100644 --- a/examples/qt3d/picking-qml/main.qml +++ b/examples/qt3d/picking-qml/main.qml @@ -60,6 +60,7 @@ Entity { ForwardRenderer { camera: camera clearColor: "black" + window: _q_window } } diff --git a/examples/qt3d/plasma/main.qml b/examples/qt3d/plasma/main.qml index 96aad76f5..8d6ce7f37 100644 --- a/examples/qt3d/plasma/main.qml +++ b/examples/qt3d/plasma/main.qml @@ -39,7 +39,9 @@ import Qt3D.Render 2.0 Entity { components: FrameGraph { - ForwardRenderer {} + ForwardRenderer { + window: _q_window + } } Entity { @@ -59,6 +61,7 @@ Entity { effect: Effect { techniques: Technique { + annotations: [ Annotation{ name: "renderingStyle"; value: "forward" } ] graphicsApiFilter { minorVersion: 3 diff --git a/examples/qt3d/simple-qml/main.qml b/examples/qt3d/simple-qml/main.qml index 9d25da81a..aa4b5d7d5 100644 --- a/examples/qt3d/simple-qml/main.qml +++ b/examples/qt3d/simple-qml/main.qml @@ -63,6 +63,7 @@ Entity { activeFrameGraph: ForwardRenderer { clearColor: Qt.rgba(0, 0.5, 1, 1) camera: camera + window: _q_window } } ] diff --git a/examples/qt3d/simple-shaders-qml/main.qml b/examples/qt3d/simple-shaders-qml/main.qml index b51a25712..c01fc8eb1 100644 --- a/examples/qt3d/simple-shaders-qml/main.qml +++ b/examples/qt3d/simple-shaders-qml/main.qml @@ -60,6 +60,7 @@ Entity { activeFrameGraph: ForwardRenderer { clearColor: Qt.rgba(0, 0.5, 1, 1) camera: camera + window: _q_window } } ] diff --git a/examples/qt3d/skybox/main.qml b/examples/qt3d/skybox/main.qml index e8cfdb2cf..65947ee10 100644 --- a/examples/qt3d/skybox/main.qml +++ b/examples/qt3d/skybox/main.qml @@ -44,6 +44,7 @@ Entity { ForwardRenderer { camera: basicCamera clearColor: "black" + window: _q_window } } diff --git a/examples/qt3d/tessellation-modes/main.qml b/examples/qt3d/tessellation-modes/main.qml index e2b06f21f..487f75a39 100644 --- a/examples/qt3d/tessellation-modes/main.qml +++ b/examples/qt3d/tessellation-modes/main.qml @@ -50,6 +50,7 @@ Entity { id: renderer camera: mainCamera clearColor: "black" + window: _q_window } } ] diff --git a/examples/qt3d/torus-qml/main.qml b/examples/qt3d/torus-qml/main.qml index fc86231d8..1fbd62494 100644 --- a/examples/qt3d/torus-qml/main.qml +++ b/examples/qt3d/torus-qml/main.qml @@ -59,6 +59,7 @@ Entity { activeFrameGraph : ForwardRenderer { camera: camera clearColor: "black" + window: _q_window } } diff --git a/examples/qt3d/transforms-qml/main.qml b/examples/qt3d/transforms-qml/main.qml index 332905f65..493c4c932 100644 --- a/examples/qt3d/transforms-qml/main.qml +++ b/examples/qt3d/transforms-qml/main.qml @@ -45,6 +45,7 @@ Entity { activeFrameGraph: ForwardRenderer { clearColor: Qt.rgba(0, 0.5, 1, 1) camera: camera + window: _q_window } } ] diff --git a/examples/qt3d/transparency-qml/main.qml b/examples/qt3d/transparency-qml/main.qml index 6159f78cc..e98531787 100644 --- a/examples/qt3d/transparency-qml/main.qml +++ b/examples/qt3d/transparency-qml/main.qml @@ -55,7 +55,13 @@ Entity { FirstPersonCameraController { camera: camera } - components: FrameGraph { activeFrameGraph: ForwardRenderer{ camera: camera ; clearColor: Qt.rgba(0.0, 0.5, 1, 1) } } + components: FrameGraph { + activeFrameGraph: ForwardRenderer{ + camera: camera + clearColor: Qt.rgba(0.0, 0.5, 1, 1) + window: _q_window + } + } TorusMesh { id: torusMesh diff --git a/examples/qt3d/wave/WaveForwardRenderer.qml b/examples/qt3d/wave/WaveForwardRenderer.qml index 32a1b77c3..ee3ab2afd 100644 --- a/examples/qt3d/wave/WaveForwardRenderer.qml +++ b/examples/qt3d/wave/WaveForwardRenderer.qml @@ -42,25 +42,30 @@ TechniqueFilter { // Expose camera to allow user to choose which camera to use for rendering property alias camera: cameraSelector.camera + property alias window: surfaceSelector.window // Select the forward rendering Technique of any used Effect requires: [ Annotation { name: "renderingStyle"; value: "forward" } ] - // Use the whole viewport - Viewport { - id: viewport - rect: Qt.rect(0.0, 0.0, 1.0, 1.0) + RenderSurfaceSelector { + id: surfaceSelector - // Use the specified camera - CameraSelector { - id: cameraSelector + // Use the whole viewport + Viewport { + id: viewport + rect: Qt.rect(0.0, 0.0, 1.0, 1.0) - ClearBuffer { - buffers: ClearBuffer.ColorDepthBuffer - LayerFilter { layers: "background" } - } + // Use the specified camera + CameraSelector { + id: cameraSelector + + ClearBuffer { + buffers: ClearBuffer.ColorDepthBuffer + LayerFilter { layers: "background" } + } - LayerFilter { layers: "wave" } + LayerFilter { layers: "wave" } + } } } } diff --git a/examples/qt3d/wave/main.qml b/examples/qt3d/wave/main.qml index a6f46bfa7..1006f69d8 100644 --- a/examples/qt3d/wave/main.qml +++ b/examples/qt3d/wave/main.qml @@ -62,6 +62,7 @@ Entity { id: frameGraph activeFrameGraph: WaveForwardRenderer { camera: mainCamera + window: _q_window } } diff --git a/examples/qt3d/wireframe/main.qml b/examples/qt3d/wireframe/main.qml index 35033951d..944923618 100644 --- a/examples/qt3d/wireframe/main.qml +++ b/examples/qt3d/wireframe/main.qml @@ -47,6 +47,7 @@ Entity { activeFrameGraph: ForwardRenderer { id: renderer camera: mainCamera + window: _q_window } } ] -- cgit v1.2.3