blob: fbe972dafbb1b5a38a34179ae0b2a446ccef5cba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
// Copyright (C) 2020 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
import QtQuick3D 6.0
View3D {
id: root
anchors.fill: parent
environment: sceneEnv
camera: envMode === "SkyBox" && envValue === "preview_studio" ? studioCamera : defaultCamera
property Material previewMaterial
property string envMode
property string envValue
property string modelSrc: "#Sphere"
function fitToViewPort(closeUp)
{
// No need to zoom this view, this is here just to avoid runtime warnings
}
SceneEnvironment {
id: sceneEnv
antialiasingMode: SceneEnvironment.MSAA
antialiasingQuality: SceneEnvironment.High
backgroundMode: envMode === "Color" ? SceneEnvironment.Color
: envMode === "SkyBox" ? SceneEnvironment.SkyBox
: SceneEnvironment.Transparent
clearColor: envMode === "Color" ? envValue : "#000000"
lightProbe: envMode === "SkyBox" ? skyBoxTex : null
Texture {
id: skyBoxTex
source: envMode === "SkyBox" ? "../images/" + envValue + ".hdr"
: ""
}
}
Node {
DirectionalLight {
eulerRotation.x: -26
eulerRotation.y: modelSrc === "#Cube" ? -10 : -50
brightness: envMode !== "SkyBox" ? 1 : 0
}
PerspectiveCamera {
id: defaultCamera
y: 70
z: 200
eulerRotation.x: -5.71
clipNear: 1
clipFar: 1000
}
PerspectiveCamera {
id: studioCamera
y: 232
z: 85
eulerRotation.x: -64.98
clipNear: 1
clipFar: 1000
}
Node {
rotation: root.camera.rotation
y: 50
Node {
y: modelSrc === "#Cone" ? -40 : 10
eulerRotation.x: 35
Model {
id: model
readonly property bool _edit3dLocked: true // Make this non-pickable
source: modelSrc ? modelSrc : "#Sphere"
eulerRotation.y: 45
materials: previewMaterial
scale: !modelSrc || modelSrc === "#Sphere"
? Qt.vector3d(1.7, 1.7, 1.7) : Qt.vector3d(1.2, 1.2, 1.2)
}
}
}
Model {
id: floorModel
source: "#Rectangle"
scale.y: 8
scale.x: 8
eulerRotation.x: -60
visible: !envMode || envMode === "Default"
materials: floorMaterial
DefaultMaterial {
id: floorMaterial
diffuseMap: floorTex
Texture {
id: floorTex
source: "../images/floor_tex.png"
scaleU: floorModel.scale.x
scaleV: floorModel.scale.y
}
}
}
}
}
|