-
Notifications
You must be signed in to change notification settings - Fork 64
/
Copy pathtransformations.qml
117 lines (102 loc) · 2.12 KB
/
transformations.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
113
114
115
116
117
import Qt3D.Core 2.0
import Qt3D.Render 2.0
import Qt3D.Input 2.0
import VirtualKey 1.0
import "Components"
Scene2 {
id: scene
children: VirtualKeys {
target: scene
targetHandler: keyboardHandler
padEnabled: false
gameButtonsEnabled: false
color: "transparent"
centerItem: RowKeys {
keys: [
{text:"Space", key:Qt.Key_Space},
]
}
}
Entity {
id: root
RenderSettings0 {}
FrameSwap {}
InputSettings {}
KeyboardDevice {
id: keyboardDevice
}
KeyboardHandler {
id: keyboardHandler
focus: true
sourceDevice: keyboardDevice
onSpacePressed: time.running = !time.running
}
Entity {
id: plane
TextureRectanglePlane0 {
id: geometry
}
Material {
id: material
effect: Effect {
techniques: AutoTechnique {
renderPasses: RenderPass {
renderStates: CullFace { mode: CullFace.NoCulling }
shaderProgram: AutoShaderProgram {
vertName: "transformations"
fragName: "textures_combined"
}
}
}
}
parameters: [
Parameter {
name: "ourTexture1"
value: Texture2D {
generateMipMaps: true
minificationFilter: Texture.Linear
magnificationFilter: Texture.Linear
wrapMode {
x: WrapMode.Repeat
y: WrapMode.Repeat
}
TextureImage {
mipLevel: 0
source: Resources.texture("container.jpg")
}
}
},
Parameter {
name: "ourTexture2"
value: Texture2D {
generateMipMaps: true
minificationFilter: Texture.Linear
magnificationFilter: Texture.Linear
wrapMode {
x: WrapMode.Repeat
y: WrapMode.Repeat
}
TextureImage {
mipLevel: 0
source: Resources.texture("awesomeface.png")
}
}
},
Parameter {
name: "transform"
value: { // We need to pass a matrix4x4
var m = Qt.matrix4x4();
m.translate(Qt.vector3d(0.5, -0.5, 0));
m.rotate(time.value % 360 * 50, Qt.vector3d(0, 0, 1));
return m;
}
Time {
id: time
}
}
]
}
components: [geometry, material]
}
}
}