blob: 8b6c9a682fe76560c82c71b47db66ad3b45731e4 (
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
|
// Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB).
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import Qt3D.Core 2.0
import Qt3D.Render 2.10
import Qt3D.Input 2.0
import Qt3D.Extras 2.0
import QtQuick 2.0 as QQ2;
Entity {
id: sceneRoot
property real width : 1
property alias smooth : lineWidth.smooth
Camera {
id: camera
projectionType: CameraLens.PerspectiveProjection
fieldOfView: 45
aspectRatio: 16/9
nearPlane : 0.1
farPlane : 1000.0
position: Qt.vector3d( 0.0, 0.0, 2.0 )
upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
}
FirstPersonCameraController {
camera: camera
linearSpeed: 1.0
}
components: [
RenderSettings {
activeFrameGraph : RenderStateSet {
renderStates: [
PointSize {
value: sceneRoot.width
sizeMode: PointSize.Fixed
},
LineWidth {
id: lineWidth
value: sceneRoot.width / 3.0
}
]
ForwardRenderer {
camera: camera
clearColor: "black"
}
}
},
InputSettings {
}
]
SphereGeometry {
id: sphere
rings: 4
slices: 4
radius: 1
}
Entity {
components: [
GeometryRenderer {
// abuse PlaneGeometry to give us some lines
geometry: sphere
primitiveType: GeometryRenderer.LineStrip
},
PhongMaterial {
ambient: "white"
}
]
}
Entity {
components: [
GeometryRenderer {
// abuse PlaneGeometry to give us some points
geometry: sphere
primitiveType: GeometryRenderer.Points
},
PhongMaterial {
ambient: "red"
}
]
}
}
|