Revision control
++ // Copyright (C) 2020 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
++
++ import QtQuick3D
++ import QtQuick
++
++ Rectangle {
++ width: 480
++ height: 480
++ color: Qt.rgba(1, 1, 0.5, 1)
++
++ View3D {
++ id: layer
++ anchors.fill: parent
++ environment: SceneEnvironment {
++ clearColor: Qt.rgba(0, 0, 0, 1)
++ aoDither: true
++ depthPrePassEnabled: true
++ depthTestEnabled: true
++ }
++
++ camera: PerspectiveCamera {
++ position: Qt.vector3d(0, 0, 800)
++ }
++
++ DirectionalLight {
++ }
++
++ DirectionalLight {
++ eulerRotation.x: -30
++ eulerRotation.y: -70
++ }
++
++ // Model behind of everything else
++ Model {
++ position: Qt.vector3d(0, 100, -400)
++ eulerRotation: Qt.vector3d(45, 45, 45)
++ scale: Qt.vector3d(3.5, 3.5, 3.5)
++ source: "#Cube"
++ materials: DefaultMaterial {
++ diffuseColor: Qt.rgba(1, 0, 1, 1)
++ }
++ }
++
++ // Model in front of everything else
++ Model {
++ position: Qt.vector3d(0, -100, 450)
++ eulerRotation: Qt.vector3d(45, 45, 45)
++ scale: Qt.vector3d(1.0, 1.0, 1.0)
++ source: "#Cube"
++ opacity: 1.0
++ materials: DefaultMaterial {
++ diffuseColor: Qt.rgba(0, 1, 1, 1)
++ }
++ }
++
++ // Pile #1
++ Node {
++ x: -200
++ y: 250
++ Rectangle {
++ width: 200
++ height: 200
++ color: "red"
++ opacity: 0.5
++ }
++ }
++ Node {
++ x: -200
++ y: 250
++ z: 1
++ Rectangle {
++ width: 150
++ height: 150
++ color: "green"
++ opacity: 0.5
++ }
++ }
++ Node {
++ x: -200
++ y: 250
++ z: 2
++ Rectangle {
++ width: 100
++ height: 100
++ color: "blue"
++ opacity: 0.5
++ }
++ }
++
++ // Pile #2
++ Node {
++ x: 200
++ y: 250
++ Rectangle {
++ width: 200
++ height: 200
++ color: "red"
++ opacity: 0.5
++ }
++ }
++ Node {
++ x: 200
++ y: 250
++ z: 2
++ Rectangle {
++ width: 100
++ height: 100
++ color: "blue"
++ opacity: 0.5
++ }
++ }
++ Node {
++ x: 200
++ y: 250
++ z: 1
++ Rectangle {
++ width: 150
++ height: 150
++ color: "green"
++ opacity: 0.5
++ }
++ }
++
++ // Pile #3
++ Node {
++ x: -200
++ y: 0
++ z: -1
++ Rectangle {
++ width: 100
++ height: 100
++ color: "blue"
++ opacity: 0.5
++ }
++ }
++ Node {
++ x: -200
++ y: 0
++ z: -2
++ Rectangle {
++ width: 150
++ height: 150
++ color: "green"
++ opacity: 0.5
++ }
++ }
++ Node {
++ x: -200
++ y: 0
++ z: -3
++ Rectangle {
++ width: 200
++ height: 200
++ color: "red"
++ opacity: 0.5
++ }
++ }
++
++ // Pile #4
++ Node {
++ x: 200
++ y: 0
++ z: -1
++ Rectangle {
++ width: 100
++ height: 100
++ color: "blue"
++ opacity: 0.5
++ }
++ }
++ Node {
++ x: 200
++ y: 0
++ z: 20
++ NumberAnimation on z {
++ to: -2
++ duration: 200
++ }
++ Rectangle {
++ width: 150
++ height: 150
++ color: "green"
++ opacity: 0.5
++ }
++ }
++ Node {
++ x: 200
++ y: 0
++ z: 3
++ Component.onCompleted: {
++ z = -3;
++ }
++ Rectangle {
++ width: 200
++ height: 200
++ color: "red"
++ opacity: 0.5
++ }
++ }
++
++ // Pile #5 with 3D models
++ Model {
++ position: Qt.vector3d(-200, -250, -20)
++ eulerRotation: Qt.vector3d(45, 45, 45)
++ scale: Qt.vector3d(0.4, 0.4, 0.4)
++ opacity: 0.5
++ source: "#Cube"
++ Component.onCompleted: {
++ z = 20;
++ }
++ materials: DefaultMaterial {
++ diffuseColor: Qt.rgba(1, 1, 1, 1)
++ }
++ }
++ Model {
++ position: Qt.vector3d(-200, -250, -1)
++ scale: Qt.vector3d(2, 2, 0.01)
++ opacity: 0.5
++ source: "#Cube"
++ materials: DefaultMaterial {
++ diffuseColor: Qt.rgba(1, 0, 0, 1)
++ }
++ }
++ Node {
++ x: -200
++ y: -250
++ opacity: 0.5
++ Rectangle {
++ width: 150
++ height: 150
++ color: "green"
++ opacity: 0.5
++ }
++ }
++ Model {
++ position: Qt.vector3d(-200, -250, 1)
++ //eulerRotation: Qt.vector3d(-10,-10,-10)
++ scale: Qt.vector3d(1, 1, 0.01)
++ opacity: 0.5
++ source: "#Cube"
++ materials: DefaultMaterial {
++ diffuseColor: Qt.rgba(0, 0, 1, 1)
++ }
++ }
++
++ // Pile #6 with 3D models
++ Node {
++ x: 200
++ y: -250
++ z: 10
++ Rectangle {
++ width: 200
++ height: 200
++ color: "red"
++ opacity: 0.5
++ }
++ }
++ Node {
++ x: 200
++ y: -250
++ z: 10
++ Model {
++ scale: Qt.vector3d(1.5, 1.5, 0.01)
++ opacity: 0.5
++ source: "#Cube"
++ materials: DefaultMaterial {
++ diffuseColor: Qt.rgba(0, 1, 0, 1)
++ }
++ }
++ }
++ Node {
++ x: 200
++ y: -250
++ z: 12
++ Rectangle {
++ width: 100
++ height: 100
++ color: "blue"
++ opacity: 0.5
++ }
++ }
++ Model {
++ position: Qt.vector3d(200, -250, -20)
++ eulerRotation: Qt.vector3d(45, 45, 45)
++ scale: Qt.vector3d(0.4, 0.4, 0.4)
++ source: "#Cube"
++ NumberAnimation on z {
++ to: 20
++ duration: 200
++ }
++ materials: DefaultMaterial {
++ diffuseColor: Qt.rgba(1, 1, 1, 1)
++ }
++ }
++ }
++ }