Revision control

+ // Copyright (C) 2026 The Qt Company Ltd.
+ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+ import QtQuick
+ import QtQuick3D
+
+ // lod_digits.mesh has an extruded digit per level: the original is a "0" and
+ // levels 1 to 9 are the digits "1" to "9". The leftmost model is not instanced
+ // with LOD disabled, so it always draws the original. The others are instanced
+ // with instancingLodFactor stepping from 0 to 1 in ninths, and are expected
+ // to read 0 to 9 in order.
+ Rectangle {
+ width: 800
+ height: 480
+ color: Qt.rgba(0, 0, 0, 1)
+
+ View3D {
+ anchors.fill: parent
+
+ environment: SceneEnvironment {
+ clearColor: Qt.rgba(0, 0, 0, 1)
+ backgroundMode: SceneEnvironment.Color
+ }
+
+ PerspectiveCamera {
+ position.z: 1000
+ }
+
+ InstanceList {
+ id: singleInstance
+ instances: [
+ InstanceListEntry {
+ position: Qt.vector3d(0, 0, 0)
+ }
+ ]
+ }
+
+ Model {
+ source: "../shared/models/lod_digits.mesh"
+ position: Qt.vector3d(-750, 0, 0)
+ scale: Qt.vector3d(0.8, 0.8, 0.8)
+ levelOfDetailBias: 0
+ materials: PrincipledMaterial { baseColor: "white"; lighting: PrincipledMaterial.NoLighting }
+ }
+
+ Repeater3D {
+ model: 10
+ Model {
+ required property int index
+ source: "../shared/models/lod_digits.mesh"
+ position: Qt.vector3d(-600 + index * 150, 0, 0)
+ scale: Qt.vector3d(0.8, 0.8, 0.8)
+ instancing: singleInstance
+ instancingLodFactor: index / 9
+ materials: PrincipledMaterial { baseColor: Qt.hsla(index / 10, 1, 0.6, 1); lighting: PrincipledMaterial.NoLighting }
+ }
+ }
+ }
+ }