diff options
Diffstat (limited to 'examples/qt3d/scene2d/doc/src/scene2d.qdoc')
-rw-r--r-- | examples/qt3d/scene2d/doc/src/scene2d.qdoc | 111 |
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. -*/ |