summaryrefslogtreecommitdiffstats
path: root/examples/qt3d/scene2d/doc/src/scene2d.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'examples/qt3d/scene2d/doc/src/scene2d.qdoc')
-rw-r--r--examples/qt3d/scene2d/doc/src/scene2d.qdoc111
1 files changed, 0 insertions, 111 deletions
diff --git a/examples/qt3d/scene2d/doc/src/scene2d.qdoc b/examples/qt3d/scene2d/doc/src/scene2d.qdoc
deleted file mode 100644
index 73bdaa52b..000000000
--- a/examples/qt3d/scene2d/doc/src/scene2d.qdoc
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB).
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
- \example scene2d
- \title Qt 3D: Scene2D QML Example
- \ingroup qt3d-examples-qml
- \brief A QML application that demonstrates using Qt Quick 2 within a Qt 3D scene.
-
- \image scene2d.png
-
- \e {Scene2D} demonstrates rendering a Qt Quick 2 scene into a texture and utilising
- the texture within a Qt 3D application including handling mouse events. The 3D scene
- contains a single active camera and renders a 3D Qt logo along with some controls
- declared with Qt Quick Controls.
-
- \include examples-run.qdocinc
-
- \section1 Setting up the 3D Scene
-
- We set up the 3D scene in an Entity that acts as the root of the object tree. The
- virtual camera is specified in \e main.qml:
-
- \quotefromfile scene2d/main.qml
- \skipto Camera {
- \printuntil }
-
- The RenderSettings specify the rendering algorithm used and also enable triangle
- based picking which is needed to properly handle mouse events when projecting a
- Qt Quick scene onto 3D geometry:
-
- \skipto RenderSettings {
- \printuntil }
- \printuntil }
-
- The 3D Qt logo that will be controlled by the controls in the Qt Quick scene is
- declared with:
-
- \skipto Entity {
- \printuntil }
- \printuntil }
- \printuntil }
- \printuntil }
-
- It simply consists of a Mesh component to load the geometry; a PhongMaterial component
- to give it a surface appearance, and a Transform component to specify its postion,
- orientation, and scale. The properties of these components are bound to properties
- on the logoControls element which we will discuss next.
-
- \section1 Rendering Qt Quick into a Texture
-
- We begin by declaring the Entity that will become our control panel. It consists of
- a GeometryRenderer with a CuboidMesh view onto which we will place the texture containing
- a rendering of the Qt Quick scene. In this case we are using a simple cube for the
- geometry, but we could use any valid 3D geometry as long as it has texture coordinates.
- The texture coordinates are used for projecting the texture onto the 3D surface, and also
- for calculating the coordinates of mouse events to be passed to the originating Qt Quick scene.
-
- \skipto Entity {
- \printto Behavior
- \skipto Transform {
- \printuntil }
- \printuntil }
-
- We also include an ObjectPicker component so that we can interact with the controls
- using the mouse:
-
- \skipto ObjectPicker {
- \printuntil }
- \printuntil }
- \printuntil }
-
- For this example we have chosen to use an interaction mechanism whereby you must
- explicitly middle-click the controls to enable them.
-
- To apply the texture to the mesh, we make use of the built in TextureMaterial:
-
- \skipto TextureMaterial
- \printuntil }
-
- The final remaining piece is how to render the above texture from a Qt Quick scene.
- This is done with the Scene2D element:
-
- \skipto Scene2D
- \printto }
- \printto }
- \printto }
-
- where we have made use of the Texture2D and RenderTargetOutput types to create a
- destination texture and attach it as the output of the Scene2D renderer.
-
- Next, we tell the Scene2D object which entities may feed it input events and we
- initially disable the handling of mouse events:
-
- \printto mouseEnabled: false
-
- Finally, we can specify the Qt Quick scene to render by adding a custom QML component
- as a child to the Scene2D element:
-
- \skipto LogoControls
- \printuntil }
- \printuntil }
-
- When the mouseEnabled property is set to true by the ObjectPicker, then the Scene2D
- object will process mouse events from any ObjectPickers attached to the listed entities.
- In this way, you have the freedom to use the texture generated by the Scene2D object in
- any way you wish, even on more than one Entity.
-
- The \e LogoControls.qml file is just a regular Qt Quick 2 scene which in this case
- also makes use of the Qt Quick Controls components.
-*/