Revision control

++ // Copyright (C) 2025 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
++
++ /*!
++ \example layers
++ \ingroup quick3d-examples
++ \title Qt Quick 3D - Layers Example
++ \examplecategory {3D}
++ \brief Demonstrates the use of layers in QtQuick3D.
++ \image layers-example.jpg
++ {Three stacked Qt logo layers in red, green, and blue with layer
++ toggle checkboxes}
++
++ In this example the different colored logo models are placed in different layers.
++ From the settings panel users can control the visibility of each layer by toggling the
++ checkboxes.
++
++ \section1 Preparing the Scene layers
++
++ \section2 Layers
++
++ For convenience we alias the \l {ContentLayer}{Layer} enums type to something that makes it easier to identify.
++
++ \snippet layers/Main.qml content layers
++
++ \section2 Camera
++
++ Since we want to filter the camera view based on the layers, we need to set the layers the
++ camera should render. We do this by setting the \l {Node::layers}{layers} property of the camera to one or
++ more layers. The camera will then only render those objects that are in the \l {Node::layers}{layers} specified.
++ By default the camera will render nodes from all \l {Node::layers}{layers}.
++
++ To be able to select the active layers we create a \c cameraFilter property and bind it to
++ the camera's \l {Node::layers}{layers} property.
++
++ \snippet layers/Main.qml camera filter
++
++ When the checkboxes in the settings panel are toggled, the \c cameraFilter property will
++ be updated to include or exclude the respective layers. This way, the camera will only render
++ the objects that are in the layers specified by the \c cameraFilter.
++
++ \snippet layers/Main.qml checkbox red layer
++
++ \section2 Models
++
++ The three different colored models now needs to be assigned to the respective layers.
++ As with the camera, we can use the \l {Node::layers}{layers} property of the model to assign it to a layer.
++ The red logo model is assigned to the \c redLayer, the green to the \c greenLayer,
++ and the blue to the \c blueLayer.
++
++ \snippet layers/Main.qml red models
++
++ \snippet layers/Main.qml green models
++
++ \snippet layers/Main.qml blue models
++
++ With the layers set up, the camera will now only render the models that are in the layers
++ specified by the \c cameraFilter. The user can toggle the visibility of each layer by
++ checking or unchecking the checkboxes in the settings panel.
++ */
++
++