+14
Cargo.lock
+14
Cargo.lock
···
163
163
"console_error_panic_hook",
164
164
"console_log",
165
165
"env_logger",
166
+
"fs_extra",
166
167
"glam",
168
+
"glob",
167
169
"image",
168
170
"log",
169
171
"pollster",
···
551
553
checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
552
554
553
555
[[package]]
556
+
name = "fs_extra"
557
+
version = "1.3.0"
558
+
source = "registry+https://github.com/rust-lang/crates.io-index"
559
+
checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
560
+
561
+
[[package]]
554
562
name = "gethostname"
555
563
version = "0.4.3"
556
564
source = "registry+https://github.com/rust-lang/crates.io-index"
···
590
598
dependencies = [
591
599
"bytemuck",
592
600
]
601
+
602
+
[[package]]
603
+
name = "glob"
604
+
version = "0.3.2"
605
+
source = "registry+https://github.com/rust-lang/crates.io-index"
606
+
checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
593
607
594
608
[[package]]
595
609
name = "glow"
+4
Cargo.toml
+4
Cargo.toml
+16
build.rs
+16
build.rs
···
1
+
use fs_extra::copy_items;
2
+
use fs_extra::dir::CopyOptions;
3
+
use std::env;
4
+
use std::error::Error;
5
+
6
+
fn main() -> Result<(), Box<dyn Error>> {
7
+
println!("cargo:rerun-if-changed=res/*");
8
+
9
+
let out_dir = env::var("OUT_DIR")?;
10
+
let mut copy_options = CopyOptions::new();
11
+
copy_options.overwrite = true;
12
+
let paths_to_copy = vec!["res/"];
13
+
copy_items(&paths_to_copy, out_dir, ©_options)?;
14
+
15
+
Ok(())
16
+
}
res/cube-diffuse.jpg
res/cube-diffuse.jpg
This is a binary file and will not be displayed.
res/cube-normal.png
res/cube-normal.png
This is a binary file and will not be displayed.
+14
res/cube.mtl
+14
res/cube.mtl
···
1
+
# Blender MTL File: 'cube.blend'
2
+
# Material Count: 1
3
+
4
+
newmtl Material.001
5
+
Ns 323.999994
6
+
Ka 1.000000 1.000000 1.000000
7
+
Kd 0.800000 0.800000 0.800000
8
+
Ks 0.500000 0.500000 0.500000
9
+
Ke 0.000000 0.000000 0.000000
10
+
Ni 1.450000
11
+
d 1.000000
12
+
illum 2
13
+
map_Bump cube-normal.png
14
+
map_Kd cube-diffuse.jpg
+933
res/cube.obj
+933
res/cube.obj
···
1
+
# Blender v2.82 (sub 7) OBJ File: 'cube.blend'
2
+
# www.blender.org
3
+
mtllib cube.mtl
4
+
o Cube_Finished_Cube.001
5
+
v 0.900000 0.900000 -1.000000
6
+
v 0.900000 1.000000 -0.900000
7
+
v 1.000000 0.900000 -0.900000
8
+
v 0.900000 0.930907 -0.995104
9
+
v 0.900000 0.958769 -0.980909
10
+
v 0.930907 0.900000 -0.995104
11
+
v 0.931727 0.931906 -0.989305
12
+
v 0.930693 0.957414 -0.975905
13
+
v 0.958769 0.900000 -0.980909
14
+
v 0.957466 0.930772 -0.975834
15
+
v 0.952912 0.952912 -0.966338
16
+
v 0.930907 0.995104 -0.900000
17
+
v 0.958769 0.980909 -0.900000
18
+
v 0.900000 0.995104 -0.930907
19
+
v 0.931906 0.989305 -0.931727
20
+
v 0.957414 0.975905 -0.930693
21
+
v 0.900000 0.980909 -0.958769
22
+
v 0.930772 0.975834 -0.957466
23
+
v 0.952912 0.966338 -0.952912
24
+
v 0.995104 0.900000 -0.930907
25
+
v 0.980909 0.900000 -0.958769
26
+
v 0.995104 0.930907 -0.900000
27
+
v 0.989305 0.931727 -0.931906
28
+
v 0.975905 0.930693 -0.957414
29
+
v 0.980909 0.958769 -0.900000
30
+
v 0.975834 0.957466 -0.930772
31
+
v 0.966338 0.952912 -0.952912
32
+
v 0.900000 -1.000000 -0.900000
33
+
v 0.900000 -0.900000 -1.000000
34
+
v 1.000000 -0.900000 -0.900000
35
+
v 0.900000 -0.995104 -0.930907
36
+
v 0.900000 -0.980909 -0.958769
37
+
v 0.930907 -0.995104 -0.900000
38
+
v 0.931727 -0.989305 -0.931906
39
+
v 0.930693 -0.975905 -0.957414
40
+
v 0.958769 -0.980909 -0.900000
41
+
v 0.957466 -0.975834 -0.930772
42
+
v 0.952912 -0.966338 -0.952912
43
+
v 0.930907 -0.900000 -0.995104
44
+
v 0.958769 -0.900000 -0.980909
45
+
v 0.900000 -0.930907 -0.995104
46
+
v 0.931906 -0.931727 -0.989305
47
+
v 0.957414 -0.930693 -0.975905
48
+
v 0.900000 -0.958769 -0.980909
49
+
v 0.930772 -0.957466 -0.975834
50
+
v 0.952912 -0.952912 -0.966338
51
+
v 0.995104 -0.930907 -0.900000
52
+
v 0.980909 -0.958769 -0.900000
53
+
v 0.995104 -0.900000 -0.930907
54
+
v 0.989305 -0.931906 -0.931727
55
+
v 0.975905 -0.957414 -0.930693
56
+
v 0.980909 -0.900000 -0.958769
57
+
v 0.975834 -0.930772 -0.957466
58
+
v 0.966338 -0.952912 -0.952912
59
+
v 1.000000 0.900000 0.900000
60
+
v 0.900000 1.000000 0.900000
61
+
v 0.900000 0.900000 1.000000
62
+
v 0.995104 0.930907 0.900000
63
+
v 0.980909 0.958769 0.900000
64
+
v 0.995104 0.900000 0.930907
65
+
v 0.989305 0.931906 0.931727
66
+
v 0.975905 0.957414 0.930693
67
+
v 0.980909 0.900000 0.958769
68
+
v 0.975834 0.930772 0.957466
69
+
v 0.966338 0.952912 0.952912
70
+
v 0.900000 0.995104 0.930907
71
+
v 0.900000 0.980909 0.958769
72
+
v 0.930907 0.995104 0.900000
73
+
v 0.931727 0.989305 0.931906
74
+
v 0.930693 0.975905 0.957414
75
+
v 0.958769 0.980909 0.900000
76
+
v 0.957466 0.975834 0.930772
77
+
v 0.952912 0.966338 0.952912
78
+
v 0.930907 0.900000 0.995104
79
+
v 0.958769 0.900000 0.980909
80
+
v 0.900000 0.930907 0.995104
81
+
v 0.931906 0.931727 0.989305
82
+
v 0.957414 0.930693 0.975905
83
+
v 0.900000 0.958769 0.980909
84
+
v 0.930772 0.957466 0.975834
85
+
v 0.952912 0.952912 0.966338
86
+
v 1.000000 -0.900000 0.900000
87
+
v 0.900000 -0.900000 1.000000
88
+
v 0.900000 -1.000000 0.900000
89
+
v 0.995104 -0.900000 0.930907
90
+
v 0.980909 -0.900000 0.958769
91
+
v 0.995104 -0.930907 0.900000
92
+
v 0.989305 -0.931727 0.931906
93
+
v 0.975905 -0.930693 0.957414
94
+
v 0.980909 -0.958769 0.900000
95
+
v 0.975834 -0.957466 0.930772
96
+
v 0.966338 -0.952912 0.952912
97
+
v 0.900000 -0.930907 0.995104
98
+
v 0.900000 -0.958769 0.980909
99
+
v 0.930907 -0.900000 0.995104
100
+
v 0.931727 -0.931906 0.989305
101
+
v 0.930693 -0.957414 0.975905
102
+
v 0.958769 -0.900000 0.980909
103
+
v 0.957466 -0.930772 0.975834
104
+
v 0.952912 -0.952912 0.966338
105
+
v 0.930907 -0.995104 0.900000
106
+
v 0.958769 -0.980909 0.900000
107
+
v 0.900000 -0.995104 0.930907
108
+
v 0.931906 -0.989305 0.931727
109
+
v 0.957414 -0.975905 0.930693
110
+
v 0.900000 -0.980909 0.958769
111
+
v 0.930772 -0.975834 0.957466
112
+
v 0.952912 -0.966338 0.952912
113
+
v -0.900000 0.900000 -1.000000
114
+
v -1.000000 0.900000 -0.900000
115
+
v -0.900000 1.000000 -0.900000
116
+
v -0.930907 0.900000 -0.995104
117
+
v -0.958769 0.900000 -0.980909
118
+
v -0.900000 0.930907 -0.995104
119
+
v -0.931906 0.931727 -0.989305
120
+
v -0.957414 0.930693 -0.975905
121
+
v -0.900000 0.958769 -0.980909
122
+
v -0.930772 0.957466 -0.975834
123
+
v -0.952912 0.952912 -0.966338
124
+
v -0.995104 0.930907 -0.900000
125
+
v -0.980909 0.958769 -0.900000
126
+
v -0.995104 0.900000 -0.930907
127
+
v -0.989305 0.931906 -0.931727
128
+
v -0.975905 0.957414 -0.930693
129
+
v -0.980909 0.900000 -0.958769
130
+
v -0.975834 0.930772 -0.957466
131
+
v -0.966338 0.952912 -0.952912
132
+
v -0.900000 0.995104 -0.930907
133
+
v -0.900000 0.980909 -0.958769
134
+
v -0.930907 0.995104 -0.900000
135
+
v -0.931727 0.989305 -0.931906
136
+
v -0.930693 0.975905 -0.957414
137
+
v -0.958769 0.980909 -0.900000
138
+
v -0.957466 0.975834 -0.930772
139
+
v -0.952912 0.966338 -0.952912
140
+
v -1.000000 -0.900000 -0.900000
141
+
v -0.900000 -0.900000 -1.000000
142
+
v -0.900000 -1.000000 -0.900000
143
+
v -0.995104 -0.900000 -0.930907
144
+
v -0.980909 -0.900000 -0.958769
145
+
v -0.995104 -0.930907 -0.900000
146
+
v -0.989305 -0.931727 -0.931906
147
+
v -0.975905 -0.930693 -0.957414
148
+
v -0.980909 -0.958769 -0.900000
149
+
v -0.975834 -0.957466 -0.930772
150
+
v -0.966338 -0.952912 -0.952912
151
+
v -0.900000 -0.930907 -0.995104
152
+
v -0.900000 -0.958769 -0.980909
153
+
v -0.930907 -0.900000 -0.995104
154
+
v -0.931727 -0.931906 -0.989305
155
+
v -0.930693 -0.957414 -0.975905
156
+
v -0.958769 -0.900000 -0.980909
157
+
v -0.957466 -0.930772 -0.975834
158
+
v -0.952912 -0.952912 -0.966338
159
+
v -0.930907 -0.995104 -0.900000
160
+
v -0.958769 -0.980909 -0.900000
161
+
v -0.900000 -0.995104 -0.930907
162
+
v -0.931906 -0.989305 -0.931727
163
+
v -0.957414 -0.975905 -0.930693
164
+
v -0.900000 -0.980909 -0.958769
165
+
v -0.930772 -0.975834 -0.957466
166
+
v -0.952912 -0.966338 -0.952912
167
+
v -1.000000 0.900000 0.900000
168
+
v -0.900000 0.900000 1.000000
169
+
v -0.900000 1.000000 0.900000
170
+
v -0.995104 0.900000 0.930907
171
+
v -0.980909 0.900000 0.958769
172
+
v -0.995104 0.930907 0.900000
173
+
v -0.989305 0.931727 0.931906
174
+
v -0.975905 0.930693 0.957414
175
+
v -0.980909 0.958769 0.900000
176
+
v -0.975834 0.957466 0.930772
177
+
v -0.966338 0.952912 0.952912
178
+
v -0.900000 0.930907 0.995104
179
+
v -0.900000 0.958769 0.980909
180
+
v -0.930907 0.900000 0.995104
181
+
v -0.931727 0.931906 0.989305
182
+
v -0.930693 0.957414 0.975905
183
+
v -0.958769 0.900000 0.980909
184
+
v -0.957466 0.930772 0.975834
185
+
v -0.952912 0.952912 0.966338
186
+
v -0.930907 0.995104 0.900000
187
+
v -0.958769 0.980909 0.900000
188
+
v -0.900000 0.995104 0.930907
189
+
v -0.931906 0.989305 0.931727
190
+
v -0.957414 0.975905 0.930693
191
+
v -0.900000 0.980909 0.958769
192
+
v -0.930772 0.975834 0.957466
193
+
v -0.952912 0.966338 0.952912
194
+
v -0.900000 -1.000000 0.900000
195
+
v -0.900000 -0.900000 1.000000
196
+
v -1.000000 -0.900000 0.900000
197
+
v -0.900000 -0.995104 0.930907
198
+
v -0.900000 -0.980909 0.958769
199
+
v -0.930907 -0.995104 0.900000
200
+
v -0.931727 -0.989305 0.931906
201
+
v -0.930693 -0.975905 0.957414
202
+
v -0.958769 -0.980909 0.900000
203
+
v -0.957466 -0.975834 0.930772
204
+
v -0.952912 -0.966338 0.952912
205
+
v -0.930907 -0.900000 0.995104
206
+
v -0.958769 -0.900000 0.980909
207
+
v -0.900000 -0.930907 0.995104
208
+
v -0.931906 -0.931727 0.989305
209
+
v -0.957414 -0.930693 0.975905
210
+
v -0.900000 -0.958769 0.980909
211
+
v -0.930772 -0.957466 0.975834
212
+
v -0.952912 -0.952912 0.966338
213
+
v -0.995104 -0.930907 0.900000
214
+
v -0.980909 -0.958769 0.900000
215
+
v -0.995104 -0.900000 0.930907
216
+
v -0.989305 -0.931906 0.931727
217
+
v -0.975905 -0.957414 0.930693
218
+
v -0.980909 -0.900000 0.958769
219
+
v -0.975834 -0.930772 0.957466
220
+
v -0.966338 -0.952912 0.952912
221
+
vt 0.137500 0.512500
222
+
vt 0.362500 0.512500
223
+
vt 0.362500 0.737500
224
+
vt 0.137500 0.737500
225
+
vt 0.387500 0.012500
226
+
vt 0.612500 0.012500
227
+
vt 0.612500 0.237500
228
+
vt 0.387500 0.237500
229
+
vt 0.387500 0.762500
230
+
vt 0.612500 0.762500
231
+
vt 0.612500 0.987500
232
+
vt 0.387500 0.987500
233
+
vt 0.637500 0.512500
234
+
vt 0.862500 0.512500
235
+
vt 0.862500 0.737500
236
+
vt 0.637500 0.737500
237
+
vt 0.387500 0.512500
238
+
vt 0.612500 0.512500
239
+
vt 0.612500 0.737500
240
+
vt 0.387500 0.737500
241
+
vt 0.612500 0.487500
242
+
vt 0.616363 0.487500
243
+
vt 0.616488 0.491466
244
+
vt 0.612500 0.491363
245
+
vt 0.619846 0.487500
246
+
vt 0.619677 0.491337
247
+
vt 0.625000 0.487500
248
+
vt 0.625000 0.491347
249
+
vt 0.616346 0.494683
250
+
vt 0.612500 0.494846
251
+
vt 0.619114 0.494114
252
+
vt 0.625000 0.494114
253
+
vt 0.633637 0.512500
254
+
vt 0.633512 0.508534
255
+
vt 0.637500 0.508637
256
+
vt 0.630154 0.512500
257
+
vt 0.630323 0.508663
258
+
vt 0.619846 0.512500
259
+
vt 0.619683 0.508653
260
+
vt 0.633654 0.505317
261
+
vt 0.637500 0.505154
262
+
vt 0.630886 0.505886
263
+
vt 0.619114 0.505886
264
+
vt 0.612500 0.508637
265
+
vt 0.616466 0.508512
266
+
vt 0.616363 0.512500
267
+
vt 0.612500 0.505154
268
+
vt 0.616337 0.505323
269
+
vt 0.619114 0.500000
270
+
vt 0.362500 0.508637
271
+
vt 0.366466 0.508512
272
+
vt 0.366363 0.512500
273
+
vt 0.362500 0.505154
274
+
vt 0.366337 0.505323
275
+
vt 0.362500 0.500000
276
+
vt 0.366347 0.500000
277
+
vt 0.369683 0.508653
278
+
vt 0.369846 0.512500
279
+
vt 0.369114 0.505886
280
+
vt 0.369114 0.500000
281
+
vt 0.387500 0.487500
282
+
vt 0.387500 0.491363
283
+
vt 0.383534 0.491488
284
+
vt 0.383637 0.487500
285
+
vt 0.387500 0.494846
286
+
vt 0.383663 0.494677
287
+
vt 0.387500 0.505154
288
+
vt 0.383653 0.505317
289
+
vt 0.380317 0.491346
290
+
vt 0.380154 0.487500
291
+
vt 0.380886 0.494114
292
+
vt 0.380886 0.505886
293
+
vt 0.383637 0.512500
294
+
vt 0.383512 0.508534
295
+
vt 0.387500 0.508637
296
+
vt 0.380154 0.512500
297
+
vt 0.380323 0.508663
298
+
vt 0.375000 0.505886
299
+
vt 0.616363 0.737500
300
+
vt 0.616488 0.741466
301
+
vt 0.612500 0.741363
302
+
vt 0.619846 0.737500
303
+
vt 0.619677 0.741337
304
+
vt 0.630154 0.737500
305
+
vt 0.630317 0.741346
306
+
vt 0.616346 0.744683
307
+
vt 0.612500 0.744846
308
+
vt 0.619114 0.744114
309
+
vt 0.630886 0.744114
310
+
vt 0.637500 0.741363
311
+
vt 0.633534 0.741488
312
+
vt 0.633637 0.737500
313
+
vt 0.637500 0.744846
314
+
vt 0.633664 0.744677
315
+
vt 0.637500 0.750000
316
+
vt 0.633653 0.750000
317
+
vt 0.630886 0.750000
318
+
vt 0.612500 0.758637
319
+
vt 0.616466 0.758512
320
+
vt 0.616363 0.762500
321
+
vt 0.612500 0.755154
322
+
vt 0.616337 0.755323
323
+
vt 0.619683 0.758653
324
+
vt 0.619846 0.762500
325
+
vt 0.619114 0.755886
326
+
vt 0.625000 0.744114
327
+
vt 0.619114 0.750000
328
+
vt 0.387500 0.741363
329
+
vt 0.383534 0.741488
330
+
vt 0.383637 0.737500
331
+
vt 0.387500 0.744846
332
+
vt 0.383663 0.744677
333
+
vt 0.387500 0.755154
334
+
vt 0.383653 0.755317
335
+
vt 0.380317 0.741346
336
+
vt 0.380154 0.737500
337
+
vt 0.380886 0.744114
338
+
vt 0.380886 0.755886
339
+
vt 0.383637 0.762500
340
+
vt 0.383512 0.758534
341
+
vt 0.387500 0.758637
342
+
vt 0.380154 0.762500
343
+
vt 0.380323 0.758663
344
+
vt 0.375000 0.762500
345
+
vt 0.375000 0.758654
346
+
vt 0.375000 0.755886
347
+
vt 0.366363 0.737500
348
+
vt 0.366488 0.741466
349
+
vt 0.362500 0.741363
350
+
vt 0.369846 0.737500
351
+
vt 0.369677 0.741337
352
+
vt 0.366347 0.744683
353
+
vt 0.362500 0.744846
354
+
vt 0.369114 0.744114
355
+
vt 0.380886 0.750000
356
+
vt 0.375000 0.744114
357
+
vt 0.612500 0.262500
358
+
vt 0.612500 0.258637
359
+
vt 0.616466 0.258512
360
+
vt 0.616363 0.262500
361
+
vt 0.612500 0.255154
362
+
vt 0.616337 0.255323
363
+
vt 0.612500 0.244846
364
+
vt 0.616346 0.244683
365
+
vt 0.619683 0.258653
366
+
vt 0.619846 0.262500
367
+
vt 0.619114 0.255886
368
+
vt 0.619114 0.244114
369
+
vt 0.616363 0.237500
370
+
vt 0.616488 0.241466
371
+
vt 0.612500 0.241363
372
+
vt 0.619846 0.237500
373
+
vt 0.619677 0.241337
374
+
vt 0.625000 0.237500
375
+
vt 0.625000 0.241347
376
+
vt 0.625000 0.244114
377
+
vt 0.862500 0.508637
378
+
vt 0.866466 0.508512
379
+
vt 0.866363 0.512500
380
+
vt 0.862500 0.505154
381
+
vt 0.866337 0.505323
382
+
vt 0.862500 0.500000
383
+
vt 0.866347 0.500000
384
+
vt 0.869683 0.508653
385
+
vt 0.869846 0.512500
386
+
vt 0.869114 0.505886
387
+
vt 0.869114 0.500000
388
+
vt 0.619114 0.250000
389
+
vt 0.625000 0.255886
390
+
vt 0.387500 0.241363
391
+
vt 0.383534 0.241488
392
+
vt 0.383637 0.237500
393
+
vt 0.387500 0.244846
394
+
vt 0.383663 0.244677
395
+
vt 0.387500 0.255154
396
+
vt 0.383653 0.255317
397
+
vt 0.380317 0.241346
398
+
vt 0.380154 0.237500
399
+
vt 0.380886 0.244114
400
+
vt 0.380886 0.255886
401
+
vt 0.387500 0.262500
402
+
vt 0.383637 0.262500
403
+
vt 0.383512 0.258534
404
+
vt 0.387500 0.258637
405
+
vt 0.380154 0.262500
406
+
vt 0.380323 0.258663
407
+
vt 0.375000 0.262500
408
+
vt 0.375000 0.258653
409
+
vt 0.375000 0.255886
410
+
vt 0.133637 0.512500
411
+
vt 0.133512 0.508534
412
+
vt 0.137500 0.508637
413
+
vt 0.130154 0.512500
414
+
vt 0.130323 0.508663
415
+
vt 0.125000 0.512500
416
+
vt 0.125000 0.508654
417
+
vt 0.133653 0.505317
418
+
vt 0.137500 0.505154
419
+
vt 0.130886 0.505886
420
+
vt 0.125000 0.505886
421
+
vt 0.380886 0.250000
422
+
vt 0.375000 0.244114
423
+
vt 0.612500 0.008637
424
+
vt 0.616466 0.008512
425
+
vt 0.616363 0.012500
426
+
vt 0.612500 0.005154
427
+
vt 0.616337 0.005323
428
+
vt 0.612500 0.000000
429
+
vt 0.616346 0.000000
430
+
vt 0.619683 0.008654
431
+
vt 0.619846 0.012500
432
+
vt 0.619114 0.005886
433
+
vt 0.619114 0.000000
434
+
vt 0.616363 0.987500
435
+
vt 0.616488 0.991466
436
+
vt 0.612500 0.991363
437
+
vt 0.619846 0.987500
438
+
vt 0.619677 0.991337
439
+
vt 0.625000 0.987500
440
+
vt 0.625000 0.991346
441
+
vt 0.616346 0.994683
442
+
vt 0.612500 0.994846
443
+
vt 0.619114 0.994114
444
+
vt 0.625000 0.994114
445
+
vt 0.866363 0.737500
446
+
vt 0.866488 0.741466
447
+
vt 0.862500 0.741363
448
+
vt 0.869846 0.737500
449
+
vt 0.869677 0.741337
450
+
vt 0.875000 0.737500
451
+
vt 0.875000 0.741347
452
+
vt 0.866346 0.744683
453
+
vt 0.862500 0.744846
454
+
vt 0.869114 0.744114
455
+
vt 0.875000 0.744114
456
+
vt 0.625000 0.005886
457
+
vt 0.137500 0.741363
458
+
vt 0.133534 0.741488
459
+
vt 0.133637 0.737500
460
+
vt 0.137500 0.744846
461
+
vt 0.133663 0.744677
462
+
vt 0.137500 0.750000
463
+
vt 0.133653 0.750000
464
+
vt 0.130317 0.741346
465
+
vt 0.130154 0.737500
466
+
vt 0.130886 0.744114
467
+
vt 0.130886 0.750000
468
+
vt 0.387500 0.991363
469
+
vt 0.383534 0.991488
470
+
vt 0.383637 0.987500
471
+
vt 0.387500 0.994846
472
+
vt 0.383663 0.994677
473
+
vt 0.387500 1.000000
474
+
vt 0.383654 1.000000
475
+
vt 0.380317 0.991346
476
+
vt 0.380154 0.987500
477
+
vt 0.380886 0.994114
478
+
vt 0.380886 1.000000
479
+
vt 0.383637 0.012500
480
+
vt 0.383512 0.008534
481
+
vt 0.387500 0.008637
482
+
vt 0.380154 0.012500
483
+
vt 0.380323 0.008663
484
+
vt 0.375000 0.012500
485
+
vt 0.375000 0.008653
486
+
vt 0.383653 0.005317
487
+
vt 0.387500 0.005154
488
+
vt 0.380886 0.005886
489
+
vt 0.375000 0.005886
490
+
vt 0.125000 0.744114
491
+
vt 0.125000 0.737500
492
+
vt 0.137500 0.500000
493
+
vt 0.612500 1.000000
494
+
vt 0.862500 0.750000
495
+
vt 0.362500 0.750000
496
+
vt 0.875000 0.512500
497
+
vt 0.637500 0.500000
498
+
vn -0.0802 -0.9935 -0.0802
499
+
vn 0.0802 -0.9935 -0.0802
500
+
vn 0.0802 -0.9935 0.0802
501
+
vn -0.0802 -0.9935 0.0802
502
+
vn -0.9935 -0.0802 0.0802
503
+
vn -0.9935 0.0802 0.0802
504
+
vn -0.9935 0.0802 -0.0802
505
+
vn -0.9935 -0.0802 -0.0802
506
+
vn 0.0802 -0.0802 0.9935
507
+
vn 0.0802 0.0802 0.9935
508
+
vn -0.0802 0.0802 0.9935
509
+
vn -0.0802 -0.0802 0.9935
510
+
vn 0.0802 0.9935 -0.0802
511
+
vn -0.0802 0.9935 -0.0802
512
+
vn -0.0802 0.9935 0.0802
513
+
vn 0.0802 0.9935 0.0802
514
+
vn 0.9935 -0.0802 -0.0802
515
+
vn 0.9935 0.0802 -0.0802
516
+
vn 0.9935 0.0802 0.0802
517
+
vn 0.9935 -0.0802 0.0802
518
+
vn 0.0802 0.0802 -0.9935
519
+
vn 0.0801 0.3083 -0.9479
520
+
vn 0.3068 0.3077 -0.9006
521
+
vn 0.3084 0.0804 -0.9478
522
+
vn 0.0754 0.5855 -0.8071
523
+
vn 0.2854 0.5696 -0.7707
524
+
vn 0.0757 0.8072 -0.5853
525
+
vn 0.2858 0.7704 -0.5698
526
+
vn 0.5698 0.2858 -0.7704
527
+
vn 0.5853 0.0757 -0.8072
528
+
vn 0.5155 0.5155 -0.6844
529
+
vn 0.5155 0.6844 -0.5155
530
+
vn 0.3083 0.9479 -0.0801
531
+
vn 0.3077 0.9006 -0.3068
532
+
vn 0.0804 0.9478 -0.3084
533
+
vn 0.5855 0.8071 -0.0754
534
+
vn 0.5696 0.7707 -0.2854
535
+
vn 0.8072 0.5853 -0.0757
536
+
vn 0.7704 0.5698 -0.2858
537
+
vn 0.6844 0.5155 -0.5155
538
+
vn 0.9479 0.0801 -0.3083
539
+
vn 0.9006 0.3068 -0.3077
540
+
vn 0.9478 0.3084 -0.0804
541
+
vn 0.8071 0.0754 -0.5855
542
+
vn 0.7707 0.2854 -0.5696
543
+
vn 0.0801 -0.9479 -0.3083
544
+
vn 0.3068 -0.9006 -0.3077
545
+
vn 0.3084 -0.9478 -0.0804
546
+
vn 0.0754 -0.8071 -0.5855
547
+
vn 0.2854 -0.7707 -0.5696
548
+
vn 0.0757 -0.5853 -0.8072
549
+
vn 0.2858 -0.5698 -0.7704
550
+
vn 0.5698 -0.7704 -0.2858
551
+
vn 0.5853 -0.8072 -0.0757
552
+
vn 0.5155 -0.6844 -0.5155
553
+
vn 0.5155 -0.5155 -0.6844
554
+
vn 0.0802 -0.0802 -0.9935
555
+
vn 0.3083 -0.0801 -0.9479
556
+
vn 0.3077 -0.3068 -0.9006
557
+
vn 0.0804 -0.3084 -0.9478
558
+
vn 0.5855 -0.0754 -0.8071
559
+
vn 0.5696 -0.2854 -0.7707
560
+
vn 0.8072 -0.0757 -0.5853
561
+
vn 0.7704 -0.2858 -0.5698
562
+
vn 0.6844 -0.5155 -0.5155
563
+
vn 0.9479 -0.3083 -0.0801
564
+
vn 0.9006 -0.3077 -0.3068
565
+
vn 0.9478 -0.0804 -0.3084
566
+
vn 0.8071 -0.5855 -0.0754
567
+
vn 0.7707 -0.5696 -0.2854
568
+
vn 0.9479 0.3083 0.0801
569
+
vn 0.9006 0.3077 0.3068
570
+
vn 0.9478 0.0804 0.3084
571
+
vn 0.8071 0.5855 0.0754
572
+
vn 0.7707 0.5696 0.2854
573
+
vn 0.5853 0.8072 0.0757
574
+
vn 0.5698 0.7704 0.2858
575
+
vn 0.7704 0.2858 0.5698
576
+
vn 0.8072 0.0757 0.5853
577
+
vn 0.6844 0.5155 0.5155
578
+
vn 0.5155 0.6844 0.5155
579
+
vn 0.0801 0.9479 0.3083
580
+
vn 0.3068 0.9006 0.3077
581
+
vn 0.3084 0.9478 0.0804
582
+
vn 0.0754 0.8071 0.5855
583
+
vn 0.2854 0.7707 0.5696
584
+
vn 0.0757 0.5853 0.8072
585
+
vn 0.2858 0.5698 0.7704
586
+
vn 0.5155 0.5155 0.6844
587
+
vn 0.3083 0.0801 0.9479
588
+
vn 0.3077 0.3068 0.9006
589
+
vn 0.0804 0.3084 0.9478
590
+
vn 0.5855 0.0754 0.8071
591
+
vn 0.5696 0.2854 0.7707
592
+
vn 0.9479 -0.0801 0.3083
593
+
vn 0.9006 -0.3068 0.3077
594
+
vn 0.9478 -0.3084 0.0804
595
+
vn 0.8071 -0.0754 0.5855
596
+
vn 0.7707 -0.2854 0.5696
597
+
vn 0.5853 -0.0757 0.8072
598
+
vn 0.5698 -0.2858 0.7704
599
+
vn 0.7704 -0.5698 0.2858
600
+
vn 0.8072 -0.5853 0.0757
601
+
vn 0.6844 -0.5155 0.5155
602
+
vn 0.5155 -0.5155 0.6844
603
+
vn 0.0801 -0.3083 0.9479
604
+
vn 0.3068 -0.3077 0.9006
605
+
vn 0.3084 -0.0804 0.9478
606
+
vn 0.0754 -0.5855 0.8071
607
+
vn 0.2854 -0.5696 0.7707
608
+
vn 0.0757 -0.8072 0.5853
609
+
vn 0.2858 -0.7704 0.5698
610
+
vn 0.5155 -0.6844 0.5155
611
+
vn 0.3083 -0.9479 0.0801
612
+
vn 0.3077 -0.9006 0.3068
613
+
vn 0.0804 -0.9478 0.3084
614
+
vn 0.5855 -0.8071 0.0754
615
+
vn 0.5696 -0.7707 0.2854
616
+
vn -0.0802 0.0802 -0.9935
617
+
vn -0.3083 0.0801 -0.9479
618
+
vn -0.3077 0.3068 -0.9006
619
+
vn -0.0804 0.3084 -0.9478
620
+
vn -0.5855 0.0754 -0.8071
621
+
vn -0.5696 0.2854 -0.7707
622
+
vn -0.8072 0.0757 -0.5853
623
+
vn -0.7704 0.2858 -0.5698
624
+
vn -0.2858 0.5698 -0.7704
625
+
vn -0.0757 0.5853 -0.8072
626
+
vn -0.5155 0.5155 -0.6844
627
+
vn -0.6844 0.5155 -0.5155
628
+
vn -0.9479 0.3083 -0.0801
629
+
vn -0.9006 0.3077 -0.3068
630
+
vn -0.9478 0.0804 -0.3084
631
+
vn -0.8071 0.5855 -0.0754
632
+
vn -0.7707 0.5696 -0.2854
633
+
vn -0.5853 0.8072 -0.0757
634
+
vn -0.5698 0.7704 -0.2858
635
+
vn -0.5155 0.6844 -0.5155
636
+
vn -0.0801 0.9479 -0.3083
637
+
vn -0.3068 0.9006 -0.3077
638
+
vn -0.3084 0.9478 -0.0804
639
+
vn -0.0754 0.8071 -0.5855
640
+
vn -0.2854 0.7707 -0.5696
641
+
vn -0.9479 -0.0801 -0.3083
642
+
vn -0.9006 -0.3068 -0.3077
643
+
vn -0.9478 -0.3084 -0.0804
644
+
vn -0.8071 -0.0754 -0.5855
645
+
vn -0.7707 -0.2854 -0.5696
646
+
vn -0.5853 -0.0757 -0.8072
647
+
vn -0.5698 -0.2858 -0.7704
648
+
vn -0.7704 -0.5698 -0.2858
649
+
vn -0.8072 -0.5853 -0.0757
650
+
vn -0.6844 -0.5155 -0.5155
651
+
vn -0.5155 -0.5155 -0.6844
652
+
vn -0.0802 -0.0802 -0.9935
653
+
vn -0.0801 -0.3083 -0.9479
654
+
vn -0.3068 -0.3077 -0.9006
655
+
vn -0.3084 -0.0804 -0.9478
656
+
vn -0.0754 -0.5855 -0.8071
657
+
vn -0.2854 -0.5696 -0.7707
658
+
vn -0.0757 -0.8072 -0.5853
659
+
vn -0.2858 -0.7704 -0.5698
660
+
vn -0.5155 -0.6844 -0.5155
661
+
vn -0.3083 -0.9479 -0.0801
662
+
vn -0.3077 -0.9006 -0.3068
663
+
vn -0.0804 -0.9478 -0.3084
664
+
vn -0.5855 -0.8071 -0.0754
665
+
vn -0.5696 -0.7707 -0.2854
666
+
vn -0.9479 0.0801 0.3083
667
+
vn -0.9006 0.3068 0.3077
668
+
vn -0.9478 0.3084 0.0804
669
+
vn -0.8071 0.0754 0.5855
670
+
vn -0.7707 0.2854 0.5696
671
+
vn -0.5853 0.0757 0.8072
672
+
vn -0.5698 0.2858 0.7704
673
+
vn -0.7704 0.5698 0.2858
674
+
vn -0.8072 0.5853 0.0757
675
+
vn -0.6844 0.5155 0.5155
676
+
vn -0.5155 0.5155 0.6844
677
+
vn -0.0801 0.3083 0.9479
678
+
vn -0.3068 0.3077 0.9006
679
+
vn -0.3084 0.0804 0.9478
680
+
vn -0.0754 0.5855 0.8071
681
+
vn -0.2854 0.5696 0.7707
682
+
vn -0.0757 0.8072 0.5853
683
+
vn -0.2858 0.7704 0.5698
684
+
vn -0.5155 0.6844 0.5155
685
+
vn -0.3083 0.9479 0.0801
686
+
vn -0.3077 0.9006 0.3068
687
+
vn -0.0804 0.9478 0.3084
688
+
vn -0.5855 0.8071 0.0754
689
+
vn -0.5696 0.7707 0.2854
690
+
vn -0.0801 -0.9479 0.3083
691
+
vn -0.3068 -0.9006 0.3077
692
+
vn -0.3084 -0.9478 0.0804
693
+
vn -0.0754 -0.8071 0.5855
694
+
vn -0.2854 -0.7707 0.5696
695
+
vn -0.0757 -0.5853 0.8072
696
+
vn -0.2858 -0.5698 0.7704
697
+
vn -0.5698 -0.7704 0.2858
698
+
vn -0.5853 -0.8072 0.0757
699
+
vn -0.5155 -0.6844 0.5155
700
+
vn -0.5155 -0.5155 0.6844
701
+
vn -0.3083 -0.0801 0.9479
702
+
vn -0.3077 -0.3068 0.9006
703
+
vn -0.0804 -0.3084 0.9478
704
+
vn -0.5855 -0.0754 0.8071
705
+
vn -0.5696 -0.2854 0.7707
706
+
vn -0.8072 -0.0757 0.5853
707
+
vn -0.7704 -0.2858 0.5698
708
+
vn -0.6844 -0.5155 0.5155
709
+
vn -0.9479 -0.3083 0.0801
710
+
vn -0.9006 -0.3077 0.3068
711
+
vn -0.9478 -0.0804 0.3084
712
+
vn -0.8071 -0.5855 0.0754
713
+
vn -0.7707 -0.5696 0.2854
714
+
usemtl Material.001
715
+
s 1
716
+
f 138/1/1 28/2/2 84/3/3 190/4/4
717
+
f 192/5/5 163/6/6 110/7/7 136/8/8
718
+
f 83/9/9 57/10/10 164/11/11 191/12/12
719
+
f 2/13/13 111/14/14 165/15/15 56/16/16
720
+
f 30/17/17 3/18/18 55/19/19 82/20/20
721
+
f 1/21/21 4/22/22 7/23/23 6/24/24
722
+
f 4/22/22 5/25/25 8/26/26 7/23/23
723
+
f 5/25/25 17/27/27 18/28/28 8/26/26
724
+
f 6/24/24 7/23/23 10/29/29 9/30/30
725
+
f 7/23/23 8/26/26 11/31/31 10/29/29
726
+
f 8/26/26 18/28/28 19/32/32 11/31/31
727
+
f 2/13/13 12/33/33 15/34/34 14/35/35
728
+
f 12/33/33 13/36/36 16/37/37 15/34/34
729
+
f 13/36/36 25/38/38 26/39/39 16/37/37
730
+
f 14/35/35 15/34/34 18/40/28 17/41/27
731
+
f 15/34/34 16/37/37 19/42/32 18/40/28
732
+
f 16/37/37 26/39/39 27/43/40 19/42/32
733
+
f 3/18/18 20/44/41 23/45/42 22/46/43
734
+
f 20/44/41 21/47/44 24/48/45 23/45/42
735
+
f 21/47/44 9/30/30 10/29/29 24/48/45
736
+
f 22/46/43 23/45/42 26/39/39 25/38/38
737
+
f 23/45/42 24/48/45 27/43/40 26/39/39
738
+
f 24/48/45 10/29/29 11/31/31 27/43/40
739
+
f 11/31/31 19/32/32 27/49/40
740
+
f 28/2/2 31/50/46 34/51/47 33/52/48
741
+
f 31/50/46 32/53/49 35/54/50 34/51/47
742
+
f 32/53/49 44/55/51 45/56/52 35/54/50
743
+
f 33/52/48 34/51/47 37/57/53 36/58/54
744
+
f 34/51/47 35/54/50 38/59/55 37/57/53
745
+
f 35/54/50 45/56/52 46/60/56 38/59/55
746
+
f 29/61/57 39/62/58 42/63/59 41/64/60
747
+
f 39/62/58 40/65/61 43/66/62 42/63/59
748
+
f 40/65/61 52/67/63 53/68/64 43/66/62
749
+
f 41/64/60 42/63/59 45/69/52 44/70/51
750
+
f 42/63/59 43/66/62 46/71/56 45/69/52
751
+
f 43/66/62 53/68/64 54/72/65 46/71/56
752
+
f 30/17/17 47/73/66 50/74/67 49/75/68
753
+
f 47/73/66 48/76/69 51/77/70 50/74/67
754
+
f 48/76/69 36/58/54 37/57/53 51/77/70
755
+
f 49/75/68 50/74/67 53/68/64 52/67/63
756
+
f 50/74/67 51/77/70 54/72/65 53/68/64
757
+
f 51/77/70 37/57/53 38/59/55 54/72/65
758
+
f 38/59/55 46/60/56 54/78/65
759
+
f 55/19/19 58/79/71 61/80/72 60/81/73
760
+
f 58/79/71 59/82/74 62/83/75 61/80/72
761
+
f 59/82/74 71/84/76 72/85/77 62/83/75
762
+
f 60/81/73 61/80/72 64/86/78 63/87/79
763
+
f 61/80/72 62/83/75 65/88/80 64/86/78
764
+
f 62/83/75 72/85/77 73/89/81 65/88/80
765
+
f 56/16/16 66/90/82 69/91/83 68/92/84
766
+
f 66/90/82 67/93/85 70/94/86 69/91/83
767
+
f 67/93/85 79/95/87 80/96/88 70/94/86
768
+
f 68/92/84 69/91/83 72/85/77 71/84/76
769
+
f 69/91/83 70/94/86 73/89/81 72/85/77
770
+
f 70/94/86 80/96/88 81/97/89 73/89/81
771
+
f 57/10/10 74/98/90 77/99/91 76/100/92
772
+
f 74/98/90 75/101/93 78/102/94 77/99/91
773
+
f 75/101/93 63/87/79 64/86/78 78/102/94
774
+
f 76/100/92 77/99/91 80/103/88 79/104/87
775
+
f 77/99/91 78/102/94 81/105/89 80/103/88
776
+
f 78/102/94 64/86/78 65/88/80 81/105/89
777
+
f 65/88/80 73/106/81 81/107/89
778
+
f 82/20/20 85/108/95 88/109/96 87/110/97
779
+
f 85/108/95 86/111/98 89/112/99 88/109/96
780
+
f 86/111/98 98/113/100 99/114/101 89/112/99
781
+
f 87/110/97 88/109/96 91/115/102 90/116/103
782
+
f 88/109/96 89/112/99 92/117/104 91/115/102
783
+
f 89/112/99 99/114/101 100/118/105 92/117/104
784
+
f 83/9/9 93/119/106 96/120/107 95/121/108
785
+
f 93/119/106 94/122/109 97/123/110 96/120/107
786
+
f 94/122/109 106/124/111 107/125/112 97/123/110
787
+
f 95/121/108 96/120/107 99/114/101 98/113/100
788
+
f 96/120/107 97/123/110 100/118/105 99/114/101
789
+
f 97/123/110 107/125/112 108/126/113 100/118/105
790
+
f 84/3/3 101/127/114 104/128/115 103/129/116
791
+
f 101/127/114 102/130/117 105/131/118 104/128/115
792
+
f 102/130/117 90/116/103 91/115/102 105/131/118
793
+
f 103/129/116 104/128/115 107/132/112 106/133/111
794
+
f 104/128/115 105/131/118 108/134/113 107/132/112
795
+
f 105/131/118 91/115/102 92/117/104 108/134/113
796
+
f 92/117/104 100/135/105 108/136/113
797
+
f 109/137/119 112/138/120 115/139/121 114/140/122
798
+
f 112/138/120 113/141/123 116/142/124 115/139/121
799
+
f 113/141/123 125/143/125 126/144/126 116/142/124
800
+
f 114/140/122 115/139/121 118/145/127 117/146/128
801
+
f 115/139/121 116/142/124 119/147/129 118/145/127
802
+
f 116/142/124 126/144/126 127/148/130 119/147/129
803
+
f 110/7/7 120/149/131 123/150/132 122/151/133
804
+
f 120/149/131 121/152/134 124/153/135 123/150/132
805
+
f 121/152/134 133/154/136 134/155/137 124/153/135
806
+
f 122/151/133 123/150/132 126/144/126 125/143/125
807
+
f 123/150/132 124/153/135 127/148/130 126/144/126
808
+
f 124/153/135 134/155/137 135/156/138 127/148/130
809
+
f 111/14/14 128/157/139 131/158/140 130/159/141
810
+
f 128/157/139 129/160/142 132/161/143 131/158/140
811
+
f 129/160/142 117/162/128 118/163/127 132/161/143
812
+
f 130/159/141 131/158/140 134/164/137 133/165/136
813
+
f 131/158/140 132/161/143 135/166/138 134/164/137
814
+
f 132/161/143 118/163/127 119/167/129 135/166/138
815
+
f 119/147/129 127/168/130 135/169/138
816
+
f 136/8/8 139/170/144 142/171/145 141/172/146
817
+
f 139/170/144 140/173/147 143/174/148 142/171/145
818
+
f 140/173/147 152/175/149 153/176/150 143/174/148
819
+
f 141/172/146 142/171/145 145/177/151 144/178/152
820
+
f 142/171/145 143/174/148 146/179/153 145/177/151
821
+
f 143/174/148 153/176/150 154/180/154 146/179/153
822
+
f 137/181/155 147/182/156 150/183/157 149/184/158
823
+
f 147/182/156 148/185/159 151/186/160 150/183/157
824
+
f 148/185/159 160/187/161 161/188/162 151/186/160
825
+
f 149/184/158 150/183/157 153/176/150 152/175/149
826
+
f 150/183/157 151/186/160 154/180/154 153/176/150
827
+
f 151/186/160 161/188/162 162/189/163 154/180/154
828
+
f 138/1/1 155/190/164 158/191/165 157/192/166
829
+
f 155/190/164 156/193/167 159/194/168 158/191/165
830
+
f 156/193/167 144/195/152 145/196/151 159/194/168
831
+
f 157/192/166 158/191/165 161/197/162 160/198/161
832
+
f 158/191/165 159/194/168 162/199/163 161/197/162
833
+
f 159/194/168 145/196/151 146/200/153 162/199/163
834
+
f 146/179/153 154/201/154 162/202/163
835
+
f 163/6/6 166/203/169 169/204/170 168/205/171
836
+
f 166/203/169 167/206/172 170/207/173 169/204/170
837
+
f 167/206/172 179/208/174 180/209/175 170/207/173
838
+
f 168/205/171 169/204/170 172/210/176 171/211/177
839
+
f 169/204/170 170/207/173 173/212/178 172/210/176
840
+
f 170/207/173 180/209/175 181/213/179 173/212/178
841
+
f 164/11/11 174/214/180 177/215/181 176/216/182
842
+
f 174/214/180 175/217/183 178/218/184 177/215/181
843
+
f 175/217/183 187/219/185 188/220/186 178/218/184
844
+
f 176/216/182 177/215/181 180/221/175 179/222/174
845
+
f 177/215/181 178/218/184 181/223/179 180/221/175
846
+
f 178/218/184 188/220/186 189/224/187 181/223/179
847
+
f 165/15/15 182/225/188 185/226/189 184/227/190
848
+
f 182/225/188 183/228/191 186/229/192 185/226/189
849
+
f 183/228/191 171/230/177 172/231/176 186/229/192
850
+
f 184/227/190 185/226/189 188/232/186 187/233/185
851
+
f 185/226/189 186/229/192 189/234/187 188/232/186
852
+
f 186/229/192 172/231/176 173/235/178 189/234/187
853
+
f 173/212/178 181/213/179 189/236/187
854
+
f 190/4/4 193/237/193 196/238/194 195/239/195
855
+
f 193/237/193 194/240/196 197/241/197 196/238/194
856
+
f 194/240/196 206/242/198 207/243/199 197/241/197
857
+
f 195/239/195 196/238/194 199/244/200 198/245/201
858
+
f 196/238/194 197/241/197 200/246/202 199/244/200
859
+
f 197/241/197 207/243/199 208/247/203 200/246/202
860
+
f 191/12/12 201/248/204 204/249/205 203/250/206
861
+
f 201/248/204 202/251/207 205/252/208 204/249/205
862
+
f 202/251/207 214/253/209 215/254/210 205/252/208
863
+
f 203/250/206 204/249/205 207/255/199 206/256/198
864
+
f 204/249/205 205/252/208 208/257/203 207/255/199
865
+
f 205/252/208 215/254/210 216/258/211 208/257/203
866
+
f 192/5/5 209/259/212 212/260/213 211/261/214
867
+
f 209/259/212 210/262/215 213/263/216 212/260/213
868
+
f 210/262/215 198/264/201 199/265/200 213/263/216
869
+
f 211/261/214 212/260/213 215/266/210 214/267/209
870
+
f 212/260/213 213/263/216 216/268/211 215/266/210
871
+
f 213/263/216 199/265/200 200/269/202 216/268/211
872
+
f 200/246/202 208/247/203 216/270/211
873
+
f 138/1/1 190/4/4 195/239/195 155/190/164
874
+
f 155/190/164 195/239/195 198/245/201 156/193/167
875
+
f 156/193/167 198/245/201 210/271/215 144/195/152
876
+
f 144/178/152 210/262/215 209/259/212 141/172/146
877
+
f 141/172/146 209/259/212 192/5/5 136/8/8
878
+
f 28/2/2 138/1/1 157/192/166 31/50/46
879
+
f 31/50/46 157/192/166 160/198/161 32/53/49
880
+
f 32/53/49 160/198/161 148/272/159 44/55/51
881
+
f 44/70/51 148/185/159 147/182/156 41/64/60
882
+
f 41/64/60 147/182/156 137/181/155 29/61/57
883
+
f 3/18/18 30/17/17 49/75/68 20/44/41
884
+
f 20/44/41 49/75/68 52/67/63 21/47/44
885
+
f 21/47/44 52/67/63 40/65/61 9/30/30
886
+
f 9/30/30 40/65/61 39/62/58 6/24/24
887
+
f 6/24/24 39/62/58 29/61/57 1/21/21
888
+
f 191/12/12 164/11/11 176/216/182 201/248/204
889
+
f 201/248/204 176/216/182 179/222/174 202/251/207
890
+
f 202/251/207 179/222/174 167/273/172 214/253/209
891
+
f 214/267/209 167/206/172 166/203/169 211/261/214
892
+
f 211/261/214 166/203/169 163/6/6 192/5/5
893
+
f 57/10/10 83/9/9 95/121/108 74/98/90
894
+
f 74/98/90 95/121/108 98/113/100 75/101/93
895
+
f 75/101/93 98/113/100 86/111/98 63/87/79
896
+
f 63/87/79 86/111/98 85/108/95 60/81/73
897
+
f 60/81/73 85/108/95 82/20/20 55/19/19
898
+
f 109/137/119 137/181/155 149/184/158 112/138/120
899
+
f 112/138/120 149/184/158 152/175/149 113/141/123
900
+
f 113/141/123 152/175/149 140/173/147 125/143/125
901
+
f 125/143/125 140/173/147 139/170/144 122/151/133
902
+
f 122/151/133 139/170/144 136/8/8 110/7/7
903
+
f 56/16/16 165/15/15 184/227/190 66/90/82
904
+
f 66/90/82 184/227/190 187/233/185 67/93/85
905
+
f 67/93/85 187/233/185 175/274/183 79/95/87
906
+
f 79/104/87 175/217/183 174/214/180 76/100/92
907
+
f 76/100/92 174/214/180 164/11/11 57/10/10
908
+
f 2/13/13 56/16/16 68/92/84 12/33/33
909
+
f 12/33/33 68/92/84 71/84/76 13/36/36
910
+
f 13/36/36 71/84/76 59/82/74 25/38/38
911
+
f 25/38/38 59/82/74 58/79/71 22/46/43
912
+
f 22/46/43 58/79/71 55/19/19 3/18/18
913
+
f 190/4/4 84/3/3 103/129/116 193/237/193
914
+
f 193/237/193 103/129/116 106/133/111 194/240/196
915
+
f 194/240/196 106/133/111 94/275/109 206/242/198
916
+
f 206/256/198 94/122/109 93/119/106 203/250/206
917
+
f 203/250/206 93/119/106 83/9/9 191/12/12
918
+
f 165/15/15 111/14/14 130/159/141 182/225/188
919
+
f 182/225/188 130/159/141 133/165/136 183/228/191
920
+
f 183/228/191 133/165/136 121/276/134 171/230/177
921
+
f 171/211/177 121/152/134 120/149/131 168/205/171
922
+
f 168/205/171 120/149/131 110/7/7 163/6/6
923
+
f 111/14/14 2/13/13 14/35/35 128/157/139
924
+
f 128/157/139 14/35/35 17/41/27 129/160/142
925
+
f 129/160/142 17/41/27 5/277/25 117/162/128
926
+
f 117/146/128 5/25/25 4/22/22 114/140/122
927
+
f 114/140/122 4/22/22 1/21/21 109/137/119
928
+
f 84/3/3 28/2/2 33/52/48 101/127/114
929
+
f 101/127/114 33/52/48 36/58/54 102/130/117
930
+
f 102/130/117 36/58/54 48/76/69 90/116/103
931
+
f 90/116/103 48/76/69 47/73/66 87/110/97
932
+
f 87/110/97 47/73/66 30/17/17 82/20/20
933
+
f 137/181/155 109/137/119 1/21/21 29/61/57
+4
-58
src/lib.rs
+4
-58
src/lib.rs
···
2
2
3
3
mod camera;
4
4
mod texture;
5
+
mod model;
6
+
mod resources;
5
7
8
+
use model::Vertex;
6
9
use wgpu::util::DeviceExt;
7
10
use winit::{
8
11
event::*,
···
13
16
14
17
#[cfg(target_arch = "wasm32")]
15
18
use wasm_bindgen::prelude::*;
16
-
17
-
#[repr(C)]
18
-
#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
19
-
struct Vertex {
20
-
position: [f32; 3],
21
-
tex_coords: [f32; 2],
22
-
}
23
-
24
-
impl Vertex {
25
-
fn desc() -> wgpu::VertexBufferLayout<'static> {
26
-
wgpu::VertexBufferLayout {
27
-
array_stride: std::mem::size_of::<Vertex>() as wgpu::BufferAddress,
28
-
step_mode: wgpu::VertexStepMode::Vertex,
29
-
attributes: &[
30
-
wgpu::VertexAttribute {
31
-
offset: 0,
32
-
shader_location: 0,
33
-
format: wgpu::VertexFormat::Float32x3,
34
-
},
35
-
wgpu::VertexAttribute {
36
-
offset: std::mem::size_of::<[f32; 3]>() as wgpu::BufferAddress,
37
-
shader_location: 1,
38
-
format: wgpu::VertexFormat::Float32x2,
39
-
},
40
-
],
41
-
}
42
-
}
43
-
}
44
-
45
-
const VERTICES: &[Vertex] = &[
46
-
Vertex {
47
-
position: [-0.0868241, 0.49240386, 0.0],
48
-
tex_coords: [0.4131759, 0.00759614],
49
-
}, // A
50
-
Vertex {
51
-
position: [-0.49513406, 0.06958647, 0.0],
52
-
tex_coords: [0.0048659444, 0.43041354],
53
-
}, // B
54
-
Vertex {
55
-
position: [-0.21918549, -0.44939706, 0.0],
56
-
tex_coords: [0.28081453, 0.949397],
57
-
}, // C
58
-
Vertex {
59
-
position: [0.35966998, -0.3473291, 0.0],
60
-
tex_coords: [0.85967, 0.84732914],
61
-
}, // D
62
-
Vertex {
63
-
position: [0.44147372, 0.2347359, 0.0],
64
-
tex_coords: [0.9414737, 0.2652641],
65
-
}, // E
66
-
];
67
19
68
20
const INDICES: &[u16] = &[0, 1, 4, 1, 2, 4, 2, 3, 4];
69
21
···
136
88
config: wgpu::SurfaceConfiguration,
137
89
size: winit::dpi::PhysicalSize<u32>,
138
90
render_pipeline: wgpu::RenderPipeline,
139
-
vertex_buffer: wgpu::Buffer,
140
-
index_buffer: wgpu::Buffer,
141
-
num_indices: u32,
142
91
diffuse_bind_group: wgpu::BindGroup,
143
92
diffuse_texture: texture::Texture,
144
93
depth_texture: texture::Texture,
···
371
320
vertex: wgpu::VertexState {
372
321
module: &shader,
373
322
entry_point: "vs_main",
374
-
buffers: &[Vertex::desc(), InstanceRaw::desc()],
323
+
buffers: &[model::ModelVertex::desc(), InstanceRaw::desc()],
375
324
compilation_options: wgpu::PipelineCompilationOptions::default(),
376
325
},
377
326
fragment: Some(wgpu::FragmentState {
···
431
380
config,
432
381
size,
433
382
render_pipeline,
434
-
vertex_buffer,
435
-
index_buffer,
436
-
num_indices,
437
383
diffuse_bind_group,
438
384
diffuse_texture,
439
385
camera,
+39
src/model.rs
+39
src/model.rs
···
1
+
pub trait Vertex {
2
+
fn desc() -> wgpu::VertexBufferLayout<'static>;
3
+
}
4
+
5
+
#[repr(C)]
6
+
#[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
7
+
pub struct ModelVertex {
8
+
pub position: [f32; 3],
9
+
pub tex_coords: [f32; 2],
10
+
pub normal: [f32; 3],
11
+
}
12
+
13
+
impl Vertex for ModelVertex {
14
+
fn desc() -> wgpu::VertexBufferLayout<'static> {
15
+
use std::mem;
16
+
17
+
wgpu::VertexBufferLayout {
18
+
array_stride: mem::size_of::<ModelVertex>() as wgpu::BufferAddress,
19
+
step_mode: wgpu::VertexStepMode::Vertex,
20
+
attributes: &[
21
+
wgpu::VertexAttribute {
22
+
offset: 0,
23
+
shader_location: 0,
24
+
format: wgpu::VertexFormat::Float32x3,
25
+
},
26
+
wgpu::VertexAttribute {
27
+
offset: mem::size_of::<[f32; 3]>() as wgpu::BufferAddress,
28
+
shader_location: 1,
29
+
format: wgpu::VertexFormat::Float32x2,
30
+
},
31
+
wgpu::VertexAttribute {
32
+
offset: mem::size_of::<[f32; 5]>() as wgpu::BufferAddress,
33
+
shader_location: 2,
34
+
format: wgpu::VertexFormat::Float32x3,
35
+
},
36
+
]
37
+
}
38
+
}
39
+
}
+19
src/resources.rs
+19
src/resources.rs
···
1
+
2
+
3
+
#[cfg(target_arch = "wasm32")]
4
+
fn format_url(file_name: &str) -> reqwest::Url {
5
+
let window = web_sys::window().unwrap();
6
+
let location = window.location();
7
+
let mut origin = location.origin().unwrap();
8
+
if !origin.ends_with("learn-wgpu") {
9
+
origin = format!("{}/learn-wgpu", origin);
10
+
}
11
+
let base = reqwest::Url::parse(&format!("{}/", origin)).unwrap();
12
+
base.join(file_name).unwrap()
13
+
}
14
+
15
+
pub async fn load_string(file_name: &str) -> Result<String, Box<dyn Error>> {
16
+
cfg_if! {
17
+
if #[c]
18
+
}
19
+
}