Revision control

++ // Copyright (C) 2020 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
++
++ import QtQuick3D
++ import QtQuick3D.Helpers
++ import QtQuick
++
++ Rectangle {
++ width: 400
++ height: 400
++ color: "black"
++
++ View3D {
++ anchors.fill: parent
++ camera: PerspectiveCamera {
++ id: camera
++ position: Qt.vector3d(0, 200, 300)
++ eulerRotation.x: -30
++ }
++
++ RandomInstancing {
++ id: randomInst
++ randomSeed: 1
++ instanceCount: 20
++ scale: InstanceRange {
++ from: Qt.vector3d(0.1, 0.1, 0.1)
++ to: Qt.vector3d(0.5, 0.5, 0.5)
++ proportional: true
++ }
++ position: InstanceRange {
++ from: Qt.vector3d(-200, -200, -100)
++ to: Qt.vector3d(200, 200, 100)
++ }
++ }
++
++ Model {
++ position: Qt.vector3d(0, 0, 0)
++ instancing: randomInst
++ eulerRotation.y: 45
++ scale: Qt.vector3d(2, 2, 2)
++ source: "#Sphere"
++ materials: [
++ CustomMaterial {
++ property real time: 0.5
++ property real amplitude: 10.0
++ property real alpha: 0.3
++
++ shadingMode: CustomMaterial.Unshaded
++ sourceBlend: CustomMaterial.SrcAlpha
++ destinationBlend: CustomMaterial.OneMinusSrcAlpha
++ cullMode: CustomMaterial.BackFaceCulling
++
++ vertexShader: "customunshaded.vert"
++ fragmentShader: "customunshaded.frag"
++ }
++ ]
++ }
++ }
++ }