]> gitweb.factorcode.org Git - factor.git/commitdiff
raylib.demo.mesh-picking: Implement official mesh picking example
authortimor <timor.dd@googlemail.com>
Sun, 23 May 2021 12:28:05 +0000 (14:28 +0200)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 23 May 2021 22:54:17 +0000 (15:54 -0700)
WIP

squash! WIP

extra/raylib/demo/mesh-picking/_resources/turret.obj [new file with mode: 0644]
extra/raylib/demo/mesh-picking/_resources/turret_diffuse.png [new file with mode: 0644]
extra/raylib/demo/mesh-picking/mesh-picking.factor [new file with mode: 0644]
extra/raylib/demo/mesh-picking/resources.txt [new file with mode: 0644]
extra/raylib/demo/mesh-picking/tags.txt [new file with mode: 0644]

diff --git a/extra/raylib/demo/mesh-picking/_resources/turret.obj b/extra/raylib/demo/mesh-picking/_resources/turret.obj
new file mode 100644 (file)
index 0000000..bf7caac
--- /dev/null
@@ -0,0 +1,1888 @@
+# (c) 2018 Medieval Assets Pack by Alberto Cano
+# Licensed as Creative Commons Attribution-NonCommercial 4.0
+
+#
+# object turret
+#
+
+v  0.0000 13.3010 3.5973
+v  0.0000 12.1596 2.3386
+v  2.5639 12.1596 2.3386
+v  3.4913 13.3010 3.5973
+v  3.5203 14.0462 3.0738
+v  3.9444 14.0450 3.1421
+v  3.9444 14.0369 -0.0000
+v  3.4351 14.0369 -0.0000
+v  3.4352 14.0462 2.9719
+v  3.3643 13.3303 2.9127
+v  0.0000 13.3303 2.9127
+v  0.0000 13.3010 2.9740
+v  3.4352 13.3010 2.9740
+v  0.0000 14.0462 2.9719
+v  3.9444 13.2918 -0.0000
+v  3.9444 13.2998 3.1441
+v  3.4913 14.0462 3.5952
+v  3.3643 13.3303 -0.0000
+v  0.0000 13.3303 -0.0000
+v  0.0000 14.0462 3.5952
+v  2.5639 12.1504 -0.0000
+v  3.4352 13.2918 -0.0000
+v  3.5237 14.9316 3.0740
+v  3.9478 14.9305 3.1422
+v  3.4947 14.9316 3.5953
+v  3.5271 16.4764 1.4274
+v  3.9512 16.4752 1.4274
+v  3.9512 15.9080 2.0774
+v  3.5271 15.9092 2.0092
+v  1.8327 16.4815 3.5953
+v  1.8617 16.4815 3.0742
+v  2.5117 15.9086 3.0742
+v  2.4725 15.9086 3.5953
+v  3.9512 16.4757 3.1424
+v  3.4981 16.4769 3.5955
+v  3.5271 16.4769 3.0742
+v  2.5639 12.1596 -2.3386
+v  0.0000 12.1596 -2.3386
+v  0.0000 13.3010 -3.5973
+v  3.4913 13.3010 -3.5973
+v  3.5203 14.0462 -3.0738
+v  3.4351 14.0462 -2.9720
+v  3.9444 14.0450 -3.1421
+v  0.0000 13.3010 -2.9740
+v  0.0000 13.3303 -2.9127
+v  3.3643 13.3303 -2.9127
+v  3.4352 13.3010 -2.9740
+v  0.0000 14.0462 -2.9719
+v  3.9444 13.2998 -3.1441
+v  3.4913 14.0462 -3.5952
+v  0.0000 14.0462 -3.5952
+v  3.9478 14.9305 -3.1422
+v  3.5237 14.9316 -3.0740
+v  3.4947 14.9316 -3.5953
+v  3.9512 15.9080 -2.0774
+v  3.9512 16.4752 -1.4274
+v  3.5271 16.4764 -1.4274
+v  3.5271 15.9092 -2.0092
+v  2.5117 15.9086 -3.0742
+v  1.8617 16.4815 -3.0742
+v  1.8327 16.4815 -3.5954
+v  2.4725 15.9086 -3.5953
+v  3.4981 16.4769 -3.5955
+v  3.9512 16.4757 -3.1424
+v  3.5271 16.4769 -3.0742
+v  -2.5639 12.1596 2.3386
+v  -3.4913 13.3010 3.5973
+v  -3.5203 14.0462 3.0738
+v  -3.4351 14.0462 2.9720
+v  -3.4351 14.0369 0.0000
+v  -3.9444 14.0369 0.0000
+v  -3.9444 14.0450 3.1421
+v  -3.3643 13.3303 2.9127
+v  -3.4351 13.3010 2.9740
+v  -3.9444 13.2918 0.0000
+v  -3.9444 13.2998 3.1441
+v  -3.4913 14.0462 3.5952
+v  -3.3643 13.3303 0.0000
+v  -2.5639 12.1504 0.0000
+v  -3.4351 13.2918 0.0000
+v  -3.9478 14.9305 3.1422
+v  -3.5237 14.9316 3.0740
+v  -3.4947 14.9316 3.5954
+v  -3.9512 15.9080 2.0774
+v  -3.9512 16.4752 1.4274
+v  -3.5271 16.4764 1.4274
+v  -3.5271 15.9092 2.0092
+v  -2.5117 15.9086 3.0742
+v  -1.8617 16.4815 3.0742
+v  -1.8327 16.4815 3.5954
+v  -2.4725 15.9086 3.5953
+v  -3.4981 16.4769 3.5955
+v  -3.9512 16.4757 3.1424
+v  -3.5271 16.4769 3.0742
+v  -2.5639 12.1596 -2.3386
+v  -3.4913 13.3010 -3.5972
+v  -3.5203 14.0462 -3.0738
+v  -3.9444 14.0450 -3.1421
+v  -3.4351 14.0462 -2.9719
+v  -3.3643 13.3303 -2.9127
+v  -3.4351 13.3010 -2.9740
+v  -3.9444 13.2998 -3.1441
+v  -3.4913 14.0462 -3.5952
+v  -3.5237 14.9316 -3.0740
+v  -3.9478 14.9305 -3.1422
+v  -3.4947 14.9316 -3.5953
+v  -3.5271 16.4764 -1.4274
+v  -3.9512 16.4752 -1.4274
+v  -3.9512 15.9080 -2.0774
+v  -3.5271 15.9092 -2.0092
+v  -1.8327 16.4815 -3.5953
+v  -1.8617 16.4815 -3.0742
+v  -2.5117 15.9086 -3.0742
+v  -2.4725 15.9086 -3.5953
+v  -3.9512 16.4757 -3.1424
+v  -3.4981 16.4769 -3.5955
+v  -3.5271 16.4769 -3.0742
+v  0.1550 14.0277 -3.1544
+v  0.1550 14.0277 -3.5335
+v  0.1550 16.9018 -3.5335
+v  0.1550 16.9018 -3.1544
+v  -0.5341 14.0277 -3.5335
+v  -0.5341 16.9018 -3.5335
+v  -0.5341 14.0277 -3.1544
+v  -0.5341 16.9018 -3.1544
+v  -3.5170 14.0277 -0.3456
+v  -3.8961 14.0277 -0.3456
+v  -3.8961 16.9018 -0.3456
+v  -3.5170 16.9018 -0.3456
+v  -3.8961 14.0277 0.3435
+v  -3.8961 16.9018 0.3435
+v  -3.5170 14.0277 0.3435
+v  -3.5170 16.9018 0.3435
+v  -0.3446 14.0277 3.1662
+v  -0.3446 14.0277 3.5453
+v  -0.3446 16.9018 3.5453
+v  -0.3446 16.9018 3.1662
+v  0.3445 14.0277 3.5453
+v  0.3445 16.9018 3.5453
+v  0.3445 14.0277 3.1662
+v  0.3445 16.9018 3.1662
+v  3.5160 14.0277 0.3435
+v  3.8951 14.0277 0.3435
+v  3.8951 16.9018 0.3435
+v  3.5160 16.9018 0.3435
+v  3.8951 14.0277 -0.3456
+v  3.8951 16.9018 -0.3456
+v  3.5160 14.0277 -0.3456
+v  3.5160 16.9018 -0.3456
+v  0.0000 8.6187 2.3766
+v  0.4715 8.6467 2.3766
+v  0.4598 9.7167 2.3896
+v  -0.0117 10.0591 2.3896
+v  0.8403 8.5183 2.4160
+v  0.8403 8.5183 2.3077
+v  0.8403 8.6724 2.3077
+v  0.8403 8.6724 2.4160
+v  0.7068 9.8138 2.4290
+v  0.7068 9.8138 2.3207
+v  -0.0117 10.3117 2.3207
+v  -0.0117 10.3117 2.4290
+v  -0.8403 8.6724 2.4160
+v  -0.8403 8.6724 2.3077
+v  -0.8403 8.5183 2.3077
+v  -0.8403 8.5183 2.4160
+v  -0.7186 8.5183 2.4160
+v  -0.7186 8.5183 2.3077
+v  -0.0000 8.4646 2.3077
+v  -0.0000 8.4646 2.4160
+v  0.7185 8.5183 2.5347
+v  0.7185 8.6724 2.5347
+v  0.4715 8.6467 2.5347
+v  0.4598 9.7167 2.4290
+v  -0.0117 10.0591 2.4290
+v  -0.7186 8.6724 2.5347
+v  -0.7186 8.5183 2.5347
+v  -0.4715 8.6567 2.5347
+v  -0.0000 8.4646 2.5347
+v  -0.0000 8.6187 2.5347
+v  -0.4833 9.7167 2.3896
+v  -0.4715 8.6567 2.3766
+v  -0.7303 9.8138 2.3207
+v  -0.7302 9.8138 2.4290
+v  0.7185 8.5183 2.3077
+v  0.7185 8.5183 2.4160
+v  -0.4832 9.7167 2.4290
+v  0.4715 8.6467 2.4160
+v  -0.4716 8.6567 2.4160
+v  -0.0000 8.6187 2.4160
+v  -0.7186 8.6724 2.4160
+v  -0.7186 8.6724 2.3077
+v  0.7185 8.6724 2.4160
+v  0.7185 8.6724 2.3077
+v  0.8403 8.5183 2.5347
+v  0.8403 8.6724 2.5347
+v  -0.8403 8.6724 2.5347
+v  -0.8403 8.5183 2.5347
+v  2.6080 8.6187 -0.0010
+v  2.6080 8.6467 -0.4725
+v  2.6210 9.7167 -0.4608
+v  2.6210 10.0591 0.0107
+v  2.6474 8.5183 -0.8413
+v  2.5392 8.5183 -0.8413
+v  2.5392 8.6724 -0.8413
+v  2.6474 8.6724 -0.8413
+v  2.6604 9.8138 -0.7079
+v  2.5522 9.8138 -0.7078
+v  2.5522 10.3117 0.0107
+v  2.6604 10.3117 0.0107
+v  2.6474 8.6724 0.8393
+v  2.5392 8.6724 0.8393
+v  2.5392 8.5183 0.8393
+v  2.6474 8.5183 0.8393
+v  2.6474 8.5183 0.7175
+v  2.5392 8.5183 0.7175
+v  2.5392 8.4646 -0.0010
+v  2.6474 8.4646 -0.0010
+v  2.7661 8.5183 -0.7195
+v  2.7661 8.6724 -0.7195
+v  2.7661 8.6467 -0.4725
+v  2.6604 9.7167 -0.4609
+v  2.6604 10.0591 0.0107
+v  2.7661 8.6724 0.7175
+v  2.7661 8.5183 0.7175
+v  2.7661 8.6567 0.4705
+v  2.7661 8.4646 -0.0010
+v  2.7661 8.6187 -0.0010
+v  2.6210 9.7167 0.4822
+v  2.6080 8.6567 0.4705
+v  2.5522 9.8138 0.7292
+v  2.6604 9.8138 0.7292
+v  2.5392 8.5183 -0.7196
+v  2.6474 8.5183 -0.7195
+v  2.6604 9.7167 0.4822
+v  2.6474 8.6467 -0.4725
+v  2.6474 8.6567 0.4705
+v  2.6474 8.6187 -0.0010
+v  2.6474 8.6724 0.7175
+v  2.5392 8.6724 0.7175
+v  2.6474 8.6724 -0.7195
+v  2.5392 8.6724 -0.7196
+v  2.7661 8.5183 -0.8413
+v  2.7661 8.6724 -0.8413
+v  2.7661 8.6724 0.8393
+v  2.7661 8.5183 0.8393
+v  -2.6159 8.6187 -0.0010
+v  -2.6159 8.6467 0.4705
+v  -2.6289 9.7167 0.4588
+v  -2.6289 10.0591 -0.0127
+v  -2.6553 8.5183 0.8393
+v  -2.5470 8.5183 0.8393
+v  -2.5470 8.6724 0.8393
+v  -2.6553 8.6724 0.8393
+v  -2.6683 9.8138 0.7058
+v  -2.5600 9.8138 0.7058
+v  -2.5600 10.3117 -0.0127
+v  -2.6683 10.3117 -0.0127
+v  -2.6553 8.6724 -0.8413
+v  -2.5470 8.6724 -0.8413
+v  -2.5470 8.5183 -0.8413
+v  -2.6553 8.5183 -0.8413
+v  -2.6553 8.5183 -0.7195
+v  -2.5470 8.5183 -0.7195
+v  -2.5470 8.4646 -0.0010
+v  -2.6553 8.4646 -0.0010
+v  -2.7740 8.5183 0.7175
+v  -2.7740 8.6724 0.7175
+v  -2.7740 8.6467 0.4705
+v  -2.6683 9.7167 0.4589
+v  -2.6683 10.0591 -0.0127
+v  -2.7740 8.6724 -0.7195
+v  -2.7740 8.5183 -0.7195
+v  -2.7740 8.6567 -0.4725
+v  -2.7740 8.4646 -0.0010
+v  -2.7740 8.6187 -0.0010
+v  -2.6289 9.7167 -0.4843
+v  -2.6159 8.6567 -0.4725
+v  -2.5600 9.8138 -0.7312
+v  -2.6683 9.8138 -0.7312
+v  -2.5470 8.5183 0.7175
+v  -2.6553 8.5183 0.7175
+v  -2.6683 9.7167 -0.4842
+v  -2.6553 8.6467 0.4705
+v  -2.6553 8.6567 -0.4725
+v  -2.6553 8.6187 -0.0010
+v  -2.6553 8.6724 -0.7195
+v  -2.5470 8.6724 -0.7195
+v  -2.6553 8.6724 0.7175
+v  -2.5470 8.6724 0.7175
+v  -2.7740 8.5183 0.8393
+v  -2.7740 8.6724 0.8393
+v  -2.7740 8.6724 -0.8413
+v  -2.7740 8.5183 -0.8413
+v  -2.5639 0.0000 -2.3386
+v  -2.5639 0.0000 2.3365
+v  -2.5639 12.1411 2.3365
+v  2.5639 -0.0000 2.3365
+v  2.5639 12.1411 2.3365
+v  2.5639 -0.0000 -2.3386
+v  -3.3222 12.8680 -0.0010
+v  -3.3222 12.8680 -2.9994
+v  -3.3222 11.9932 -2.9994
+v  -3.3222 11.8321 -0.0010
+v  -0.0000 12.8680 2.9974
+v  -3.3222 12.8680 2.9974
+v  -3.3222 11.9932 2.9974
+v  -0.0000 11.8320 2.9974
+v  3.3221 12.8680 -0.0010
+v  3.3221 12.8680 2.9974
+v  3.3221 11.9932 2.9974
+v  3.3221 11.8320 -0.0010
+v  -0.0000 12.8680 -2.9994
+v  3.3221 12.8680 -2.9994
+v  3.3221 11.9932 -2.9994
+v  -0.0000 11.8320 -2.9994
+v  -2.5639 11.9932 -2.3386
+v  -0.0000 11.8320 -2.3386
+v  2.5639 11.9932 -2.3386
+v  2.5639 11.8321 -0.0010
+v  2.5639 11.9932 2.3365
+v  -0.0000 11.8321 2.3365
+v  -2.5639 11.9932 2.3365
+v  -2.5639 11.8321 -0.0010
+v  -2.5639 12.8680 -2.3386
+v  -2.5639 12.8680 -0.0010
+v  -2.5639 12.8680 2.3365
+v  -0.0000 12.8680 2.3365
+v  2.5639 12.8680 2.3365
+v  2.5639 12.8680 -0.0010
+v  2.5639 12.8680 -2.3386
+v  -0.0000 12.8680 -2.3386
+v  -3.3222 6.6605 -0.0010
+v  -3.3222 6.6605 -2.9994
+v  -3.3222 5.7858 -2.9994
+v  -3.3222 5.6246 -0.0010
+v  -0.0000 6.6605 2.9974
+v  -3.3222 6.6605 2.9974
+v  -3.3222 5.7858 2.9974
+v  -0.0000 5.6246 2.9974
+v  3.3221 6.6605 -0.0010
+v  3.3221 6.6605 2.9974
+v  3.3221 5.7858 2.9974
+v  3.3221 5.6246 -0.0010
+v  -0.0000 6.6605 -2.9994
+v  3.3221 6.6605 -2.9994
+v  3.3221 5.7858 -2.9994
+v  -0.0000 5.6246 -2.9994
+v  -2.5639 5.7858 -2.3386
+v  -0.0000 5.6246 -2.3386
+v  2.5639 5.7858 -2.3386
+v  2.5639 5.6246 -0.0010
+v  2.5639 5.7858 2.3365
+v  -0.0000 5.6246 2.3365
+v  -2.5639 5.7858 2.3365
+v  -2.5639 5.6246 -0.0010
+v  -2.5639 6.6605 -2.3386
+v  -2.5639 6.6605 -0.0010
+v  -2.5639 6.6605 2.3365
+v  -0.0000 6.6605 2.3365
+v  2.5639 6.6605 2.3365
+v  2.5639 6.6605 -0.0010
+v  2.5639 6.6605 -2.3386
+v  -0.0000 6.6605 -2.3386
+v  -2.6103 9.3882 2.4561
+v  -2.6767 9.3882 1.9558
+v  -2.9138 6.4859 1.8341
+v  -2.9138 6.4859 2.7406
+v  -2.9138 12.2904 1.8341
+v  -2.9138 12.2904 2.7406
+v  -1.9967 6.4859 2.7406
+v  -2.0923 9.3882 2.4561
+v  -1.9967 11.6821 2.7406
+v  -1.9967 6.4859 1.8341
+v  -2.1587 9.3882 1.9558
+v  -1.9967 11.6821 1.8341
+v  -2.6103 9.4353 -2.4582
+v  -2.9138 6.5331 -2.7426
+v  -2.9138 6.5331 -1.8362
+v  -2.6767 9.4353 -1.9578
+v  -2.9138 12.3375 -1.8362
+v  -2.9138 12.3375 -2.7426
+v  -2.0923 9.4353 -2.4581
+v  -1.9967 6.5331 -2.7426
+v  -1.9967 11.7293 -2.7426
+v  -2.1587 9.4353 -1.9578
+v  -1.9967 6.5331 -1.8362
+v  -1.9967 11.7293 -1.8362
+v  -2.6103 2.9022 -2.4582
+v  -2.9138 0.0000 -2.7426
+v  -2.9138 0.0000 -1.8362
+v  -2.6767 2.9022 -1.9578
+v  -2.9138 5.8044 -1.8362
+v  -2.9138 5.8044 -2.7426
+v  -2.0923 2.9022 -2.4581
+v  -1.9967 0.0000 -2.7426
+v  -1.9967 6.4231 -2.7426
+v  -2.1587 2.9022 -1.9578
+v  -1.9967 0.0000 -1.8362
+v  -1.9967 6.4231 -1.8362
+v  2.6103 9.4517 2.4561
+v  2.9138 6.5495 2.7406
+v  2.9138 6.5495 1.8341
+v  2.6767 9.4517 1.9558
+v  2.9138 12.3539 1.8341
+v  2.9138 12.3539 2.7406
+v  2.0923 9.4517 2.4561
+v  1.9967 6.5495 2.7406
+v  1.9967 11.7456 2.7406
+v  2.1587 9.4517 1.9558
+v  1.9967 6.5495 1.8341
+v  1.9967 11.7456 1.8341
+v  2.6103 2.9022 -2.4581
+v  2.6767 2.9022 -1.9578
+v  2.9138 -0.0000 -1.8362
+v  2.9138 -0.0000 -2.7426
+v  2.9138 5.8044 -1.8362
+v  2.9138 5.8044 -2.7426
+v  1.9967 -0.0000 -2.7426
+v  2.0923 2.9022 -2.4581
+v  1.9967 6.4231 -2.7426
+v  1.9967 -0.0000 -1.8362
+v  2.1587 2.9022 -1.9578
+v  1.9967 6.4231 -1.8362
+v  2.6103 9.4353 -2.4582
+v  2.6767 9.4353 -1.9578
+v  2.9138 6.5331 -1.8362
+v  2.9138 6.5331 -2.7427
+v  2.9138 12.3375 -1.8362
+v  2.9138 12.3375 -2.7427
+v  1.9967 6.5331 -2.7427
+v  2.0923 9.4353 -2.4581
+v  1.9967 11.7293 -2.7427
+v  1.9967 6.5331 -1.8362
+v  2.1587 9.4353 -1.9578
+v  1.9967 11.7293 -1.8362
+v  2.6103 2.9022 2.4561
+v  2.9138 -0.0000 2.7406
+v  2.9138 -0.0000 1.8341
+v  2.6767 2.9022 1.9558
+v  2.9138 5.8044 1.8341
+v  2.9138 5.8044 2.7406
+v  2.0923 2.9022 2.4561
+v  1.9967 -0.0000 2.7406
+v  1.9967 6.4231 2.7406
+v  2.1587 2.9022 1.9558
+v  1.9967 -0.0000 1.8341
+v  1.9967 6.4231 1.8341
+v  -2.6103 2.9022 2.4561
+v  -2.6767 2.9022 1.9558
+v  -2.9138 0.0000 1.8341
+v  -2.9138 0.0000 2.7406
+v  -2.9138 5.8044 1.8341
+v  -2.9138 5.8044 2.7406
+v  -1.9967 0.0000 2.7406
+v  -2.0923 2.9022 2.4561
+v  -1.9967 6.4231 2.7406
+v  -1.9967 0.0000 1.8341
+v  -2.1587 2.9022 1.9558
+v  -1.9967 6.4231 1.8341
+v  -1.5453 5.6703 -3.5469
+v  -1.5453 7.5835 -3.4309
+v  -0.7727 7.5835 -3.4309
+v  -0.7727 4.7854 -3.5469
+v  -1.5453 9.4968 -3.2987
+v  -0.7727 9.4968 -3.2987
+v  -1.5453 11.4101 -3.3804
+v  -0.7727 11.4101 -3.3804
+v  -1.5453 13.3234 -3.5469
+v  -0.7727 13.3234 -3.5469
+v  -0.0000 7.5835 -3.4309
+v  -0.0000 4.2830 -3.5469
+v  -0.0000 9.4968 -3.2987
+v  -0.0000 11.4101 -3.3804
+v  -0.0000 13.3234 -3.5469
+v  0.7726 7.5835 -3.4309
+v  0.7726 4.7854 -3.5469
+v  0.7726 9.4968 -3.2987
+v  0.7726 11.4101 -3.3804
+v  0.7726 13.3234 -3.5469
+v  1.5453 7.5835 -3.4309
+v  1.5453 5.6702 -3.5469
+v  1.5453 9.4968 -3.2987
+v  1.5453 11.4101 -3.3804
+v  1.5453 13.3234 -3.5469
+v  0.0000 23.5750 -0.0000
+v  -4.1897 16.4768 -3.9339
+v  -4.1897 16.4768 3.9339
+v  4.1897 16.4768 3.9339
+v  4.1897 16.4768 -3.9339
+v  -1.2971 3.7738 -2.1572
+v  -1.2971 3.7738 -2.6666
+v  -1.7173 3.6544 -2.6666
+v  -1.7173 3.6544 -2.1572
+v  -1.2971 -0.0000 -2.6666
+v  -1.2971 3.3171 -2.6666
+v  -1.2971 3.3171 -2.4156
+v  -1.2971 -0.0000 -2.4156
+v  -1.7173 -0.0000 -2.6666
+v  -1.7173 3.3171 -2.6666
+v  -1.7173 -0.0000 -2.1572
+v  -1.7173 3.3171 -2.1572
+v  1.2970 3.7738 -2.6666
+v  1.2970 3.7738 -2.1572
+v  1.7173 3.6544 -2.1572
+v  1.7173 3.6544 -2.6666
+v  1.2970 -0.0000 -2.4156
+v  1.2970 3.3171 -2.4156
+v  1.2970 3.3171 -2.6666
+v  1.2970 -0.0000 -2.6666
+v  1.7173 -0.0000 -2.6666
+v  1.7173 3.3171 -2.6666
+v  1.7173 3.3171 -2.1572
+v  1.7173 -0.0000 -2.1572
+v  -0.0000 4.3176 -2.6666
+v  -0.0000 4.3176 -2.1572
+v  -0.0000 3.7437 -2.6666
+v  -0.0000 3.7437 -2.4156
+v  -0.0000 -0.0000 -2.4156
+# 518 vertices
+
+vn 0.0000 -0.7408 0.6718
+vn 0.0016 1.0000 -0.0028
+vn -0.0000 0.9024 0.4309
+vn 0.0000 -0.0028 -1.0000
+vn 1.0000 0.0000 -0.0000
+vn 0.4189 -0.8046 0.4210
+vn 0.7071 0.0020 0.7071
+vn -0.0000 1.0000 -0.0000
+vn 0.0000 0.0028 1.0000
+vn 0.6366 -0.7712 0.0024
+vn 0.4322 0.9018 -0.0014
+vn -1.0000 -0.0000 0.0000
+vn 0.1589 -0.0004 -0.9873
+vn -0.9985 0.0039 -0.0555
+vn 0.7071 -0.0029 0.7071
+vn 0.0524 -0.7346 -0.6765
+vn -0.6635 -0.7469 -0.0434
+vn 0.7071 -0.0016 0.7071
+vn -1.0000 0.0014 -0.0007
+vn 1.0000 -0.0014 0.0007
+vn 0.1062 -0.7327 -0.6723
+vn -0.0001 -0.0001 1.0000
+vn -0.0000 0.0001 -1.0000
+vn -0.6920 -0.7204 -0.0452
+vn 0.0000 -0.7408 -0.6718
+vn 0.0016 1.0000 0.0028
+vn -0.0000 0.9024 -0.4309
+vn 0.0000 -0.0028 1.0000
+vn 0.4189 -0.8046 -0.4210
+vn 0.7071 0.0020 -0.7071
+vn -0.0000 1.0000 0.0000
+vn -0.0000 0.0028 -1.0000
+vn 0.6366 -0.7712 -0.0024
+vn 0.4322 0.9018 0.0014
+vn 0.1589 -0.0004 0.9873
+vn -0.9985 0.0039 0.0555
+vn 0.7071 -0.0029 -0.7071
+vn 0.0524 -0.7346 0.6765
+vn -0.6635 -0.7469 0.0434
+vn 0.7071 -0.0016 -0.7071
+vn -1.0000 0.0014 0.0007
+vn 1.0000 -0.0014 -0.0007
+vn 0.1062 -0.7327 0.6723
+vn -0.0001 -0.0001 -1.0000
+vn -0.0000 0.0001 1.0000
+vn -0.6920 -0.7204 0.0452
+vn -0.0000 -0.7408 0.6718
+vn -0.0016 1.0000 -0.0028
+vn 0.0000 0.9024 0.4309
+vn -0.0000 -0.0028 -1.0000
+vn -1.0000 0.0000 0.0000
+vn -0.4189 -0.8046 0.4210
+vn -0.7071 0.0020 0.7071
+vn 0.0000 1.0000 -0.0000
+vn -0.6366 -0.7712 0.0024
+vn -0.4322 0.9018 -0.0014
+vn -0.4321 0.9018 -0.0014
+vn 1.0000 -0.0000 -0.0000
+vn -0.1589 -0.0004 -0.9873
+vn 0.9985 0.0039 -0.0555
+vn -0.7071 -0.0029 0.7071
+vn -0.0524 -0.7346 -0.6765
+vn 0.6635 -0.7469 -0.0434
+vn -0.7071 -0.0016 0.7071
+vn 1.0000 0.0014 -0.0007
+vn -1.0000 -0.0014 0.0007
+vn -0.1062 -0.7327 -0.6723
+vn 0.0001 -0.0001 1.0000
+vn 0.0000 0.0001 -1.0000
+vn 0.6920 -0.7204 -0.0452
+vn -0.0000 -0.7408 -0.6718
+vn -0.0016 1.0000 0.0028
+vn 0.0000 0.9024 -0.4309
+vn -0.0000 -0.0028 1.0000
+vn -0.4189 -0.8046 -0.4210
+vn -0.7071 0.0020 -0.7071
+vn 0.0000 1.0000 0.0000
+vn -0.6366 -0.7712 -0.0024
+vn -0.4321 0.9018 0.0014
+vn -0.4322 0.9018 0.0014
+vn -0.1589 -0.0004 0.9873
+vn 0.9985 0.0039 0.0555
+vn -0.7071 -0.0029 -0.7071
+vn -0.0524 -0.7346 0.6765
+vn 0.6635 -0.7469 0.0434
+vn -0.7071 -0.0016 -0.7071
+vn 1.0000 0.0014 0.0007
+vn -1.0000 -0.0014 -0.0007
+vn -0.1062 -0.7327 0.6723
+vn 0.0001 -0.0001 -1.0000
+vn 0.0000 0.0001 1.0000
+vn 0.6920 -0.7204 0.0452
+vn -0.0000 0.0000 -1.0000
+vn 0.0000 0.0000 1.0000
+vn -0.0035 -0.0104 0.9999
+vn 1.0000 -0.0000 -0.0002
+vn 0.5696 0.8219 -0.0001
+vn -0.0745 -0.9972 0.0000
+vn -0.0000 -0.0000 1.0000
+vn -0.0000 0.0000 1.0000
+vn 0.0033 -0.0104 0.9999
+vn -0.5696 0.8219 0.0001
+vn 0.0745 -0.9972 0.0000
+vn 0.0000 -0.0000 1.0000
+vn -0.9999 -0.0109 0.0008
+vn -0.5875 -0.8092 0.0009
+vn 0.5875 -0.8092 -0.0008
+vn 0.9999 0.0111 -0.0004
+vn 0.0803 0.9968 0.0001
+vn -0.0593 0.9982 -0.0000
+vn -0.0027 -0.0118 0.9999
+vn -0.9999 -0.0102 0.0001
+vn 0.9999 0.0103 -0.0002
+vn 0.0029 -0.0117 0.9999
+vn 1.0000 -0.0000 0.0001
+vn -0.1034 0.9946 0.0000
+vn -0.0593 0.9982 0.0000
+vn 0.0803 0.9968 -0.0000
+vn 0.0634 0.9980 -0.0000
+vn -1.0000 0.0000 0.0001
+vn -0.0000 -1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 -1.0000 -0.0000
+vn -0.0001 0.0000 1.0000
+vn 0.9999 -0.0104 0.0035
+vn -0.0001 0.0000 -1.0000
+vn -0.0001 0.8219 -0.5696
+vn -0.0000 -0.9972 0.0745
+vn 1.0000 -0.0000 0.0000
+vn 0.9999 -0.0104 -0.0034
+vn 0.0001 0.8219 0.5696
+vn 0.0000 -0.9972 -0.0745
+vn 0.0008 -0.0109 0.9999
+vn 0.0008 -0.8092 0.5875
+vn -0.0008 -0.8092 -0.5875
+vn -0.0004 0.0111 -0.9999
+vn 0.0000 0.9968 -0.0803
+vn -0.0000 0.9982 0.0593
+vn 0.9999 -0.0118 0.0027
+vn 0.0001 -0.0102 0.9999
+vn -0.0002 0.0103 -0.9999
+vn 0.9999 -0.0117 -0.0029
+vn 0.0001 -0.0000 -1.0000
+vn 0.0000 0.9946 0.1034
+vn 0.0000 0.9982 0.0593
+vn 0.0000 0.9968 -0.0804
+vn 0.0000 0.9980 -0.0634
+vn 0.0001 -0.0000 1.0000
+vn -0.0000 -0.9972 -0.0745
+vn -0.0000 -1.0000 -0.0000
+vn -0.9999 -0.0104 -0.0035
+vn 0.0002 -0.0000 1.0000
+vn -1.0000 0.0000 -0.0000
+vn -0.9999 -0.0104 0.0033
+vn -0.0008 -0.0109 -0.9999
+vn -0.0009 -0.8092 -0.5875
+vn 0.0007 -0.8092 0.5875
+vn 0.0004 0.0111 0.9999
+vn -0.0001 0.9968 0.0803
+vn 0.0000 0.9982 -0.0593
+vn -0.9999 -0.0118 -0.0027
+vn -0.0001 -0.0102 -0.9999
+vn 0.0002 0.0103 0.9999
+vn -0.9999 -0.0117 0.0029
+vn -0.0001 -0.0000 1.0000
+vn 0.0000 0.9946 -0.1034
+vn 0.0000 0.9968 0.0803
+vn 0.0000 0.9980 0.0634
+vn -1.0000 0.0000 -0.0001
+vn 0.0000 -0.0000 -1.0000
+vn -0.0547 -0.9980 0.0314
+vn -0.0263 -0.9978 -0.0603
+vn 0.0547 -0.9980 -0.0314
+vn 0.0263 -0.9978 0.0603
+vn 0.0547 -0.9980 0.0314
+vn -0.0263 -0.9978 0.0603
+vn -0.0547 -0.9980 -0.0314
+vn 0.0263 -0.9978 -0.0603
+vn -0.9945 0.0939 0.0469
+vn -0.9945 -0.0939 0.0469
+vn 0.0000 0.0976 0.9952
+vn -0.0469 -0.1106 0.9928
+vn 0.9980 0.0430 -0.0471
+vn 0.9974 -0.0543 -0.0471
+vn -0.0000 0.0419 -0.9991
+vn -0.0199 -0.0471 -0.9987
+vn -0.9945 0.0939 -0.0469
+vn -0.9945 -0.0939 -0.0469
+vn 0.0000 0.0976 -0.9952
+vn -0.0469 -0.1106 -0.9928
+vn 0.9980 0.0430 0.0471
+vn 0.9974 -0.0543 0.0471
+vn 0.0000 0.0419 0.9991
+vn -0.0199 -0.0471 0.9987
+vn 0.0375 -0.0870 -0.9955
+vn 0.9983 -0.0354 0.0471
+vn 0.0162 -0.0377 0.9992
+vn 0.9945 0.0939 0.0469
+vn 0.9945 -0.0939 0.0469
+vn -0.0000 0.0976 0.9952
+vn 0.0469 -0.1106 0.9928
+vn -0.9980 0.0430 -0.0471
+vn -0.9974 -0.0543 -0.0471
+vn 0.0199 -0.0471 -0.9987
+vn 0.9945 0.0939 -0.0469
+vn 0.9945 -0.0939 -0.0469
+vn -0.0000 0.0976 -0.9952
+vn -0.0375 -0.0870 -0.9955
+vn -0.9980 0.0430 0.0471
+vn -0.9983 -0.0354 0.0471
+vn -0.0162 -0.0377 0.9992
+vn 0.0469 -0.1106 -0.9928
+vn -0.9974 -0.0543 0.0471
+vn 0.0199 -0.0471 0.9987
+vn -0.0375 -0.0870 0.9955
+vn -0.9983 -0.0354 -0.0471
+vn -0.0162 -0.0377 -0.9992
+vn 0.0375 -0.0870 0.9955
+vn 0.9983 -0.0354 -0.0471
+vn 0.0162 -0.0377 -0.9992
+vn 0.0281 0.0492 -0.9984
+vn 0.0141 0.0591 -0.9982
+vn 0.0101 0.0563 -0.9984
+vn 0.0163 0.0408 -0.9990
+vn -0.0000 0.0132 -0.9999
+vn -0.0000 -0.0647 -0.9979
+vn -0.0000 -0.0867 -0.9962
+vn -0.0000 0.0535 -0.9986
+vn -0.0000 0.0380 -0.9993
+vn -0.0101 0.0563 -0.9984
+vn -0.0163 0.0408 -0.9990
+vn -0.0141 0.0591 -0.9982
+vn -0.0281 0.0492 -0.9984
+vn -0.8612 0.5083 0.0000
+vn 0.0000 0.4847 0.8747
+vn 0.8612 0.5083 -0.0000
+vn -0.0000 0.4847 -0.8747
+vn -0.2731 0.9620 0.0000
+vn 0.2731 0.9620 0.0000
+vn 0.3867 0.9222 0.0000
+vn -0.0000 -0.0000 -1.0000
+vn 0.3124 -0.9499 -0.0000
+vn -0.3867 0.9222 0.0000
+vn -0.3124 -0.9499 0.0000
+# 244 vertex normals
+
+vt 0.4672 0.7287 0.0000
+vt 0.4672 0.6812 0.0000
+vt 0.5381 0.6812 0.0000
+vt 0.5637 0.7287 0.0000
+vt 0.4511 0.6743 0.0000
+vt 0.4498 0.6669 0.0000
+vt 0.5101 0.6669 0.0000
+vt 0.5101 0.6758 0.0000
+vt 0.4531 0.6758 0.0000
+vt 0.6996 0.8663 0.0000
+vt 0.6083 0.8663 0.0000
+vt 0.6083 0.8881 0.0000
+vt 0.6996 0.8881 0.0000
+vt 0.6083 0.9203 0.0000
+vt 0.6996 0.9203 0.0000
+vt 0.6348 0.6259 0.0000
+vt 0.6348 0.6557 0.0000
+vt 0.5033 0.6557 0.0000
+vt 0.5033 0.6259 0.0000
+vt 0.4860 0.7374 0.0000
+vt 0.4587 0.8045 0.0000
+vt 0.4433 0.8046 0.0000
+vt 0.7663 0.6259 0.0000
+vt 0.7905 0.6258 0.0000
+vt 0.7905 0.6557 0.0000
+vt 0.7664 0.6557 0.0000
+vt 0.5578 0.5104 0.0000
+vt 0.6319 0.5104 0.0000
+vt 0.6319 0.6024 0.0000
+vt 0.5578 0.6024 0.0000
+vt 0.4411 0.6748 0.0000
+vt 0.4531 0.7357 0.0000
+vt 0.4411 0.7357 0.0000
+vt 0.5654 0.8042 0.0000
+vt 0.5654 0.7371 0.0000
+vt 0.5169 0.8663 0.0000
+vt 0.5169 0.8881 0.0000
+vt 0.5169 0.9203 0.0000
+vt 0.7344 0.2540 0.0000
+vt 0.7344 0.2807 0.0000
+vt 0.7215 0.2807 0.0000
+vt 0.7215 0.2540 0.0000
+vt 0.7532 0.2524 0.0000
+vt 0.7532 0.2800 0.0000
+vt 0.7370 0.2800 0.0000
+vt 0.7370 0.2524 0.0000
+vt 0.8440 0.5063 0.0000
+vt 0.8440 0.5248 0.0000
+vt 0.8307 0.5248 0.0000
+vt 0.8307 0.5063 0.0000
+vt 0.7344 0.3486 0.0000
+vt 0.7215 0.3486 0.0000
+vt 0.7215 0.3237 0.0000
+vt 0.7344 0.3237 0.0000
+vt 0.7532 0.3506 0.0000
+vt 0.7370 0.3506 0.0000
+vt 0.7370 0.3238 0.0000
+vt 0.7532 0.3238 0.0000
+vt 0.8440 0.5570 0.0000
+vt 0.8307 0.5570 0.0000
+vt 0.8364 0.5997 0.0000
+vt 0.7950 0.5997 0.0000
+vt 0.8096 0.5854 0.0000
+vt 0.8364 0.5608 0.0000
+vt 0.8663 0.5452 0.0000
+vt 0.8798 0.5570 0.0000
+vt 0.8093 0.5451 0.0000
+vt 0.7959 0.5570 0.0000
+vt 0.8620 0.5854 0.0000
+vt 0.8784 0.5997 0.0000
+vt 0.6756 0.2660 0.0000
+vt 0.6505 0.2660 0.0000
+vt 0.6505 0.4622 0.0000
+vt 0.6756 0.4622 0.0000
+vt 0.6058 0.3002 0.0000
+vt 0.6440 0.3002 0.0000
+vt 0.6440 0.4741 0.0000
+vt 0.6058 0.4741 0.0000
+vt 0.6280 0.0055 0.0000
+vt 0.6545 0.0069 0.0000
+vt 0.6548 0.0671 0.0000
+vt 0.6284 0.0865 0.0000
+vt 0.6000 0.2239 0.0000
+vt 0.6163 0.2239 0.0000
+vt 0.6163 0.2472 0.0000
+vt 0.6000 0.2472 0.0000
+vt 0.6822 0.1033 0.0000
+vt 0.6903 0.1033 0.0000
+vt 0.6903 0.1767 0.0000
+vt 0.6822 0.1767 0.0000
+vt 0.5852 0.2472 0.0000
+vt 0.5852 0.2239 0.0000
+vt 0.6098 0.1405 0.0000
+vt 0.6145 0.1405 0.0000
+vt 0.6140 0.1724 0.0000
+vt 0.6093 0.1724 0.0000
+vt 0.6552 0.1246 0.0000
+vt 0.6681 0.1246 0.0000
+vt 0.6659 0.1454 0.0000
+vt 0.6571 0.0825 0.0000
+vt 0.6723 0.0885 0.0000
+vt 0.6279 0.1193 0.0000
+vt 0.6279 0.1037 0.0000
+vt 0.6681 0.2453 0.0000
+vt 0.6552 0.2453 0.0000
+vt 0.6668 0.2246 0.0000
+vt 0.6507 0.1850 0.0000
+vt 0.6636 0.1850 0.0000
+vt 0.6018 0.0674 0.0000
+vt 0.6015 0.0077 0.0000
+vt 0.6903 0.2501 0.0000
+vt 0.6822 0.2501 0.0000
+vt 0.6135 0.2044 0.0000
+vt 0.6089 0.2043 0.0000
+vt 0.5834 0.0885 0.0000
+vt 0.5987 0.0825 0.0000
+vt 0.6955 0.1208 0.0000
+vt 0.6955 0.0105 0.0000
+vt 0.7028 0.0105 0.0000
+vt 0.7028 0.1208 0.0000
+vt 0.7028 0.1808 0.0000
+vt 0.6955 0.1808 0.0000
+vt 0.7028 0.2409 0.0000
+vt 0.6955 0.2409 0.0000
+vt 0.7028 0.3501 0.0000
+vt 0.6955 0.3501 0.0000
+vt 0.6375 0.2580 0.0000
+vt 0.6331 0.2581 0.0000
+vt 0.6322 0.2120 0.0000
+vt 0.6366 0.2119 0.0000
+vt 0.6312 0.1659 0.0000
+vt 0.6356 0.1658 0.0000
+vt 0.5834 0.0179 0.0000
+vt 0.5987 0.0169 0.0000
+vt 0.6903 0.3459 0.0000
+vt 0.6822 0.3459 0.0000
+vt 0.6822 0.0075 0.0000
+vt 0.6903 0.0075 0.0000
+vt 0.6571 0.0163 0.0000
+vt 0.6723 0.0179 0.0000
+vt 0.6242 0.1418 0.0000
+vt 0.6307 0.1417 0.0000
+vt 0.6247 0.1661 0.0000
+vt 0.6256 0.2121 0.0000
+vt 0.6265 0.2583 0.0000
+vt 0.6335 0.2823 0.0000
+vt 0.6270 0.2824 0.0000
+vt 0.6047 0.1405 0.0000
+vt 0.6042 0.1724 0.0000
+vt 0.6038 0.2043 0.0000
+vt 0.6365 0.1297 0.0000
+vt 0.6367 0.1416 0.0000
+vt 0.6305 0.1298 0.0000
+vt 0.6240 0.1300 0.0000
+vt 0.6681 0.1144 0.0000
+vt 0.6552 0.1144 0.0000
+vt 0.6037 0.2097 0.0000
+vt 0.6088 0.2097 0.0000
+vt 0.6135 0.2098 0.0000
+vt 0.6145 0.1351 0.0000
+vt 0.6099 0.1351 0.0000
+vt 0.6048 0.1351 0.0000
+vt 0.6552 0.2555 0.0000
+vt 0.6681 0.2555 0.0000
+vt 0.6272 0.2943 0.0000
+vt 0.6337 0.2942 0.0000
+vt 0.6395 0.2822 0.0000
+vt 0.6397 0.2940 0.0000
+vt 0.1601 0.2593 0.0000
+vt 0.1601 0.0045 0.0000
+vt 0.2454 0.0045 0.0000
+vt 0.2454 0.2590 0.0000
+vt 0.2838 0.5470 0.0000
+vt 0.2838 0.2690 0.0000
+vt 0.1765 0.2690 0.0000
+vt 0.1765 0.5470 0.0000
+vt 0.1150 0.3564 0.0000
+vt 0.1150 0.0538 0.0000
+vt 0.0116 0.0538 0.0000
+vt 0.0116 0.3569 0.0000
+vt 0.0100 0.6667 0.0000
+vt 0.0100 0.3673 0.0000
+vt 0.1291 0.3673 0.0000
+vt 0.1291 0.6667 0.0000
+vt 0.9942 0.1083 0.0000
+vt 0.9942 0.2099 0.0000
+vt 0.9659 0.2099 0.0000
+vt 0.9607 0.1083 0.0000
+vt 0.9942 0.0068 0.0000
+vt 0.9659 0.0068 0.0000
+vt 0.3004 0.5798 0.0000
+vt 0.2911 0.5701 0.0000
+vt 0.2911 0.6124 0.0000
+vt 0.3004 0.6124 0.0000
+vt 0.3004 0.6450 0.0000
+vt 0.2911 0.6547 0.0000
+vt 0.3334 0.6547 0.0000
+vt 0.3334 0.6450 0.0000
+vt 0.3663 0.6450 0.0000
+vt 0.3757 0.6547 0.0000
+vt 0.3757 0.6124 0.0000
+vt 0.3663 0.6124 0.0000
+vt 0.3663 0.5798 0.0000
+vt 0.3757 0.5701 0.0000
+vt 0.3334 0.5701 0.0000
+vt 0.3334 0.5798 0.0000
+vt 0.2876 0.5671 0.0000
+vt 0.2747 0.5537 0.0000
+vt 0.3334 0.5537 0.0000
+vt 0.3334 0.5671 0.0000
+vt 0.3793 0.5671 0.0000
+vt 0.3922 0.5537 0.0000
+vt 0.3922 0.6125 0.0000
+vt 0.3793 0.6125 0.0000
+vt 0.3793 0.6578 0.0000
+vt 0.3922 0.6712 0.0000
+vt 0.3334 0.6712 0.0000
+vt 0.3334 0.6578 0.0000
+vt 0.2876 0.6578 0.0000
+vt 0.2747 0.6712 0.0000
+vt 0.2747 0.6125 0.0000
+vt 0.2876 0.6125 0.0000
+vt 0.9513 0.1060 0.0000
+vt 0.9513 0.0044 0.0000
+vt 0.9230 0.0044 0.0000
+vt 0.9178 0.1060 0.0000
+vt 0.9097 0.1060 0.0000
+vt 0.9097 0.0044 0.0000
+vt 0.8814 0.0044 0.0000
+vt 0.8762 0.1060 0.0000
+vt 0.8814 0.2076 0.0000
+vt 0.9097 0.2076 0.0000
+vt 0.9230 0.2075 0.0000
+vt 0.9513 0.2075 0.0000
+vt 0.8658 0.1132 0.0000
+vt 0.8487 0.1132 0.0000
+vt 0.8445 0.0044 0.0000
+vt 0.8755 0.0044 0.0000
+vt 0.8445 0.2221 0.0000
+vt 0.8755 0.2221 0.0000
+vt 0.7801 0.1104 0.0000
+vt 0.7912 0.0058 0.0000
+vt 0.7576 0.0058 0.0000
+vt 0.7611 0.1104 0.0000
+vt 0.7912 0.2151 0.0000
+vt 0.7576 0.2374 0.0000
+vt 0.7362 0.1124 0.0000
+vt 0.7464 0.0064 0.0000
+vt 0.7139 0.0064 0.0000
+vt 0.7182 0.1124 0.0000
+vt 0.7139 0.2409 0.0000
+vt 0.7464 0.2409 0.0000
+vt 0.8231 0.1080 0.0000
+vt 0.8044 0.1080 0.0000
+vt 0.7986 0.0056 0.0000
+vt 0.8316 0.0056 0.0000
+vt 0.8316 0.2103 0.0000
+vt 0.7986 0.2321 0.0000
+vt 0.3996 0.1076 0.0000
+vt 0.3999 0.1680 0.0000
+vt 0.3755 0.1681 0.0000
+vt 0.3751 0.0799 0.0000
+vt 0.4002 0.2285 0.0000
+vt 0.3758 0.2286 0.0000
+vt 0.4005 0.2888 0.0000
+vt 0.3761 0.2890 0.0000
+vt 0.4008 0.3494 0.0000
+vt 0.3764 0.3495 0.0000
+vt 0.3512 0.1683 0.0000
+vt 0.3507 0.0641 0.0000
+vt 0.3515 0.2287 0.0000
+vt 0.3518 0.2891 0.0000
+vt 0.3521 0.3496 0.0000
+vt 0.3268 0.1684 0.0000
+vt 0.3264 0.0801 0.0000
+vt 0.3271 0.2288 0.0000
+vt 0.3274 0.2892 0.0000
+vt 0.3277 0.3497 0.0000
+vt 0.3025 0.1685 0.0000
+vt 0.3022 0.1081 0.0000
+vt 0.3028 0.2289 0.0000
+vt 0.3031 0.2893 0.0000
+vt 0.3033 0.3498 0.0000
+vt 0.1505 0.9738 0.0000
+vt 0.0042 0.6813 0.0000
+vt 0.2968 0.6813 0.0000
+vt 0.9446 0.3902 0.0000
+vt 0.9268 0.3902 0.0000
+vt 0.9268 0.3744 0.0000
+vt 0.9446 0.3744 0.0000
+vt 0.8974 0.3747 0.0000
+vt 0.8974 0.4922 0.0000
+vt 0.9065 0.4922 0.0000
+vt 0.9065 0.3747 0.0000
+vt 0.9924 0.3882 0.0000
+vt 0.9924 0.5080 0.0000
+vt 0.9766 0.5080 0.0000
+vt 0.9766 0.3882 0.0000
+vt 0.9160 0.3747 0.0000
+vt 0.9160 0.4922 0.0000
+vt 0.9924 0.5202 0.0000
+vt 0.9766 0.5245 0.0000
+vt 0.9160 0.5041 0.0000
+vt 0.8974 0.5041 0.0000
+vt 0.9268 0.4879 0.0000
+vt 0.9446 0.4879 0.0000
+vt 0.9446 0.5038 0.0000
+vt 0.9268 0.5038 0.0000
+vt 0.8789 0.3882 0.0000
+vt 0.8789 0.5080 0.0000
+vt 0.8630 0.5080 0.0000
+vt 0.8630 0.3882 0.0000
+vt 0.8789 0.5245 0.0000
+vt 0.8630 0.5202 0.0000
+vt 0.9268 0.4391 0.0000
+vt 0.9446 0.4391 0.0000
+vt 0.9277 0.5235 0.0000
+vt 0.9277 0.5442 0.0000
+vt 0.9356 0.4391 0.0000
+vt 0.9356 0.3902 0.0000
+vt 0.9356 0.4879 0.0000
+vt 0.4150 0.4926 0.0000
+vt 0.3619 0.5102 0.0000
+vt 0.3617 0.3568 0.0000
+vt 0.4148 0.3567 0.0000
+vt 0.3087 0.4928 0.0000
+vt 0.3085 0.3569 0.0000
+# 327 texture coords
+
+o turret
+g turret
+f 1/1/1 2/2/1 3/3/1 
+f 3/3/1 4/4/1 1/1/1 
+f 5/5/2 6/6/2 7/7/2 
+f 5/5/2 7/7/2 8/8/2 
+f 5/5/2 8/8/2 9/9/2 
+f 10/10/3 11/11/3 12/12/3 
+f 12/12/3 13/13/3 10/10/3 
+f 12/12/4 14/14/4 9/15/4 
+f 9/15/4 13/13/4 12/12/4 
+f 15/16/5 7/17/5 6/18/5 
+f 6/18/5 16/19/5 15/16/5 
+f 3/20/6 16/21/6 4/22/6 
+f 4/23/7 16/24/7 6/25/7 
+f 6/25/7 17/26/7 4/23/7 
+f 10/27/8 18/28/8 19/29/8 
+f 19/29/8 11/30/8 10/27/8 
+f 17/31/8 5/5/8 9/9/8 
+f 17/31/8 9/9/8 14/32/8 
+f 17/31/8 14/32/8 20/33/8 
+f 4/23/9 17/26/9 20/17/9 
+f 20/17/9 1/16/9 4/23/9 
+f 15/34/10 16/21/10 3/20/10 
+f 3/20/10 21/35/10 15/34/10 
+f 10/36/11 13/37/11 22/12/11 
+f 22/12/11 18/11/11 10/36/11 
+f 13/37/12 9/38/12 8/14/12 
+f 8/14/12 22/12/12 13/37/12 
+f 5/39/13 23/40/13 24/41/13 
+f 24/41/13 6/42/13 5/39/13 
+f 17/43/14 25/44/14 23/45/14 
+f 23/45/14 5/46/14 17/43/14 
+f 6/47/15 24/48/15 25/49/15 
+f 25/49/15 17/50/15 6/47/15 
+f 26/51/16 27/52/16 28/53/16 
+f 28/53/16 29/54/16 26/51/16 
+f 30/55/17 31/56/17 32/57/17 
+f 32/57/17 33/58/17 30/55/17 
+f 34/59/18 35/60/18 25/49/18 
+f 25/49/18 24/48/18 34/59/18 
+f 36/61/19 26/62/19 29/63/19 
+f 29/63/19 23/64/19 36/61/19 
+f 28/65/20 27/66/20 34/59/20 
+f 34/59/20 24/48/20 28/65/20 
+f 24/41/21 23/40/21 29/54/21 
+f 29/54/21 28/53/21 24/41/21 
+f 33/67/22 25/49/22 35/60/22 
+f 35/60/22 30/68/22 33/67/22 
+f 32/69/23 31/70/23 36/61/23 
+f 36/61/23 23/64/23 32/69/23 
+f 23/45/24 25/44/24 33/58/24 
+f 33/58/24 32/57/24 23/45/24 
+f 37/3/25 38/2/25 39/1/25 
+f 39/1/25 40/4/25 37/3/25 
+f 41/5/26 42/9/26 8/8/26 
+f 41/5/26 8/8/26 7/7/26 
+f 41/5/26 7/7/26 43/6/26 
+f 44/12/27 45/11/27 46/10/27 
+f 46/10/27 47/13/27 44/12/27 
+f 42/15/28 48/14/28 44/12/28 
+f 44/12/28 47/13/28 42/15/28 
+f 43/18/5 7/17/5 15/16/5 
+f 15/16/5 49/19/5 43/18/5 
+f 37/20/29 40/22/29 49/21/29 
+f 40/23/30 50/26/30 43/25/30 
+f 43/25/30 49/24/30 40/23/30 
+f 19/29/31 18/28/31 46/27/31 
+f 46/27/31 45/30/31 19/29/31 
+f 50/31/31 51/33/31 48/32/31 
+f 50/31/31 48/32/31 42/9/31 
+f 50/31/31 42/9/31 41/5/31 
+f 51/17/32 50/26/32 40/23/32 
+f 40/23/32 39/16/32 51/17/32 
+f 15/34/33 21/35/33 37/20/33 
+f 37/20/33 49/21/33 15/34/33 
+f 22/12/34 47/37/34 46/36/34 
+f 46/36/34 18/11/34 22/12/34 
+f 8/14/12 42/38/12 47/37/12 
+f 47/37/12 22/12/12 8/14/12 
+f 52/41/35 53/40/35 41/39/35 
+f 41/39/35 43/42/35 52/41/35 
+f 53/45/36 54/44/36 50/43/36 
+f 50/43/36 41/46/36 53/45/36 
+f 54/49/37 52/48/37 43/47/37 
+f 43/47/37 50/50/37 54/49/37 
+f 55/53/38 56/52/38 57/51/38 
+f 57/51/38 58/54/38 55/53/38 
+f 59/57/39 60/56/39 61/55/39 
+f 61/55/39 62/58/39 59/57/39 
+f 54/49/40 63/60/40 64/59/40 
+f 64/59/40 52/48/40 54/49/40 
+f 58/63/41 57/62/41 65/61/41 
+f 65/61/41 53/64/41 58/63/41 
+f 55/65/42 52/48/42 64/59/42 
+f 64/59/42 56/66/42 55/65/42 
+f 52/41/43 55/53/43 58/54/43 
+f 58/54/43 53/40/43 52/41/43 
+f 63/60/44 54/49/44 62/67/44 
+f 62/67/44 61/68/44 63/60/44 
+f 59/69/45 53/64/45 65/61/45 
+f 65/61/45 60/70/45 59/69/45 
+f 53/45/46 59/57/46 62/58/46 
+f 62/58/46 54/44/46 53/45/46 
+f 66/3/47 2/2/47 1/1/47 
+f 1/1/47 67/4/47 66/3/47 
+f 68/5/48 69/9/48 70/8/48 
+f 68/5/48 70/8/48 71/7/48 
+f 68/5/48 71/7/48 72/6/48 
+f 12/12/49 11/11/49 73/10/49 
+f 73/10/49 74/13/49 12/12/49 
+f 69/15/50 14/14/50 12/12/50 
+f 12/12/50 74/13/50 69/15/50 
+f 72/18/51 71/17/51 75/16/51 
+f 75/16/51 76/19/51 72/18/51 
+f 66/20/52 67/22/52 76/21/52 
+f 67/23/53 77/26/53 72/25/53 
+f 72/25/53 76/24/53 67/23/53 
+f 19/29/54 78/28/54 73/27/54 
+f 73/27/54 11/30/54 19/29/54 
+f 77/31/54 20/33/54 14/32/54 
+f 77/31/54 14/32/54 69/9/54 
+f 77/31/54 69/9/54 68/5/54 
+f 20/17/9 77/26/9 67/23/9 
+f 67/23/9 1/16/9 20/17/9 
+f 75/34/55 79/35/55 66/20/55 
+f 66/20/55 76/21/55 75/34/55 
+f 80/12/56 74/37/57 73/36/57 
+f 73/36/57 78/11/56 80/12/56 
+f 70/14/58 69/38/58 74/37/58 
+f 74/37/58 80/12/58 70/14/58 
+f 81/41/59 82/40/59 68/39/59 
+f 68/39/59 72/42/59 81/41/59 
+f 82/45/60 83/44/60 77/43/60 
+f 77/43/60 68/46/60 82/45/60 
+f 83/49/61 81/48/61 72/47/61 
+f 72/47/61 77/50/61 83/49/61 
+f 84/53/62 85/52/62 86/51/62 
+f 86/51/62 87/54/62 84/53/62 
+f 88/57/63 89/56/63 90/55/63 
+f 90/55/63 91/58/63 88/57/63 
+f 83/49/64 92/60/64 93/59/64 
+f 93/59/64 81/48/64 83/49/64 
+f 87/63/65 86/62/65 94/61/65 
+f 94/61/65 82/64/65 87/63/65 
+f 84/65/66 81/48/66 93/59/66 
+f 93/59/66 85/66/66 84/65/66 
+f 81/41/67 84/53/67 87/54/67 
+f 87/54/67 82/40/67 81/41/67 
+f 92/60/68 83/49/68 91/67/68 
+f 91/67/68 90/68/68 92/60/68 
+f 88/69/69 82/64/69 94/61/69 
+f 94/61/69 89/70/69 88/69/69 
+f 82/45/70 88/57/70 91/58/70 
+f 91/58/70 83/44/70 82/45/70 
+f 39/1/71 38/2/71 95/3/71 
+f 95/3/71 96/4/71 39/1/71 
+f 97/5/72 98/6/72 71/7/72 
+f 97/5/72 71/7/72 70/8/72 
+f 97/5/72 70/8/72 99/9/72 
+f 100/10/73 45/11/73 44/12/73 
+f 44/12/73 101/13/73 100/10/73 
+f 44/12/74 48/14/74 99/15/74 
+f 99/15/74 101/13/74 44/12/74 
+f 75/16/51 71/17/51 98/18/51 
+f 98/18/51 102/19/51 75/16/51 
+f 95/20/75 102/21/75 96/22/75 
+f 96/23/76 102/24/76 98/25/76 
+f 98/25/76 103/26/76 96/23/76 
+f 100/27/77 78/28/77 19/29/77 
+f 19/29/77 45/30/77 100/27/77 
+f 103/31/77 97/5/77 99/9/77 
+f 103/31/77 99/9/77 48/32/77 
+f 103/31/77 48/32/77 51/33/77 
+f 96/23/32 103/26/32 51/17/32 
+f 51/17/32 39/16/32 96/23/32 
+f 75/34/78 102/21/78 95/20/78 
+f 95/20/78 79/35/78 75/34/78 
+f 100/36/79 101/37/79 80/12/80 
+f 80/12/80 78/11/80 100/36/79 
+f 101/37/58 99/38/58 70/14/58 
+f 70/14/58 80/12/58 101/37/58 
+f 97/39/81 104/40/81 105/41/81 
+f 105/41/81 98/42/81 97/39/81 
+f 103/43/82 106/44/82 104/45/82 
+f 104/45/82 97/46/82 103/43/82 
+f 98/47/83 105/48/83 106/49/83 
+f 106/49/83 103/50/83 98/47/83 
+f 107/51/84 108/52/84 109/53/84 
+f 109/53/84 110/54/84 107/51/84 
+f 111/55/85 112/56/85 113/57/85 
+f 113/57/85 114/58/85 111/55/85 
+f 115/59/86 116/60/86 106/49/86 
+f 106/49/86 105/48/86 115/59/86 
+f 117/61/87 107/62/87 110/63/87 
+f 110/63/87 104/64/87 117/61/87 
+f 109/65/88 108/66/88 115/59/88 
+f 115/59/88 105/48/88 109/65/88 
+f 105/41/89 104/40/89 110/54/89 
+f 110/54/89 109/53/89 105/41/89 
+f 114/67/90 106/49/90 116/60/90 
+f 116/60/90 111/68/90 114/67/90 
+f 113/69/91 112/70/91 117/61/91 
+f 117/61/91 104/64/91 113/69/91 
+f 104/45/92 106/44/92 114/58/92 
+f 114/58/92 113/57/92 104/45/92 
+f 118/71/58 119/72/58 120/73/58 
+f 120/73/58 121/74/58 118/71/58 
+f 119/75/93 122/76/93 123/77/93 
+f 123/77/93 120/78/93 119/75/93 
+f 122/72/51 124/71/51 125/74/51 
+f 125/74/51 123/73/51 122/72/51 
+f 126/71/93 127/72/93 128/73/93 
+f 128/73/93 129/74/93 126/71/93 
+f 127/75/51 130/76/51 131/77/51 
+f 131/77/51 128/78/51 127/75/51 
+f 130/72/94 132/71/94 133/74/94 
+f 133/74/94 131/73/94 130/72/94 
+f 134/71/51 135/72/51 136/73/51 
+f 136/73/51 137/74/51 134/71/51 
+f 135/75/94 138/76/94 139/77/94 
+f 139/77/94 136/78/94 135/75/94 
+f 138/72/58 140/71/58 141/74/58 
+f 141/74/58 139/73/58 138/72/58 
+f 142/71/94 143/72/94 144/73/94 
+f 144/73/94 145/74/94 142/71/94 
+f 143/75/58 146/76/58 147/77/58 
+f 147/77/58 144/78/58 143/75/58 
+f 146/72/93 148/71/93 149/74/93 
+f 149/74/93 147/73/93 146/72/93 
+f 150/79/95 151/80/95 152/81/95 
+f 152/81/95 153/82/95 150/79/95 
+f 154/83/96 155/84/96 156/85/96 
+f 156/85/96 157/86/96 154/83/96 
+f 158/87/97 159/88/97 160/89/97 
+f 160/89/97 161/90/97 158/87/97 
+f 162/86/51 163/91/51 164/92/51 
+f 164/92/51 165/83/51 162/86/51 
+f 166/93/98 167/94/98 168/95/98 
+f 168/95/98 169/96/98 166/93/98 
+f 170/97/99 171/98/99 172/99/99 
+f 173/100/99 158/101/99 161/102/99 
+f 161/102/99 174/103/99 173/100/99 
+f 175/104/100 176/105/100 177/106/100 
+f 177/106/99 176/105/99 178/107/99 
+f 178/107/99 179/108/99 177/106/99 
+f 150/79/101 153/82/101 180/109/101 
+f 180/109/101 181/110/101 150/79/101 
+f 161/90/102 160/89/102 182/111/102 
+f 182/111/102 183/112/102 161/90/102 
+f 169/96/103 168/95/103 184/113/103 
+f 184/113/103 185/114/103 169/96/103 
+f 174/103/100 161/102/100 183/115/100 
+f 183/115/100 186/116/100 174/103/100 
+f 172/99/104 179/108/104 178/107/104 
+f 178/107/104 170/97/104 172/99/104 
+f 152/117/105 151/118/105 187/119/105 
+f 187/119/105 173/120/105 152/117/105 
+f 152/117/106 173/120/106 174/121/106 
+f 174/121/106 153/122/106 152/117/106 
+f 153/122/107 174/121/107 186/123/107 
+f 186/123/107 180/124/107 153/122/107 
+f 180/124/108 186/123/108 188/125/108 
+f 188/125/108 181/126/108 180/124/108 
+f 181/127/109 188/128/109 189/129/109 
+f 189/129/109 150/130/109 181/127/109 
+f 150/130/110 189/129/110 187/131/110 
+f 187/131/110 151/132/110 150/130/110 
+f 190/133/111 188/134/111 186/116/111 
+f 186/116/111 183/115/111 190/133/111 
+f 182/111/112 191/135/112 190/136/112 
+f 190/136/112 183/112/112 182/111/112 
+f 192/137/113 193/138/113 159/88/113 
+f 159/88/113 158/87/113 192/137/113 
+f 173/100/114 187/139/114 192/140/114 
+f 192/140/114 158/101/114 173/100/114 
+f 194/92/115 154/83/115 157/86/115 
+f 157/86/115 195/91/115 194/92/115 
+f 171/141/116 192/142/116 187/131/116 
+f 187/131/116 172/143/116 171/141/116 
+f 172/143/117 187/131/117 189/129/117 
+f 189/129/117 179/144/117 172/143/117 
+f 179/144/118 189/129/118 188/128/118 
+f 188/128/118 177/145/118 179/144/118 
+f 177/145/119 188/128/119 190/146/119 
+f 190/146/119 175/147/119 177/145/119 
+f 196/85/120 162/86/120 165/83/120 
+f 165/83/120 197/84/120 196/85/120 
+f 176/148/98 166/93/98 169/96/98 
+f 169/96/98 178/149/98 176/148/98 
+f 178/149/103 169/96/103 185/114/103 
+f 185/114/103 170/150/103 178/149/103 
+f 156/151/54 193/152/54 192/142/54 
+f 192/142/54 157/153/54 156/151/54 
+f 157/153/8 192/142/8 171/141/8 
+f 171/141/8 195/154/8 157/153/8 
+f 195/155/104 171/98/104 170/97/104 
+f 170/97/104 194/156/104 195/155/104 
+f 194/157/121 170/150/121 185/114/121 
+f 185/114/121 154/158/121 194/157/121 
+f 154/158/121 185/114/121 184/113/121 
+f 184/113/121 155/159/121 154/158/121 
+f 164/160/122 167/94/122 166/93/122 
+f 166/93/122 165/161/122 164/160/122 
+f 165/161/123 166/93/123 176/148/123 
+f 176/148/123 197/162/123 165/161/123 
+f 197/163/124 176/105/124 175/104/124 
+f 175/104/124 196/164/124 197/163/124 
+f 196/165/54 175/147/54 190/146/54 
+f 190/146/54 162/166/54 196/165/54 
+f 162/166/54 190/146/54 191/167/54 
+f 191/167/54 163/168/54 162/166/54 
+f 198/79/125 199/80/125 200/81/125 
+f 200/81/125 201/82/125 198/79/125 
+f 202/83/126 203/84/126 204/85/126 
+f 204/85/126 205/86/126 202/83/126 
+f 206/87/127 207/88/127 208/89/127 
+f 208/89/127 209/90/127 206/87/127 
+f 210/86/104 211/91/104 212/92/104 
+f 212/92/104 213/83/104 210/86/104 
+f 214/93/128 215/94/128 216/95/128 
+f 216/95/128 217/96/128 214/93/128 
+f 218/97/58 219/98/58 220/99/58 
+f 221/100/129 206/101/129 209/102/129 
+f 209/102/129 222/103/129 221/100/129 
+f 223/104/129 224/105/129 225/106/129 
+f 225/106/58 224/105/58 226/107/58 
+f 226/107/58 227/108/58 225/106/58 
+f 198/79/130 201/82/130 228/109/130 
+f 228/109/130 229/110/130 198/79/130 
+f 209/90/131 208/89/131 230/111/131 
+f 230/111/131 231/112/131 209/90/131 
+f 217/96/132 216/95/132 232/113/132 
+f 232/113/132 233/114/132 217/96/132 
+f 222/103/58 209/102/58 231/115/58 
+f 231/115/58 234/116/58 222/103/58 
+f 220/99/5 227/108/5 226/107/5 
+f 226/107/5 218/97/5 220/99/5 
+f 200/117/133 199/118/133 235/119/133 
+f 235/119/133 221/120/133 200/117/133 
+f 200/117/134 221/120/134 222/121/134 
+f 222/121/134 201/122/134 200/117/134 
+f 201/122/135 222/121/135 234/123/135 
+f 234/123/135 228/124/135 201/122/135 
+f 228/124/136 234/123/136 236/125/136 
+f 236/125/136 229/126/136 228/124/136 
+f 229/127/137 236/128/137 237/129/137 
+f 237/129/137 198/130/137 229/127/137 
+f 198/130/138 237/129/138 235/131/138 
+f 235/131/138 199/132/138 198/130/138 
+f 238/133/139 236/134/139 234/116/139 
+f 234/116/139 231/115/139 238/133/139 
+f 230/111/140 239/135/140 238/136/140 
+f 238/136/140 231/112/140 230/111/140 
+f 240/137/141 241/138/141 207/88/141 
+f 207/88/141 206/87/141 240/137/141 
+f 221/100/142 235/139/142 240/140/142 
+f 240/140/142 206/101/142 221/100/142 
+f 242/92/143 202/83/143 205/86/143 
+f 205/86/143 243/91/143 242/92/143 
+f 219/141/144 240/142/144 235/131/144 
+f 235/131/144 220/143/144 219/141/144 
+f 220/143/145 235/131/145 237/129/145 
+f 237/129/145 227/144/145 220/143/145 
+f 227/144/146 237/129/146 236/128/146 
+f 236/128/146 225/145/146 227/144/146 
+f 225/145/147 236/128/147 238/146/147 
+f 238/146/147 223/147/147 225/145/147 
+f 244/85/148 210/86/148 213/83/148 
+f 213/83/148 245/84/148 244/85/148 
+f 224/148/128 214/93/128 217/96/128 
+f 217/96/128 226/149/128 224/148/128 
+f 226/149/149 217/96/149 233/114/149 
+f 233/114/149 218/150/149 226/149/149 
+f 204/151/8 241/152/8 240/142/8 
+f 240/142/8 205/153/8 204/151/8 
+f 205/153/8 240/142/8 219/141/8 
+f 219/141/8 243/154/8 205/153/8 
+f 243/155/58 219/98/58 218/97/58 
+f 218/97/58 242/156/58 243/155/58 
+f 242/157/121 218/150/121 233/114/121 
+f 233/114/121 202/158/121 242/157/121 
+f 202/158/122 233/114/122 232/113/122 
+f 232/113/122 203/159/122 202/158/122 
+f 212/160/121 215/94/121 214/93/121 
+f 214/93/121 213/161/121 212/160/121 
+f 213/161/150 214/93/150 224/148/150 
+f 224/148/150 245/162/150 213/161/150 
+f 245/163/115 224/105/115 223/104/115 
+f 223/104/115 244/164/115 245/163/115 
+f 244/165/54 223/147/54 238/146/54 
+f 238/146/54 210/166/54 244/165/54 
+f 210/166/54 238/146/54 239/167/54 
+f 239/167/54 211/168/54 210/166/54 
+f 246/79/151 247/80/151 248/81/151 
+f 248/81/151 249/82/151 246/79/151 
+f 250/83/152 251/84/152 252/85/152 
+f 252/85/152 253/86/152 250/83/152 
+f 254/87/131 255/88/131 256/89/131 
+f 256/89/131 257/90/131 254/87/131 
+f 258/86/93 259/91/93 260/92/93 
+f 260/92/93 261/83/93 258/86/93 
+f 262/93/149 263/94/149 264/95/149 
+f 264/95/149 265/96/149 262/93/149 
+f 266/97/51 267/98/51 268/99/51 
+f 269/100/12 254/101/12 257/102/12 
+f 257/102/12 270/103/12 269/100/12 
+f 271/104/153 272/105/153 273/106/153 
+f 273/106/12 272/105/12 274/107/12 
+f 274/107/12 275/108/12 273/106/12 
+f 246/79/154 249/82/154 276/109/154 
+f 276/109/154 277/110/154 246/79/154 
+f 257/90/127 256/89/127 278/111/127 
+f 278/111/127 279/112/127 257/90/127 
+f 265/96/128 264/95/128 280/113/128 
+f 280/113/128 281/114/128 265/96/128 
+f 270/103/12 257/102/12 279/115/12 
+f 279/115/12 282/116/12 270/103/12 
+f 268/99/51 275/108/51 274/107/51 
+f 274/107/51 266/97/51 268/99/51 
+f 248/117/155 247/118/155 283/119/155 
+f 283/119/155 269/120/155 248/117/155 
+f 248/117/156 269/120/156 270/121/156 
+f 270/121/156 249/122/156 248/117/156 
+f 249/122/157 270/121/157 282/123/157 
+f 282/123/157 276/124/157 249/122/157 
+f 276/124/158 282/123/158 284/125/158 
+f 284/125/158 277/126/158 276/124/158 
+f 277/127/159 284/128/159 285/129/159 
+f 285/129/159 246/130/159 277/127/159 
+f 246/130/160 285/129/160 283/131/160 
+f 283/131/160 247/132/160 246/130/160 
+f 286/133/161 284/134/161 282/116/161 
+f 282/116/161 279/115/161 286/133/161 
+f 278/111/162 287/135/162 286/136/162 
+f 286/136/162 279/112/162 278/111/162 
+f 288/137/163 289/138/163 255/88/163 
+f 255/88/163 254/87/163 288/137/163 
+f 269/100/164 283/139/164 288/140/164 
+f 288/140/164 254/101/164 269/100/164 
+f 290/92/165 250/83/165 253/86/165 
+f 253/86/165 291/91/165 290/92/165 
+f 267/141/166 288/142/166 283/131/166 
+f 283/131/166 268/143/166 267/141/166 
+f 268/143/160 283/131/160 285/129/160 
+f 285/129/160 275/144/160 268/143/160 
+f 275/144/167 285/129/167 284/128/167 
+f 284/128/167 273/145/167 275/144/167 
+f 273/145/168 284/128/168 286/146/168 
+f 286/146/168 271/147/168 273/145/168 
+f 292/85/126 258/86/126 261/83/126 
+f 261/83/126 293/84/126 292/85/126 
+f 272/148/149 262/93/149 265/96/149 
+f 265/96/149 274/149/149 272/148/149 
+f 274/149/128 265/96/128 281/114/128 
+f 281/114/128 266/150/128 274/149/128 
+f 252/151/54 289/152/54 288/142/54 
+f 288/142/54 253/153/54 252/151/54 
+f 253/153/54 288/142/54 267/141/54 
+f 267/141/54 291/154/54 253/153/54 
+f 291/155/51 267/98/51 266/97/51 
+f 266/97/51 290/156/51 291/155/51 
+f 290/157/123 266/150/123 281/114/123 
+f 281/114/123 250/158/123 290/157/123 
+f 250/158/121 281/114/121 280/113/121 
+f 280/113/121 251/159/121 250/158/121 
+f 260/160/121 263/94/121 262/93/121 
+f 262/93/121 261/161/121 260/160/121 
+f 261/161/121 262/93/121 272/148/121 
+f 272/148/121 293/162/121 261/161/121 
+f 293/163/169 272/105/169 271/104/169 
+f 271/104/169 292/164/169 293/163/169 
+f 292/165/54 271/147/54 286/146/54 
+f 286/146/54 258/166/54 292/165/54 
+f 258/166/54 286/146/54 287/167/54 
+f 287/167/54 259/168/54 258/166/54 
+f 95/169/51 294/170/51 295/171/51 
+f 295/171/51 296/172/51 95/169/51 
+f 296/173/94 295/174/94 297/175/94 
+f 297/175/94 298/176/94 296/173/94 
+f 298/177/58 297/178/58 299/179/58 
+f 299/179/58 37/180/58 298/177/58 
+f 37/181/170 299/182/170 294/183/170 
+f 294/183/170 95/184/170 37/181/170 
+f 300/185/51 301/186/51 302/187/51 
+f 302/187/51 303/188/51 300/185/51 
+f 304/185/100 305/189/100 306/190/100 
+f 306/190/100 307/188/100 304/185/100 
+f 308/185/58 309/189/58 310/190/58 
+f 310/190/58 311/188/58 308/185/58 
+f 312/185/93 313/186/93 314/187/93 
+f 314/187/93 315/188/93 312/185/93 
+f 316/191/171 302/192/171 315/193/171 
+f 315/193/171 317/194/171 316/191/171 
+f 318/195/172 314/196/172 311/197/172 
+f 311/197/172 319/198/172 318/195/172 
+f 320/199/173 310/200/173 307/201/173 
+f 307/201/173 321/202/173 320/199/173 
+f 322/203/174 306/204/174 303/205/174 
+f 303/205/174 323/206/174 322/203/174 
+f 324/207/54 301/208/54 300/209/54 
+f 300/209/54 325/210/54 324/207/54 
+f 326/211/8 305/212/8 304/213/8 
+f 304/213/8 327/214/8 326/211/8 
+f 328/215/77 309/216/77 308/217/77 
+f 308/217/77 329/218/77 328/215/77 
+f 330/219/77 313/220/77 312/221/77 
+f 312/221/77 331/222/77 330/219/77 
+f 308/185/58 311/188/58 314/187/58 
+f 314/187/58 313/186/58 308/185/58 
+f 312/185/93 315/188/93 302/190/93 
+f 302/190/93 301/189/93 312/185/93 
+f 318/195/175 317/194/175 315/193/175 
+f 315/193/175 314/196/175 318/195/175 
+f 320/199/176 319/198/176 311/197/176 
+f 311/197/176 310/200/176 320/199/176 
+f 322/203/177 321/202/177 307/201/177 
+f 307/201/177 306/204/177 322/203/177 
+f 330/219/54 329/218/54 308/217/54 
+f 308/217/54 313/220/54 330/219/54 
+f 324/207/31 331/222/31 312/221/31 
+f 312/221/31 301/208/31 324/207/31 
+f 300/185/51 303/188/51 306/190/51 
+f 306/190/51 305/189/51 300/185/51 
+f 304/185/94 307/188/94 310/187/94 
+f 310/187/94 309/186/94 304/185/94 
+f 316/191/178 323/206/178 303/205/178 
+f 303/205/178 302/192/178 316/191/178 
+f 326/211/77 325/210/77 300/209/77 
+f 300/209/77 305/212/77 326/211/77 
+f 328/215/77 327/214/77 304/213/77 
+f 304/213/77 309/216/77 328/215/77 
+f 332/185/51 333/186/51 334/187/51 
+f 334/187/51 335/188/51 332/185/51 
+f 336/223/94 337/224/94 338/225/94 
+f 338/225/94 339/226/94 336/223/94 
+f 340/227/58 341/228/58 342/229/58 
+f 342/229/58 343/230/58 340/227/58 
+f 344/185/93 345/186/93 346/187/93 
+f 346/187/93 347/188/93 344/185/93 
+f 348/191/171 334/192/171 347/193/171 
+f 347/193/171 349/194/171 348/191/171 
+f 350/195/172 346/196/172 343/197/172 
+f 343/197/172 351/198/172 350/195/172 
+f 352/199/173 342/200/173 339/201/173 
+f 339/201/173 353/202/173 352/199/173 
+f 354/203/174 338/204/174 335/205/174 
+f 335/205/174 355/206/174 354/203/174 
+f 356/207/54 333/208/54 332/209/54 
+f 332/209/54 357/210/54 356/207/54 
+f 358/211/8 337/212/8 336/213/8 
+f 336/213/8 359/214/8 358/211/8 
+f 360/215/54 341/216/54 340/217/54 
+f 340/217/54 361/218/54 360/215/54 
+f 362/219/77 345/220/77 344/221/77 
+f 344/221/77 363/222/77 362/219/77 
+f 340/227/58 343/230/58 346/231/58 
+f 346/231/58 345/232/58 340/227/58 
+f 344/185/93 347/188/93 334/190/93 
+f 334/190/93 333/189/93 344/185/93 
+f 350/195/175 349/194/175 347/193/175 
+f 347/193/175 346/196/175 350/195/175 
+f 352/199/176 351/198/176 343/197/176 
+f 343/197/176 342/200/176 352/199/176 
+f 354/203/177 353/202/177 339/201/177 
+f 339/201/177 338/204/177 354/203/177 
+f 362/219/54 361/218/54 340/217/54 
+f 340/217/54 345/220/54 362/219/54 
+f 356/207/31 363/222/31 344/221/31 
+f 344/221/31 333/208/31 356/207/31 
+f 332/185/51 335/188/51 338/190/51 
+f 338/190/51 337/189/51 332/185/51 
+f 336/223/94 339/226/94 342/233/94 
+f 342/233/94 341/234/94 336/223/94 
+f 348/191/178 355/206/178 335/205/178 
+f 335/205/178 334/192/178 348/191/178 
+f 358/211/77 357/210/77 332/209/77 
+f 332/209/77 337/212/77 358/211/77 
+f 360/215/54 359/214/54 336/213/54 
+f 336/213/54 341/216/54 360/215/54 
+f 364/235/179 365/236/179 366/237/179 
+f 366/237/179 367/238/179 364/235/179 
+f 368/239/180 365/236/180 364/235/180 
+f 364/235/180 369/240/180 368/239/180 
+f 364/241/181 367/242/181 370/243/181 
+f 370/243/181 371/244/181 364/241/181 
+f 369/245/182 364/241/182 371/244/182 
+f 371/244/182 372/246/182 369/245/182 
+f 371/247/183 370/248/183 373/249/183 
+f 373/249/183 374/250/183 371/247/183 
+f 375/251/184 372/252/184 371/247/184 
+f 371/247/184 374/250/184 375/251/184 
+f 365/253/185 374/254/185 373/255/185 
+f 373/255/185 366/256/185 365/253/185 
+f 368/257/186 375/258/186 374/254/186 
+f 374/254/186 365/253/186 368/257/186 
+f 376/235/187 377/238/187 378/237/187 
+f 378/237/187 379/236/187 376/235/187 
+f 380/239/188 381/240/188 376/235/188 
+f 376/235/188 379/236/188 380/239/188 
+f 376/241/189 382/244/189 383/243/189 
+f 383/243/189 377/242/189 376/241/189 
+f 381/245/190 384/246/190 382/244/190 
+f 382/244/190 376/241/190 381/245/190 
+f 382/247/191 385/250/191 386/249/191 
+f 386/249/191 383/248/191 382/247/191 
+f 387/251/192 385/250/192 382/247/192 
+f 382/247/192 384/252/192 387/251/192 
+f 379/253/193 378/256/193 386/255/193 
+f 386/255/193 385/254/193 379/253/193 
+f 380/257/194 379/253/194 385/254/194 
+f 385/254/194 387/258/194 380/257/194 
+f 388/235/187 389/238/187 390/237/187 
+f 390/237/187 391/236/187 388/235/187 
+f 392/239/188 393/240/188 388/235/188 
+f 388/235/188 391/236/188 392/239/188 
+f 388/241/189 394/244/189 395/243/189 
+f 395/243/189 389/242/189 388/241/189 
+f 393/245/195 396/246/195 394/244/195 
+f 394/244/195 388/241/195 393/245/195 
+f 394/247/191 397/250/191 398/249/191 
+f 398/249/191 395/248/191 394/247/191 
+f 399/251/196 397/250/196 394/247/196 
+f 394/247/196 396/252/196 399/251/196 
+f 391/253/193 390/256/193 398/255/193 
+f 398/255/193 397/254/193 391/253/193 
+f 392/257/197 391/253/197 397/254/197 
+f 397/254/197 399/258/197 392/257/197 
+f 400/235/198 401/238/198 402/237/198 
+f 402/237/198 403/236/198 400/235/198 
+f 404/239/199 405/240/199 400/235/199 
+f 400/235/199 403/236/199 404/239/199 
+f 400/241/200 406/244/200 407/243/200 
+f 407/243/200 401/242/200 400/241/200 
+f 405/245/201 408/246/201 406/244/201 
+f 406/244/201 400/241/201 405/245/201 
+f 406/247/202 409/250/202 410/249/202 
+f 410/249/202 407/248/202 406/247/202 
+f 411/251/203 409/250/203 406/247/203 
+f 406/247/203 408/252/203 411/251/203 
+f 403/253/185 402/256/185 410/255/185 
+f 410/255/185 409/254/185 403/253/185 
+f 404/257/204 403/253/204 409/254/204 
+f 409/254/204 411/258/204 404/257/204 
+f 412/235/205 413/236/205 414/237/205 
+f 414/237/205 415/238/205 412/235/205 
+f 416/239/206 413/236/206 412/235/206 
+f 412/235/206 417/240/206 416/239/206 
+f 412/241/207 415/242/207 418/243/207 
+f 418/243/207 419/244/207 412/241/207 
+f 417/245/208 412/241/208 419/244/208 
+f 419/244/208 420/246/208 417/245/208 
+f 419/247/209 418/248/209 421/249/209 
+f 421/249/209 422/250/209 419/247/209 
+f 423/251/210 420/252/210 419/247/210 
+f 419/247/210 422/250/210 423/251/210 
+f 413/253/193 422/254/193 421/255/193 
+f 421/255/193 414/256/193 413/253/193 
+f 416/257/211 423/258/211 422/254/211 
+f 422/254/211 413/253/211 416/257/211 
+f 424/235/205 425/236/205 426/237/205 
+f 426/237/205 427/238/205 424/235/205 
+f 428/239/206 425/236/206 424/235/206 
+f 424/235/206 429/240/206 428/239/206 
+f 424/241/207 427/242/207 430/243/207 
+f 430/243/207 431/244/207 424/241/207 
+f 429/245/212 424/241/212 431/244/212 
+f 431/244/212 432/246/212 429/245/212 
+f 431/247/209 430/248/209 433/249/209 
+f 433/249/209 434/250/209 431/247/209 
+f 435/251/213 432/252/213 431/247/213 
+f 431/247/213 434/250/213 435/251/213 
+f 425/253/193 434/254/193 433/255/193 
+f 433/255/193 426/256/193 425/253/193 
+f 428/257/214 435/258/214 434/254/214 
+f 434/254/214 425/253/214 428/257/214 
+f 436/235/198 437/238/198 438/237/198 
+f 438/237/198 439/236/198 436/235/198 
+f 440/239/199 441/240/199 436/235/199 
+f 436/235/199 439/236/199 440/239/199 
+f 436/241/200 442/244/200 443/243/200 
+f 443/243/200 437/242/200 436/241/200 
+f 441/245/215 444/246/215 442/244/215 
+f 442/244/215 436/241/215 441/245/215 
+f 442/247/202 445/250/202 446/249/202 
+f 446/249/202 443/248/202 442/247/202 
+f 447/251/216 445/250/216 442/247/216 
+f 442/247/216 444/252/216 447/251/216 
+f 439/253/185 438/256/185 446/255/185 
+f 446/255/185 445/254/185 439/253/185 
+f 440/257/217 439/253/217 445/254/217 
+f 445/254/217 447/258/217 440/257/217 
+f 448/235/179 449/236/179 450/237/179 
+f 450/237/179 451/238/179 448/235/179 
+f 452/239/180 449/236/180 448/235/180 
+f 448/235/180 453/240/180 452/239/180 
+f 448/241/181 451/242/181 454/243/181 
+f 454/243/181 455/244/181 448/241/181 
+f 453/245/218 448/241/218 455/244/218 
+f 455/244/218 456/246/218 453/245/218 
+f 455/247/183 454/248/183 457/249/183 
+f 457/249/183 458/250/183 455/247/183 
+f 459/251/219 456/252/219 455/247/219 
+f 455/247/219 458/250/219 459/251/219 
+f 449/253/185 458/254/185 457/255/185 
+f 457/255/185 450/256/185 449/253/185 
+f 452/257/220 459/258/220 458/254/220 
+f 458/254/220 449/253/220 452/257/220 
+f 460/259/221 461/260/222 462/261/223 
+f 462/261/223 463/262/224 460/259/221 
+f 461/260/222 464/263/225 465/264/225 
+f 465/264/225 462/261/223 461/260/222 
+f 464/263/225 466/265/226 467/266/226 
+f 467/266/226 465/264/225 464/263/225 
+f 466/265/226 468/267/227 469/268/227 
+f 469/268/227 467/266/226 466/265/226 
+f 463/262/224 462/261/223 470/269/228 
+f 470/269/228 471/270/229 463/262/224 
+f 462/261/223 465/264/225 472/271/225 
+f 472/271/225 470/269/228 462/261/223 
+f 465/264/225 467/266/226 473/272/226 
+f 473/272/226 472/271/225 465/264/225 
+f 467/266/226 469/268/227 474/273/227 
+f 474/273/227 473/272/226 467/266/226 
+f 471/270/229 470/269/228 475/274/230 
+f 475/274/230 476/275/231 471/270/229 
+f 470/269/228 472/271/225 477/276/225 
+f 477/276/225 475/274/230 470/269/228 
+f 472/271/225 473/272/226 478/277/226 
+f 478/277/226 477/276/225 472/271/225 
+f 473/272/226 474/273/227 479/278/227 
+f 479/278/227 478/277/226 473/272/226 
+f 476/275/231 475/274/230 480/279/232 
+f 480/279/232 481/280/233 476/275/231 
+f 475/274/230 477/276/225 482/281/225 
+f 482/281/225 480/279/232 475/274/230 
+f 477/276/225 478/277/226 483/282/226 
+f 483/282/226 482/281/225 477/276/225 
+f 478/277/226 479/278/227 484/283/227 
+f 484/283/227 483/282/226 478/277/226 
+f 485/284/234 486/285/234 487/286/234 
+f 485/284/235 487/285/235 488/286/235 
+f 485/284/236 488/285/236 489/286/236 
+f 485/284/237 489/285/237 486/286/237 
+f 490/287/238 491/288/238 492/289/238 
+f 492/289/238 493/290/238 490/287/238 
+f 494/291/58 495/292/58 496/293/58 
+f 496/293/58 497/294/58 494/291/58 
+f 498/295/93 499/296/93 495/297/93 
+f 495/297/93 494/298/93 498/295/93 
+f 500/299/153 501/300/153 499/292/153 
+f 499/292/153 498/291/153 500/299/153 
+f 492/301/93 491/302/93 495/297/93 
+f 495/297/93 499/296/93 492/301/93 
+f 493/303/153 492/304/153 499/292/153 
+f 499/292/153 501/300/153 493/303/153 
+f 502/305/239 503/306/239 504/307/239 
+f 504/307/239 505/308/239 502/305/239 
+f 506/294/153 507/293/153 508/292/153 
+f 508/292/153 509/291/153 506/294/153 
+f 510/291/129 511/292/129 512/300/129 
+f 512/300/129 513/299/129 510/291/129 
+f 509/309/93 508/310/93 511/311/93 
+f 511/311/93 510/312/93 509/309/93 
+f 505/304/129 504/303/129 512/300/129 
+f 512/300/129 511/292/129 505/304/129 
+f 502/313/93 505/314/93 511/311/93 
+f 511/311/93 508/310/93 502/313/93 
+f 502/305/240 514/315/77 515/316/77 
+f 515/316/77 503/306/240 502/305/240 
+f 508/310/93 516/317/241 514/318/241 
+f 514/318/241 502/313/93 508/310/93 
+f 516/315/242 517/319/242 496/320/242 
+f 496/320/242 495/288/242 516/315/242 
+f 491/288/243 490/287/243 515/316/77 
+f 515/316/77 514/315/77 491/288/243 
+f 495/297/170 491/302/170 514/318/241 
+f 514/318/241 516/317/241 495/297/170 
+f 508/305/244 507/321/244 517/319/244 
+f 517/319/244 516/315/244 508/305/244 
+f 496/322/170 517/323/170 518/324/170 
+f 518/324/170 497/325/170 496/322/170 
+f 517/323/93 507/326/93 506/327/93 
+f 506/327/93 518/324/93 517/323/93 
+# 782 faces
+
diff --git a/extra/raylib/demo/mesh-picking/_resources/turret_diffuse.png b/extra/raylib/demo/mesh-picking/_resources/turret_diffuse.png
new file mode 100644 (file)
index 0000000..33628e3
Binary files /dev/null and b/extra/raylib/demo/mesh-picking/_resources/turret_diffuse.png differ
diff --git a/extra/raylib/demo/mesh-picking/mesh-picking.factor b/extra/raylib/demo/mesh-picking/mesh-picking.factor
new file mode 100644 (file)
index 0000000..daef25f
--- /dev/null
@@ -0,0 +1,188 @@
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors alien.enums arrays classes.struct combinators.short-circuit
+continuations destructors formatting grouping io.backend io.pathnames kernel math
+math.functions.private math.vectors namespaces raylib.ffi sequences threads
+vocabs.metadata ;
+
+IN: raylib.demo.mesh-picking
+
+CONSTANT: screen-width 800
+CONSTANT: screen-height 800
+: make-window ( -- )
+    screen-width screen-height "raylib [models] example - mesh-picking" init-window ;
+
+: make-camera ( -- camera )
+    Camera3D <struct>
+    20 30 20 <Vector3> >>position
+    0 10 0 <Vector3> >>target
+    0 1.6 0 <Vector3> >>up
+    45 >>fovy
+    CAMERA_PERSPECTIVE >>type ;
+
+: resource ( fname -- path )
+    "raylib.demo.mesh-picking" "_resources" vocab-file-path swap append-path normalize-path ;
+
+! TODO: raymath?
+:: vector3-barycenter ( p a b c -- v3 )
+    b a v- :> v0
+    c a v- :> v1
+    p a v- :> v2
+    v0 dup vdot :> d00
+    v0 v1 vdot :> d01
+    v1 v1 vdot :> d11
+    v2 v0 vdot :> d20
+    v2 v1 vdot :> d21
+    d00 d11 * d01 d01 * - :> denom
+
+    d11 d20 * d01 d21 * - denom / :> y
+    d00 d21 * d01 d20 * - denom / :> z
+    1 z y + - :> x
+    x y z <Vector3> ; inline
+
+: update-hit? ( nearest-hit-info hit-info -- nearest-hit-info ? )
+    2dup { [ nip hit>> ] [ swap [ distance>> ] bi@ < ] } 2&&
+    [ nip t ] [ drop f ] if ;
+
+TUPLE: hit-state name color nearest-hit ;
+: <hit-state> ( -- obj )
+    "None" WHITE
+    RayHitInfo <struct>
+    most-positive-finite-float >>distance
+    f >>hit
+    hit-state boa ;
+
+: reset-hit-state ( hit-state -- )
+    nearest-hit>>
+    most-positive-finite-float >>distance
+    f >>hit drop ;
+
+: handle-ground-hit ( hit-state ray -- hit-state )
+    0 get-collision-ray-ground
+    over nearest-hit>> swap update-hit?
+    [ >>nearest-hit ] dip
+    [ GREEN >>color "Ground" >>name ] when ;
+
+: handle-triangle-hit ( hit-state ray ta tb tc -- hit-state ? )
+    get-collision-ray-triangle
+    over nearest-hit>> swap update-hit?
+    [ [ >>nearest-hit ] dip
+    [ PURPLE >>color "Triangle" >>name ] when ] keep ;
+
+: handle-mesh-hit ( hit-state ray model bbox -- hit-state ? )
+    pick swap check-collision-ray-box
+    [
+      get-collision-ray-model
+      over nearest-hit>> swap update-hit?
+      [ >>nearest-hit ] dip
+      [ ORANGE >>color "Mesh" >>name ] when
+      t
+    ]
+    [ 2drop f ] if ;
+
+TUPLE: tower model bbox position ;
+: <tower> ( -- obj )
+    "turret.obj" resource load-model &unload-model
+    "turret_diffuse.png" resource load-texture &unload-texture
+    over materials>> first maps>> MAP_DIFFUSE enum>number swap nth texture<<
+    dup meshes>> first mesh-bounding-box
+    0 0 0 <Vector3> tower boa ;
+
+: init-assets ( -- tower triangle )
+    <tower>
+    -25 0.5 0 <Vector3>
+    -4 2.5 1 <Vector3>
+    -8 6.5 0 <Vector3> 3array ;
+
+: draw-objects ( bbox? tower triangle -- )
+    2 <circular-clumps> [ first2 PURPLE draw-line-3d ] each
+    [ [ model>> ] [ position>> ] bi 1.0 WHITE draw-model ] keep
+    swap [ bbox>> LIME draw-bounding-box ] [ drop ] if ;
+
+: draw-cursor ( hit-state -- )
+    dup nearest-hit>> hit>> [
+        [
+            [ nearest-hit>> position>> ] [ color>> ] bi
+            '[ 0.3 0.3 0.3 _ draw-cube ]
+            [ 0.3 0.3 0.3 RED draw-cube-wires ] bi
+        ]
+        [
+            nearest-hit>>
+            [ position>> dup ] [ normal>> ] bi v+ RED draw-line-3d
+        ] bi
+
+    ]
+    [ drop ] if ;
+
+: while-raylib-window ( quot -- )
+    [ window-should-close not ] swap while ; inline
+
+: with-window ( quot -- )
+    [ make-window ] prepose [ with-destructors ] curry
+    [ close-window ] [ ] cleanup ; inline
+
+SYMBOL: mesh-picking-frame
+:: main ( -- )
+    ! LOG_ALL set-trace-log-level
+    [
+        make-camera :> camera
+        Ray <struct> :> ray
+        init-assets :> ( tower triangle )
+
+        f :> bary!
+        camera CAMERA_FREE set-camera-mode
+
+        60 set-target-fps
+        0 mesh-picking-frame set-global
+        <hit-state> :> the-hit-state
+        f :> hit-mesh-bbox!
+        [
+            ! NOTE: This doesn't work, probably because GL context is not handled correctly for switching?
+            ! mesh-picking-frame counter 100 mod 0 = [ yield ] when
+
+            camera update-camera
+
+            get-mouse-position camera get-mouse-ray :> ray
+
+            the-hit-state dup reset-hit-state
+            ray handle-ground-hit
+
+            ray triangle first3 handle-triangle-hit
+            [ dup nearest-hit>> position>> triangle first3 vector3-barycenter bary! ] [ f bary! ] if
+
+            ray tower [ model>> ] [ bbox>> ] bi handle-mesh-hit hit-mesh-bbox!
+
+            ! Drawing
+            begin-drawing
+            RAYWHITE clear-background
+            camera begin-mode-3d
+            hit-mesh-bbox tower triangle draw-objects
+
+            dup draw-cursor
+
+            ray MAROON draw-ray
+
+            10 10 draw-grid
+            end-mode-3d
+
+            ! Debug Gui Text
+            dup name>> "Hit Object: %s" sprintf 10 30 10 BLACK draw-text
+            nearest-hit>> dup hit>> [
+                70 :> ypos
+                [ distance>> "Distance: %3.2f" sprintf 10 ypos 10 BLACK draw-text ]
+                [ position>> first3 "Hit Pos: %3.2f %3.2f %3.2f" sprintf 10 ypos 15 + 10 BLACK draw-text ]
+                [ normal>> first3 "Hit Norm: %3.2f %3.2f %3.2f" sprintf 10 ypos 30 + 10 BLACK draw-text ]
+                tri
+                bary [ first3
+                       "Barycenter: %3.2f %3.2f %3.2f" sprintf 10 ypos 45 + 10 BLACK draw-text
+                     ] when*
+            ] [ drop ] if
+
+            "Use Mouse to Move Camera" 10 screen-height 20 - 10 GRAY draw-text
+            "(c) Turret 3D model by Alberto Cano" screen-width 200 - screen-height 20 - 10 GRAY draw-text
+
+            10 10 draw-fps
+            end-drawing
+        ] while-raylib-window
+    ] with-window ;
+
+MAIN: main
diff --git a/extra/raylib/demo/mesh-picking/resources.txt b/extra/raylib/demo/mesh-picking/resources.txt
new file mode 100644 (file)
index 0000000..fcacd6e
--- /dev/null
@@ -0,0 +1 @@
+_resources
diff --git a/extra/raylib/demo/mesh-picking/tags.txt b/extra/raylib/demo/mesh-picking/tags.txt
new file mode 100644 (file)
index 0000000..cb5fc20
--- /dev/null
@@ -0,0 +1 @@
+demos