-
Notifications
You must be signed in to change notification settings - Fork 64
/
Copy pathbasic_lighting-exercise2.qml
112 lines (96 loc) · 1.92 KB
/
basic_lighting-exercise2.qml
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
102
103
104
105
106
107
108
109
110
111
112
import Qt3D.Core 2.0
import Qt3D.Render 2.0
import Qt3D.Extras 2.0
import VirtualKey 1.0
import "Components"
Scene2 {
id: scene
children: VirtualKeys {
target: scene
gameButtonsEnabled: false
color: "transparent"
}
Entity {
id: root
RenderInputSettings0 {
id: renderInputSettings
mouseSensitivity: .5 / Units.dp
}
property vector3d lightPos: "1.2, 1.0, 2.0"
property color lightColor: "white"
property color objectColor: "coral"
CuboidMesh {
id: mesh
}
Entity {
id: object
Transform {
id: objectTransform
}
Material {
id: objectMaterial
effect: Effect {
techniques: AutoTechnique {
renderPasses: RenderPass {
shaderProgram: AutoShaderProgram {
vertName: "basic_lighting-exercise2"
fragName: "basic_lighting-exercise2"
}
parameters: [
Parameter {
name: "lightPos"
value: root.lightPos
},
Parameter {
name: "lightColor"
value: Qt.vector3d(
root.lightColor.r,
root.lightColor.g,
root.lightColor.b
)
},
Parameter {
name: "objectColor"
value: Qt.vector3d(
root.objectColor.r,
root.objectColor.g,
root.objectColor.b
)
}
]
}
}
}
}
components: [mesh, objectTransform, objectMaterial]
}
Entity {
id: lamp
Transform {
id: lampTransform
translation: root.lightPos
scale: .2
}
Material {
id: lampMaterial
effect: Effect {
techniques: AutoTechnique {
renderPasses: RenderPass {
shaderProgram: AutoShaderProgram {
vertName: "basic_lighting"
fragName: "shaders-uniform"
}
parameters: [
Parameter {
name: "ourColor"
value: root.lightColor
}
]
}
}
}
}
components: [mesh, lampTransform, lampMaterial]
}
}
}