summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2010-04-12 02:47:09 +0200
committerMatthias Schiffer <matthias@gamezock.de>2010-04-12 02:47:09 +0200
commita4f2d991dacfb539a26e71002b6f244c44753b72 (patch)
treed156dc2dffdfe651c78c9c6d74285ee89d6ffe2d
parent4ecea2f9dc5bbb4c5e32b2d845f29c0dc7783ac0 (diff)
downloadhtanks-a4f2d991dacfb539a26e71002b6f244c44753b72.tar
htanks-a4f2d991dacfb539a26e71002b6f244c44753b72.zip
Added 3D models
-rw-r--r--htanks.cabal6
-rw-r--r--model/tank.blendbin0 -> 183512 bytes
-rw-r--r--model/tank.obj1980
-rw-r--r--src/HTanks.hs12
-rw-r--r--src/MainLoop.hs2
-rw-r--r--src/Model.hs8
-rw-r--r--src/Render.hs72
7 files changed, 2062 insertions, 18 deletions
diff --git a/htanks.cabal b/htanks.cabal
index c6f18be..aa33d06 100644
--- a/htanks.cabal
+++ b/htanks.cabal
@@ -7,14 +7,14 @@ license: GPL-3
license-file: LICENSE
author: Matthias Schiffer
maintainer: matthias@gamezock.de
-build-depends: base >= 4, syb, containers, mtl, time, X11, OpenGL, hwiid
+build-depends: base >= 4, syb, containers, mtl, time, X11, OpenGL, hwiid, obj-model, obj-model-gl
build-type: Simple
-data-files: tex/*.png
+data-files: tex/*.png model/*.obj
executable: HTanks
hs-source-dirs: src
main-is: HTanks.hs
other-modules: Collision, CPUPlayer, DefaultPlayer, HWiidPlayer, Game, GLDriver, GLX, Level, MainLoop, Paths_htanks, Player, Render, Simulation, Texture, Debris,
- Tank, Bindings.GLX, Bindings.GLPng
+ Tank, Model, Bindings.GLX, Bindings.GLPng
--ghc-options: -threaded
extra-libraries: glpng
diff --git a/model/tank.blend b/model/tank.blend
new file mode 100644
index 0000000..baf699e
--- /dev/null
+++ b/model/tank.blend
Binary files differ
diff --git a/model/tank.obj b/model/tank.obj
new file mode 100644
index 0000000..1687515
--- /dev/null
+++ b/model/tank.obj
@@ -0,0 +1,1980 @@
+# Blender3D v249 OBJ File: panzer4.blend
+# www.blender3d.org
+o Cube_Cube.001
+v 3.102250 2.000000 -2.000000
+v 3.102250 2.000000 2.000000
+v -3.800000 2.000000 1.999999
+v -3.799998 2.000000 -2.000001
+v 2.237351 3.000000 -1.544789
+v 2.237348 3.000000 1.544790
+v -2.935101 3.000000 1.544789
+v -2.935100 3.000000 -1.544790
+v 0.568916 2.000000 2.000000
+v -1.266667 2.000000 2.000000
+v 0.568917 2.000000 -2.000000
+v -1.266666 2.000000 -2.000000
+v 0.568914 3.000000 2.000000
+v -1.266669 3.000000 2.000000
+v 0.568918 3.000000 -2.000000
+v -1.266666 3.000000 -2.000000
+v 3.102250 2.000000 -0.666667
+v 3.102250 2.000000 0.666667
+v -3.799999 2.000000 0.666666
+v -3.799999 2.000000 -0.666667
+v 2.929683 3.000000 -0.666666
+v 2.929682 3.000000 0.666668
+v -3.627434 3.000000 0.666666
+v -3.627434 3.000000 -0.666667
+v 0.797129 1.835087 0.832436
+v 0.797129 1.835087 -0.832436
+v -1.494879 1.835087 0.832436
+v -1.494879 1.835087 -0.832437
+v 0.797128 3.491362 0.832437
+v 0.797129 3.491362 -0.832436
+v -1.494881 3.491362 0.832436
+v -1.494879 3.491362 -0.832436
+v -0.348875 4.290236 -0.000000
+v 0.461309 3.464180 -0.161156
+v 0.445741 3.625335 -0.158059
+v 0.399637 3.780298 -0.148889
+v 0.324768 3.923112 -0.133996
+v 0.224011 4.048290 -0.113954
+v 0.101239 4.151021 -0.089534
+v -0.038831 4.227357 -0.061672
+v -0.190816 4.274364 -0.031440
+v -0.199987 4.274364 -0.061672
+v -0.056820 4.227357 -0.120973
+v 0.075123 4.151021 -0.175626
+v 0.190772 4.048290 -0.223530
+v 0.285683 3.923112 -0.262843
+v 0.356208 3.780298 -0.292055
+v 0.399637 3.625335 -0.310044
+v 0.414302 3.464180 -0.316118
+v 0.337966 3.464180 -0.458933
+v 0.324768 3.625335 -0.450114
+v 0.285683 3.780298 -0.423999
+v 0.222212 3.923112 -0.381589
+v 0.136795 4.048290 -0.324515
+v 0.032713 4.151021 -0.254969
+v -0.086033 4.227357 -0.175626
+v -0.214879 4.274364 -0.089534
+v -0.234921 4.274364 -0.113954
+v -0.125346 4.227357 -0.223530
+v -0.024361 4.151021 -0.324515
+v 0.064153 4.048290 -0.413029
+v 0.136795 3.923112 -0.485670
+v 0.190772 3.780298 -0.539648
+v 0.224011 3.625335 -0.572887
+v 0.235235 3.464180 -0.584111
+v 0.110057 3.464180 -0.686841
+v 0.101239 3.625335 -0.673644
+v 0.075123 3.780298 -0.634559
+v 0.032713 3.923112 -0.571088
+v -0.024361 4.048290 -0.485670
+v -0.093906 4.151021 -0.381589
+v -0.173249 4.227357 -0.262843
+v -0.259342 4.274364 -0.133996
+v -0.287204 4.274364 -0.148889
+v -0.227902 4.227357 -0.292055
+v -0.173249 4.151021 -0.423999
+v -0.125346 4.048290 -0.539648
+v -0.086033 3.923112 -0.634559
+v -0.056820 3.780298 -0.705084
+v -0.038831 3.625335 -0.748513
+v -0.032757 3.464180 -0.763177
+v -0.187720 3.464180 -0.810184
+v -0.190816 3.625335 -0.794617
+v -0.199987 3.780298 -0.748513
+v -0.214879 3.923112 -0.673644
+v -0.234921 4.048290 -0.572887
+v -0.259342 4.151021 -0.450114
+v -0.287204 4.227357 -0.310044
+v -0.317435 4.274364 -0.158059
+v -0.348875 4.274364 -0.161156
+v -0.348875 4.227357 -0.316118
+v -0.348875 4.151021 -0.458933
+v -0.348875 4.048290 -0.584110
+v -0.348875 3.923112 -0.686841
+v -0.348875 3.780298 -0.763177
+v -0.348875 3.625335 -0.810184
+v -0.348875 3.464180 -0.826057
+v -0.510031 3.464180 -0.810184
+v -0.506934 3.625335 -0.794617
+v -0.497764 3.780298 -0.748513
+v -0.482871 3.923112 -0.673644
+v -0.462830 4.048290 -0.572887
+v -0.438409 4.151021 -0.450114
+v -0.410547 4.227357 -0.310044
+v -0.380315 4.274364 -0.158059
+v -0.410547 4.274364 -0.148889
+v -0.469849 4.227357 -0.292055
+v -0.524501 4.151021 -0.423998
+v -0.572405 4.048290 -0.539648
+v -0.611718 3.923112 -0.634558
+v -0.640930 3.780298 -0.705084
+v -0.658919 3.625335 -0.748513
+v -0.664994 3.464180 -0.763177
+v -0.807808 3.464180 -0.686841
+v -0.798990 3.625335 -0.673644
+v -0.772874 3.780298 -0.634559
+v -0.730464 3.923112 -0.571088
+v -0.673390 4.048290 -0.485670
+v -0.603845 4.151021 -0.381589
+v -0.524501 4.227357 -0.262843
+v -0.438409 4.274364 -0.133996
+v -0.462830 4.274364 -0.113954
+v -0.572405 4.227357 -0.223530
+v -0.673390 4.151021 -0.324514
+v -0.761904 4.048290 -0.413029
+v -0.834545 3.923112 -0.485670
+v -0.888523 3.780298 -0.539648
+v -0.921762 3.625335 -0.572887
+v -0.932985 3.464180 -0.584110
+v -1.035716 3.464180 -0.458932
+v -1.022519 3.625335 -0.450114
+v -0.983434 3.780298 -0.423999
+v -0.919963 3.923112 -0.381589
+v -0.834545 4.048290 -0.324514
+v -0.730464 4.151021 -0.254969
+v -0.611718 4.227357 -0.175626
+v -0.482871 4.274364 -0.089533
+v -0.497764 4.274364 -0.061672
+v -0.640930 4.227357 -0.120973
+v -0.772874 4.151021 -0.175626
+v -0.888523 4.048290 -0.223530
+v -0.983434 3.923112 -0.262843
+v -1.053959 3.780298 -0.292055
+v -1.097388 3.625335 -0.310044
+v -1.112052 3.464180 -0.316118
+v -1.159059 3.464180 -0.161156
+v -1.143492 3.625335 -0.158059
+v -1.097388 3.780298 -0.148889
+v -1.022519 3.923112 -0.133996
+v -0.921762 4.048290 -0.113954
+v -0.798989 4.151021 -0.089533
+v -0.658919 4.227357 -0.061672
+v -0.506934 4.274364 -0.031440
+v -0.510031 4.274364 -0.000000
+v -0.664993 4.227357 -0.000000
+v -0.807808 4.151021 -0.000000
+v -0.932985 4.048290 -0.000000
+v -1.035716 3.923112 -0.000000
+v -1.112052 3.780298 -0.000000
+v -1.159059 3.625336 -0.000000
+v -1.174932 3.464180 0.000000
+v -1.159059 3.464180 0.161156
+v -1.143492 3.625336 0.158059
+v -1.097388 3.780298 0.148888
+v -1.022519 3.923112 0.133996
+v -0.921762 4.048290 0.113954
+v -0.798989 4.151021 0.089533
+v -0.658919 4.227357 0.061671
+v -0.506934 4.274364 0.031440
+v -0.497764 4.274364 0.061671
+v -0.640930 4.227357 0.120973
+v -0.772873 4.151021 0.175626
+v -0.888523 4.048290 0.223529
+v -0.983433 3.923112 0.262842
+v -1.053959 3.780298 0.292055
+v -1.097388 3.625336 0.310044
+v -1.112051 3.464180 0.316118
+v -1.035716 3.464180 0.458932
+v -1.022519 3.625336 0.450114
+v -0.983433 3.780298 0.423998
+v -0.919962 3.923112 0.381588
+v -0.834545 4.048290 0.324514
+v -0.730463 4.151021 0.254969
+v -0.611718 4.227357 0.175626
+v -0.482871 4.274364 0.089533
+v -0.462830 4.274364 0.113954
+v -0.572405 4.227357 0.223529
+v -0.673389 4.151021 0.324514
+v -0.761904 4.048290 0.413028
+v -0.834545 3.923112 0.485670
+v -0.888523 3.780298 0.539647
+v -0.921762 3.625336 0.572886
+v -0.932985 3.464180 0.584110
+v -0.807807 3.464180 0.686840
+v -0.798989 3.625336 0.673643
+v -0.772874 3.780298 0.634558
+v -0.730464 3.923112 0.571087
+v -0.673390 4.048290 0.485670
+v -0.603844 4.151021 0.381588
+v -0.524501 4.227357 0.262842
+v -0.438409 4.274364 0.133996
+v -0.410547 4.274364 0.148888
+v -0.469848 4.227357 0.292055
+v -0.524501 4.151021 0.423998
+v -0.572405 4.048290 0.539647
+v -0.611718 3.923112 0.634558
+v -0.640930 3.780298 0.705083
+v -0.658919 3.625336 0.748512
+v -0.664993 3.464180 0.763176
+v -0.510030 3.464180 0.810183
+v -0.506934 3.625336 0.794616
+v -0.497764 3.780298 0.748512
+v -0.482871 3.923112 0.673643
+v -0.462830 4.048290 0.572886
+v -0.438408 4.151021 0.450114
+v -0.410547 4.227357 0.310044
+v -0.380315 4.274364 0.158059
+v -0.348875 4.274364 0.161155
+v -0.348875 4.227357 0.316118
+v -0.348875 4.151021 0.458932
+v -0.348875 4.048290 0.584110
+v -0.348875 3.923112 0.686840
+v -0.348875 3.780298 0.763176
+v -0.348875 3.625336 0.810184
+v -0.348875 3.464180 0.826056
+v -0.187719 3.464180 0.810183
+v -0.190816 3.625336 0.794616
+v -0.199987 3.780298 0.748512
+v -0.214879 3.923112 0.673643
+v -0.234921 4.048290 0.572886
+v -0.259342 4.151021 0.450114
+v -0.287204 4.227357 0.310044
+v -0.317435 4.274364 0.158059
+v -0.287204 4.274364 0.148888
+v -0.227902 4.227357 0.292055
+v -0.173249 4.151021 0.423998
+v -0.125346 4.048290 0.539647
+v -0.086033 3.923112 0.634558
+v -0.056820 3.780298 0.705083
+v -0.038831 3.625336 0.748512
+v -0.032757 3.464180 0.763176
+v 0.110057 3.464180 0.686840
+v 0.101239 3.625336 0.673643
+v 0.075123 3.780298 0.634558
+v 0.032713 3.923112 0.571087
+v -0.024361 4.048290 0.485670
+v -0.093906 4.151021 0.381588
+v -0.173249 4.227357 0.262842
+v -0.259342 4.274364 0.133996
+v -0.234921 4.274364 0.113954
+v -0.125346 4.227357 0.223529
+v -0.024361 4.151021 0.324514
+v 0.064153 4.048290 0.413028
+v 0.136794 3.923112 0.485669
+v 0.190772 3.780298 0.539647
+v 0.224011 3.625336 0.572886
+v 0.235235 3.464180 0.584109
+v 0.337965 3.464180 0.458932
+v 0.324768 3.625336 0.450114
+v 0.285683 3.780298 0.423998
+v 0.222212 3.923112 0.381588
+v 0.136795 4.048290 0.324514
+v 0.032713 4.151021 0.254969
+v -0.086033 4.227357 0.175626
+v -0.214879 4.274364 0.089533
+v -0.199987 4.274364 0.061671
+v -0.056820 4.227357 0.120973
+v 0.075123 4.151021 0.175625
+v 0.190772 4.048290 0.223529
+v 0.285683 3.923112 0.262842
+v 0.356208 3.780298 0.292055
+v 0.399637 3.625336 0.310044
+v 0.414301 3.464180 0.316117
+v 0.461308 3.464180 0.161155
+v 0.445741 3.625336 0.158059
+v 0.399637 3.780298 0.148888
+v 0.324768 3.923112 0.133996
+v 0.224011 4.048290 0.113954
+v 0.101238 4.151021 0.089533
+v -0.038831 4.227357 0.061671
+v -0.190816 4.274364 0.031440
+v -0.187720 4.274364 -0.000000
+v -0.032757 4.227357 -0.000000
+v 0.110057 4.151021 -0.000000
+v 0.235235 4.048290 -0.000000
+v 0.337965 3.923112 -0.000000
+v 0.414301 3.780298 -0.000000
+v 0.461308 3.625335 -0.000000
+v 0.477180 3.464180 -0.000001
+v 2.946716 2.638737 -0.138737
+v 2.946716 2.575084 -0.181269
+v 2.946716 2.500000 -0.196204
+v 2.946716 2.424916 -0.181269
+v 2.946716 2.361263 -0.138737
+v 2.946716 2.318731 -0.075084
+v 2.946716 2.303796 0.000000
+v 2.946716 2.318731 0.075084
+v 2.946716 2.361263 0.138738
+v 2.946716 2.424916 0.181269
+v 2.946716 2.500000 0.196205
+v 2.946716 2.575084 0.181269
+v 2.946716 2.638737 0.138738
+v 2.946716 2.681269 0.075084
+v 2.946716 2.696204 0.000000
+v 2.946716 2.681269 -0.075084
+v 7.447976 2.638737 -0.138737
+v 7.447976 2.575084 -0.181269
+v 7.447976 2.500000 -0.196204
+v 7.447976 2.424916 -0.181269
+v 7.447976 2.361263 -0.138737
+v 7.447976 2.318731 -0.075084
+v 7.447976 2.303796 0.000000
+v 7.447976 2.318731 0.075084
+v 7.447976 2.361263 0.138738
+v 7.447976 2.424916 0.181269
+v 7.447976 2.500000 0.196205
+v 7.447976 2.575084 0.181269
+v 7.447976 2.638737 0.138738
+v 7.447976 2.681269 0.075084
+v 7.447976 2.696204 0.000000
+v 7.447976 2.681269 -0.075084
+v 7.447976 2.600862 -0.243501
+v 7.447976 2.686368 -0.186367
+v 7.447976 2.500000 -0.263563
+v 7.447976 2.399138 -0.243501
+v 7.447976 2.313632 -0.186367
+v 7.447976 2.256499 -0.100861
+v 7.447976 2.236436 0.000000
+v 7.447976 2.256499 0.100862
+v 7.447976 2.313632 0.186368
+v 7.447976 2.399138 0.243501
+v 7.447976 2.500000 0.263564
+v 7.447976 2.600862 0.243501
+v 7.447976 2.686368 0.186368
+v 7.447976 2.743501 0.100862
+v 7.447976 2.763564 0.000000
+v 7.447976 2.743501 -0.100861
+v 8.218384 2.686368 -0.186367
+v 8.218384 2.600862 -0.243501
+v 8.218384 2.500000 -0.263563
+v 8.218384 2.399138 -0.243501
+v 8.218384 2.313632 -0.186367
+v 8.218384 2.256499 -0.100861
+v 8.218384 2.236436 0.000000
+v 8.218384 2.256499 0.100862
+v 8.218384 2.313632 0.186368
+v 8.218384 2.399138 0.243501
+v 8.218384 2.500000 0.263564
+v 8.218384 2.600862 0.243501
+v 8.218384 2.686368 0.186368
+v 8.218384 2.743501 0.100862
+v 8.218384 2.763564 0.000000
+v 8.218384 2.743501 -0.100861
+v 8.218384 2.500000 0.000000
+vn 0.561296 0.265419 -0.783868
+vn 0.561296 0.545183 -0.622608
+vn 1.000000 0.000000 0.000000
+vn 0.561296 -0.054750 -0.825770
+vn 0.561296 -0.366588 -0.741966
+vn 0.561296 -0.622639 -0.545183
+vn 0.561296 -0.783868 -0.265419
+vn 0.561296 -0.825770 0.054750
+vn 0.561296 -0.741966 0.366588
+vn 0.561296 -0.545183 0.622608
+vn 0.561296 -0.265419 0.783868
+vn 0.561296 0.054750 0.825770
+vn 0.561296 0.366588 0.741966
+vn 0.561296 0.622639 0.545183
+vn 0.561296 0.783868 0.265419
+vn 0.561296 0.825770 -0.054750
+vn 0.561296 0.741966 -0.366588
+vn -0.713157 0.527360 -0.461776
+vn -0.713157 0.663961 -0.224799
+vn -0.713157 0.699454 0.046358
+vn -0.713157 0.628468 0.310495
+vn -0.713157 0.461776 0.527360
+vn -0.713157 0.224799 0.663961
+vn -0.713157 -0.046358 0.699454
+vn -0.713157 -0.310495 0.628468
+vn -0.713157 -0.527360 0.461776
+vn -0.713157 -0.663961 0.224799
+vn -0.713157 -0.699454 -0.046358
+vn -0.713157 -0.628468 -0.310495
+vn -0.713157 -0.461776 -0.527360
+vn -0.713157 -0.224799 -0.663961
+vn -0.713157 0.046358 -0.699454
+vn -0.713157 0.310495 -0.628468
+vn 0.000000 0.658773 -0.752312
+vn 0.000000 0.896512 -0.442946
+vn 0.000000 0.997803 -0.066134
+vn 0.000000 0.947172 0.320719
+vn 0.000000 0.752312 0.658773
+vn 0.000000 0.442946 0.896512
+vn 0.000000 0.066134 0.997803
+vn 0.000000 -0.320719 0.947172
+vn 0.000000 -0.658773 0.752312
+vn 0.000000 -0.896512 0.442946
+vn 0.000000 -0.997803 0.066134
+vn 0.000000 -0.947172 -0.320719
+vn 0.000000 -0.752312 -0.658773
+vn 0.000000 -0.442946 -0.896512
+vn 0.000000 -0.066134 -0.997803
+vn 0.000000 0.320719 -0.947172
+vn -0.784875 0.588031 0.195288
+vn -0.442335 0.632984 0.635334
+vn -0.116001 0.972991 0.199438
+vn -0.112125 0.549577 0.827845
+vn -0.594958 0.779931 -0.194067
+vn -0.096927 0.981262 -0.166356
+vn -0.442335 0.632984 -0.635334
+vn -0.074831 0.551561 -0.830744
+vn 0.074831 0.551561 0.830744
+vn 0.096927 0.981262 0.166356
+vn 0.116001 0.972991 -0.199438
+vn 0.112125 0.549577 -0.827845
+vn 0.442335 0.632984 0.635334
+vn 0.594958 0.779931 0.194067
+vn 0.784875 0.588031 -0.195288
+vn 0.442335 0.632984 -0.635334
+vn -0.884457 -0.443190 -0.145878
+vn -0.510147 -0.566485 -0.647145
+vn -0.020447 -0.997955 -0.060091
+vn -0.074526 -0.443403 -0.893185
+vn -0.911100 -0.354625 0.209937
+vn -0.030671 -0.997711 0.060091
+vn -0.510147 -0.566485 0.647145
+vn -0.059175 -0.352092 0.934080
+vn 0.052583 -0.510758 -0.858089
+vn 0.028626 -0.997986 -0.056093
+vn 0.030641 -0.998718 0.040040
+vn 0.062990 -0.611805 0.788476
+vn 0.510147 -0.566485 -0.647145
+vn 0.789636 -0.587390 -0.177190
+vn 0.960143 -0.228004 0.161473
+vn 0.510147 -0.566485 0.647145
+vn 0.214331 0.976714 0.005737
+vn 0.211341 0.976714 -0.036164
+vn 0.000000 1.000000 0.000000
+vn 0.200201 0.976714 -0.076693
+vn 0.181402 0.976714 -0.114292
+vn 0.155614 0.976714 -0.147496
+vn 0.123844 0.976714 -0.175024
+vn 0.087313 0.976714 -0.195807
+vn 0.047426 0.976714 -0.209082
+vn 0.005737 0.976714 -0.214331
+vn -0.036164 0.976714 -0.211341
+vn -0.076693 0.976714 -0.200201
+vn -0.114292 0.976714 -0.181402
+vn -0.147496 0.976714 -0.155614
+vn -0.175024 0.976714 -0.123844
+vn -0.195807 0.976714 -0.087313
+vn -0.209082 0.976714 -0.047426
+vn -0.214331 0.976714 -0.005737
+vn -0.211341 0.976714 0.036164
+vn -0.200201 0.976714 0.076693
+vn -0.181402 0.976714 0.114292
+vn -0.155614 0.976714 0.147496
+vn -0.123844 0.976714 0.175024
+vn -0.087313 0.976714 0.195807
+vn -0.047426 0.976714 0.209082
+vn -0.005737 0.976714 0.214331
+vn 0.036164 0.976714 0.211341
+vn 0.076693 0.976714 0.200201
+vn 0.114292 0.976714 0.181402
+vn 0.147496 0.976714 0.155614
+vn 0.175024 0.976714 0.123844
+vn 0.195807 0.976714 0.087313
+vn 0.209082 0.976714 0.047426
+vn 0.981903 0.097934 0.161992
+vn 0.994629 0.097934 -0.032624
+vn 0.980773 0.195105 0.000610
+vn 0.961791 0.195105 0.191931
+vn 0.923856 0.382702 0.001221
+vn 0.905850 0.382702 0.181433
+vn 0.831416 0.555589 0.001770
+vn 0.815119 0.555589 0.163945
+vn 0.697012 0.716971 0.010895
+vn 0.688772 0.706931 0.160649
+vn 0.548326 0.831355 0.090457
+vn 0.539018 0.842219 -0.009308
+vn 0.382641 0.923887 0.002960
+vn 0.374706 0.923887 0.077548
+vn 0.352367 0.923887 0.149174
+vn 0.520127 0.831355 0.195685
+vn 0.644185 0.706931 0.291940
+vn 0.763665 0.571795 0.299753
+vn 0.843226 0.395611 0.363903
+vn 0.905881 0.195105 0.375896
+vn 0.931425 0.097934 0.350444
+vn 0.845149 0.097934 0.525437
+vn 0.815119 0.195105 0.545396
+vn 0.763604 0.364360 0.533006
+vn 0.703757 0.543809 0.457076
+vn 0.574847 0.706931 0.412000
+vn 0.471938 0.831355 0.293405
+vn 0.316477 0.923887 0.215064
+vn 0.268441 0.923887 0.272683
+vn 0.405621 0.831355 0.379833
+vn 0.483413 0.706931 0.516251
+vn 0.586657 0.555589 0.589160
+vn 0.652394 0.382702 0.654134
+vn 0.693075 0.195105 0.693930
+vn 0.726402 0.097934 0.680227
+vn 0.579730 0.097934 0.808863
+vn 0.544359 0.195105 0.815821
+vn 0.512223 0.382702 0.768822
+vn 0.460433 0.555589 0.692312
+vn 0.373424 0.706931 0.600635
+vn 0.323740 0.831355 0.451674
+vn 0.210089 0.923887 0.319803
+vn 0.143651 0.923887 0.354656
+vn 0.223182 0.823573 0.521439
+vn 0.261696 0.692984 0.671743
+vn 0.328013 0.571795 0.751946
+vn 0.338908 0.395611 0.853572
+vn 0.374737 0.195105 0.906339
+vn 0.410779 0.097934 0.906430
+vn 0.226051 0.097934 0.969146
+vn 0.190710 0.195105 0.962035
+vn 0.163060 0.364360 0.916837
+vn 0.174413 0.543809 0.820856
+vn 0.135685 0.707114 0.693930
+vn 0.105747 0.831477 0.545366
+vn 0.071718 0.923887 0.375866
+vn -0.002960 0.923887 0.382641
+vn 0.009308 0.842219 0.539018
+vn -0.010895 0.716971 0.697012
+vn 0.015290 0.571795 0.820246
+vn -0.013520 0.395611 0.918302
+vn -0.000610 0.195105 0.980773
+vn 0.032655 0.097934 0.994629
+vn -0.161992 0.097934 0.981903
+vn -0.191931 0.195105 0.961791
+vn -0.200201 0.364360 0.909452
+vn -0.152959 0.543809 0.825129
+vn -0.160649 0.706931 0.688772
+vn -0.090457 0.831355 0.548326
+vn -0.077548 0.923887 0.374706
+vn -0.149174 0.923887 0.352367
+vn -0.195685 0.831355 0.520127
+vn -0.291940 0.706931 0.644185
+vn -0.319803 0.555589 0.767449
+vn -0.354656 0.382702 0.853053
+vn -0.375896 0.195105 0.905881
+vn -0.350444 0.097934 0.931425
+vn -0.525437 0.097934 0.845149
+vn -0.545396 0.195105 0.815119
+vn -0.514267 0.382702 0.767479
+vn -0.463393 0.555589 0.690329
+vn -0.412000 0.706931 0.574847
+vn -0.293405 0.831355 0.471938
+vn -0.215064 0.923887 0.316477
+vn -0.272683 0.923887 0.268441
+vn -0.396313 0.823573 0.405744
+vn -0.520463 0.692984 0.498856
+vn -0.569170 0.571795 0.590808
+vn -0.658895 0.395611 0.639760
+vn -0.693930 0.195105 0.693075
+vn -0.680227 0.097934 0.726402
+vn -0.808863 0.097934 0.579730
+vn -0.815821 0.195105 0.544359
+vn -0.784631 0.382519 0.487808
+vn -0.675893 0.555376 0.484420
+vn -0.585589 0.716971 0.378155
+vn -0.442976 0.842219 0.307199
+vn -0.319803 0.923887 0.210089
+vn -0.354656 0.923887 0.143651
+vn -0.521439 0.823573 0.223182
+vn -0.671743 0.692984 0.261696
+vn -0.757408 0.555376 0.343242
+vn -0.864742 0.382519 0.325358
+vn -0.906339 0.195105 0.374737
+vn -0.906430 0.097934 0.410779
+vn -0.969146 0.097934 0.226051
+vn -0.962035 0.195105 0.190710
+vn -0.911588 0.382519 0.150395
+vn -0.809839 0.555376 0.188879
+vn -0.693930 0.707114 0.135685
+vn -0.545366 0.831477 0.105747
+vn -0.375866 0.923887 0.071718
+vn -0.382641 0.923887 -0.002960
+vn -0.539018 0.842219 0.009308
+vn -0.697012 0.716971 -0.010895
+vn -0.831111 0.555376 0.027284
+vn -0.923429 0.382519 -0.030305
+vn -0.980773 0.195105 -0.000610
+vn -0.994629 0.097934 0.032655
+vn -0.981903 0.097934 -0.161992
+vn -0.961791 0.195105 -0.191931
+vn -0.899777 0.382519 -0.209876
+vn -0.820460 0.555376 -0.135380
+vn -0.703940 0.692984 -0.155583
+vn -0.557543 0.823573 -0.104099
+vn -0.374706 0.923887 -0.077548
+vn -0.352367 0.923887 -0.149174
+vn -0.512192 0.831477 -0.215064
+vn -0.652364 0.707114 -0.272683
+vn -0.778283 0.555376 -0.292825
+vn -0.841517 0.382519 -0.381390
+vn -0.905881 0.195105 -0.375896
+vn -0.931425 0.097934 -0.350444
+vn -0.845149 0.097934 -0.525437
+vn -0.815119 0.195105 -0.545396
+vn -0.750969 0.382519 -0.538224
+vn -0.706198 0.555376 -0.439039
+vn -0.586627 0.707114 -0.394696
+vn -0.460402 0.831477 -0.310862
+vn -0.316477 0.923887 -0.215064
+vn -0.268441 0.923887 -0.272683
+vn -0.390912 0.831477 -0.394696
+vn -0.498337 0.707114 -0.501572
+vn -0.606983 0.555376 -0.568407
+vn -0.631519 0.382519 -0.674398
+vn -0.693075 0.195105 -0.693930
+vn -0.726402 0.097934 -0.680227
+vn -0.579730 0.097934 -0.808863
+vn -0.544359 0.195105 -0.815821
+vn -0.487808 0.382519 -0.784631
+vn -0.484420 0.555376 -0.675893
+vn -0.378155 0.716971 -0.585589
+vn -0.307199 0.842219 -0.442976
+vn -0.210089 0.923887 -0.319803
+vn -0.143651 0.923887 -0.354656
+vn -0.223182 0.823573 -0.521439
+vn -0.261696 0.692984 -0.671743
+vn -0.343242 0.555376 -0.757408
+vn -0.325358 0.382519 -0.864742
+vn -0.374737 0.195105 -0.906339
+vn -0.410779 0.097934 -0.906430
+vn -0.226051 0.097934 -0.969146
+vn -0.190710 0.195105 -0.962035
+vn -0.150395 0.382519 -0.911588
+vn -0.188879 0.555376 -0.809839
+vn -0.135685 0.707114 -0.693930
+vn -0.105747 0.831477 -0.545366
+vn -0.071718 0.923887 -0.375866
+vn 0.002960 0.923887 -0.382641
+vn 0.002655 0.831477 -0.555528
+vn 0.002258 0.707114 -0.707053
+vn -0.027284 0.555376 -0.831111
+vn 0.030305 0.382519 -0.923429
+vn 0.000610 0.195105 -0.980773
+vn -0.032655 0.097934 -0.994629
+vn 0.161992 0.097934 -0.981903
+vn 0.191931 0.195105 -0.961791
+vn 0.209876 0.382519 -0.899777
+vn 0.135380 0.555376 -0.820460
+vn 0.140172 0.707114 -0.693014
+vn 0.110996 0.831477 -0.544328
+vn 0.077548 0.923887 -0.374706
+vn 0.149174 0.923887 -0.352367
+vn 0.215064 0.831477 -0.512192
+vn 0.272683 0.707114 -0.652364
+vn 0.292825 0.555376 -0.778283
+vn 0.381390 0.382519 -0.841517
+vn 0.375896 0.195105 -0.905881
+vn 0.350444 0.097964 -0.931425
+vn 0.525437 0.097964 -0.845149
+vn 0.545396 0.195105 -0.815119
+vn 0.533006 0.364360 -0.763604
+vn 0.457076 0.543809 -0.703757
+vn 0.394696 0.707114 -0.586627
+vn 0.310862 0.831477 -0.460402
+vn 0.215064 0.923887 -0.316477
+vn 0.272683 0.923887 -0.268441
+vn 0.394696 0.831477 -0.390912
+vn 0.501572 0.707114 -0.498337
+vn 0.589160 0.555589 -0.586657
+vn 0.654134 0.382702 -0.652394
+vn 0.693930 0.195105 -0.693075
+vn 0.680227 0.097964 -0.726402
+vn 0.808863 0.097964 -0.579730
+vn 0.815821 0.195105 -0.544359
+vn 0.768822 0.382702 -0.512223
+vn 0.692312 0.555589 -0.460433
+vn 0.589160 0.707114 -0.390912
+vn 0.463393 0.831477 -0.306406
+vn 0.319803 0.923887 -0.210089
+vn 0.354656 0.923887 -0.143651
+vn 0.514267 0.831477 -0.210089
+vn 0.654103 0.707114 -0.268471
+vn 0.768822 0.555589 -0.316507
+vn 0.853999 0.382702 -0.352397
+vn 0.906339 0.195105 -0.374737
+vn 0.906430 0.097964 -0.410779
+vn 0.969146 0.097964 -0.226051
+vn 0.962035 0.195105 -0.190710
+vn 0.906339 0.382702 -0.179022
+vn 0.815790 0.555589 -0.160436
+vn 0.693930 0.707114 -0.135685
+vn 0.545366 0.831477 -0.105747
+vn 0.375866 0.923887 -0.071718
+usemtl Material
+s 1
+f 339//1 338//2 354//3
+f 340//4 339//1 354//3
+f 341//5 340//4 354//3
+f 342//6 341//5 354//3
+f 343//7 342//6 354//3
+f 344//8 343//7 354//3
+f 345//9 344//8 354//3
+f 346//10 345//9 354//3
+f 347//11 346//10 354//3
+f 348//12 347//11 354//3
+f 349//13 348//12 354//3
+f 350//14 349//13 354//3
+f 351//15 350//14 354//3
+f 352//16 351//15 354//3
+f 353//17 352//16 354//3
+f 338//2 353//17 354//3
+f 323//18 337//19 353//17
+f 323//18 353//17 338//2
+f 337//19 336//20 352//16
+f 337//19 352//16 353//17
+f 336//20 335//21 351//15
+f 336//20 351//15 352//16
+f 335//21 334//22 350//14
+f 335//21 350//14 351//15
+f 334//22 333//23 349//13
+f 334//22 349//13 350//14
+f 333//23 332//24 348//12
+f 333//23 348//12 349//13
+f 332//24 331//25 347//11
+f 332//24 347//11 348//12
+f 331//25 330//26 346//10
+f 331//25 346//10 347//11
+f 330//26 329//27 345//9
+f 330//26 345//9 346//10
+f 329//27 328//28 344//8
+f 329//27 344//8 345//9
+f 328//28 327//29 343//7
+f 328//28 343//7 344//8
+f 327//29 326//30 342//6
+f 327//29 342//6 343//7
+f 326//30 325//31 341//5
+f 326//30 341//5 342//6
+f 325//31 324//32 340//4
+f 325//31 340//4 341//5
+f 324//32 322//33 339//1
+f 324//32 339//1 340//4
+f 322//33 323//18 338//2
+f 322//33 338//2 339//1
+f 306//18 321//19 337//19
+f 306//18 337//19 323//18
+f 321//19 320//20 336//20
+f 321//19 336//20 337//19
+f 320//20 319//21 335//21
+f 320//20 335//21 336//20
+f 319//21 318//22 334//22
+f 319//21 334//22 335//21
+f 318//22 317//23 333//23
+f 318//22 333//23 334//22
+f 317//23 316//24 332//24
+f 317//23 332//24 333//23
+f 316//24 315//25 331//25
+f 316//24 331//25 332//24
+f 315//25 314//26 330//26
+f 315//25 330//26 331//25
+f 314//26 313//27 329//27
+f 314//26 329//27 330//26
+f 313//27 312//28 328//28
+f 313//27 328//28 329//27
+f 312//28 311//29 327//29
+f 312//28 327//29 328//28
+f 311//29 310//30 326//30
+f 311//29 326//30 327//29
+f 310//30 309//31 325//31
+f 310//30 325//31 326//30
+f 309//31 308//32 324//32
+f 309//31 324//32 325//31
+f 308//32 307//33 322//33
+f 308//32 322//33 324//32
+f 307//33 306//18 323//18
+f 307//33 323//18 322//33
+f 290//34 305//35 306//18
+f 305//35 321//19 306//18
+f 305//35 304//36 321//19
+f 304//36 320//20 321//19
+f 304//36 303//37 320//20
+f 303//37 319//21 320//20
+f 303//37 302//38 319//21
+f 302//38 318//22 319//21
+f 302//38 301//39 318//22
+f 301//39 317//23 318//22
+f 301//39 300//40 317//23
+f 300//40 316//24 317//23
+f 300//40 299//41 316//24
+f 299//41 315//25 316//24
+f 299//41 298//42 315//25
+f 298//42 314//26 315//25
+f 298//42 297//43 314//26
+f 297//43 313//27 314//26
+f 297//43 296//44 313//27
+f 296//44 312//28 313//27
+f 296//44 295//45 312//28
+f 295//45 311//29 312//28
+f 295//45 294//46 311//29
+f 294//46 310//30 311//29
+f 294//46 293//47 310//30
+f 293//47 309//31 310//30
+f 293//47 292//48 309//31
+f 292//48 308//32 309//31
+f 292//48 291//49 308//32
+f 291//49 307//33 308//32
+f 291//49 290//34 307//33
+f 290//34 306//18 307//33
+f 23//50 7//51 31//52
+f 7//51 14//53 31//52
+f 24//54 23//50 31//52
+f 24//54 31//52 32//55
+f 8//56 24//54 32//55
+f 8//56 32//55 16//57
+f 31//52 14//53 13//58
+f 31//52 13//58 29//59
+f 32//55 31//52 29//59
+f 32//55 29//59 30//60
+f 16//57 32//55 30//60
+f 16//57 30//60 15//61
+f 29//59 13//58 6//62
+f 29//59 6//62 22//63
+f 30//60 29//59 22//63
+f 30//60 22//63 21//64
+f 15//61 30//60 5//65
+f 30//60 21//64 5//65
+f 20//66 4//67 28//68
+f 4//67 12//69 28//68
+f 19//70 20//66 27//71
+f 20//66 28//68 27//71
+f 3//72 19//70 27//71
+f 3//72 27//71 10//73
+f 28//68 12//69 11//74
+f 28//68 11//74 26//75
+f 27//71 28//68 25//76
+f 28//68 26//75 25//76
+f 10//73 27//71 9//77
+f 27//71 25//76 9//77
+f 1//78 17//79 26//75
+f 1//78 26//75 11//74
+f 25//76 26//75 17//79
+f 25//76 17//79 18//80
+f 9//77 25//76 2//81
+f 25//76 18//80 2//81
+f 24//54 8//56 20//66
+f 8//56 4//67 20//66
+f 23//50 24//54 20//66
+f 23//50 20//66 19//70
+f 7//51 23//50 19//70
+f 7//51 19//70 3//72
+f 22//63 6//62 18//80
+f 6//62 2//81 18//80
+f 21//64 22//63 18//80
+f 21//64 18//80 17//79
+f 17//79 1//78 5//65
+f 17//79 5//65 21//64
+f 12//69 4//67 8//56
+f 12//69 8//56 16//57
+f 11//74 12//69 16//57
+f 11//74 16//57 15//61
+f 1//78 11//74 5//65
+f 11//74 15//61 5//65
+f 14//53 7//51 10//73
+f 7//51 3//72 10//73
+f 13//58 14//53 10//73
+f 13//58 10//73 9//77
+f 6//62 13//58 9//77
+f 6//62 9//77 2//81
+usemtl Material.001
+f 282//82 41//83 33//84
+f 41//83 42//85 33//84
+f 42//85 57//86 33//84
+f 57//86 58//87 33//84
+f 58//87 73//88 33//84
+f 73//88 74//89 33//84
+f 74//89 89//90 33//84
+f 89//90 90//91 33//84
+f 90//91 105//92 33//84
+f 105//92 106//93 33//84
+f 106//93 121//94 33//84
+f 121//94 122//95 33//84
+f 122//95 137//96 33//84
+f 137//96 138//97 33//84
+f 138//97 153//98 33//84
+f 153//98 154//99 33//84
+f 154//99 169//100 33//84
+f 169//100 170//101 33//84
+f 170//101 185//102 33//84
+f 185//102 186//103 33//84
+f 186//103 201//104 33//84
+f 201//104 202//105 33//84
+f 202//105 217//106 33//84
+f 217//106 218//107 33//84
+f 218//107 233//108 33//84
+f 233//108 234//109 33//84
+f 234//109 249//110 33//84
+f 249//110 250//111 33//84
+f 250//111 265//112 33//84
+f 265//112 266//113 33//84
+f 266//113 281//114 33//84
+f 281//114 282//82 33//84
+f 274//115 289//116 288//117
+f 274//115 288//117 275//118
+f 275//118 288//117 287//119
+f 275//118 287//119 276//120
+f 276//120 287//119 286//121
+f 276//120 286//121 277//122
+f 277//122 286//121 285//123
+f 277//122 285//123 278//124
+f 278//124 285//123 279//125
+f 285//123 284//126 279//125
+f 279//125 284//126 283//127
+f 279//125 283//127 280//128
+f 280//128 283//127 282//82
+f 280//128 282//82 281//114
+f 267//129 280//128 281//114
+f 267//129 281//114 266//113
+f 268//130 279//125 280//128
+f 268//130 280//128 267//129
+f 269//131 278//124 268//130
+f 278//124 279//125 268//130
+f 270//132 277//122 278//124
+f 270//132 278//124 269//131
+f 271//133 276//120 277//122
+f 271//133 277//122 270//132
+f 272//134 275//118 276//120
+f 272//134 276//120 271//133
+f 273//135 274//115 275//118
+f 273//135 275//118 272//134
+f 258//136 273//135 272//134
+f 258//136 272//134 259//137
+f 259//137 272//134 271//133
+f 259//137 271//133 260//138
+f 260//138 271//133 261//139
+f 271//133 270//132 261//139
+f 261//139 270//132 269//131
+f 261//139 269//131 262//140
+f 262//140 269//131 263//141
+f 269//131 268//130 263//141
+f 263//141 268//130 267//129
+f 263//141 267//129 264//142
+f 264//142 267//129 266//113
+f 264//142 266//113 265//112
+f 251//143 264//142 265//112
+f 251//143 265//112 250//111
+f 252//144 263//141 264//142
+f 252//144 264//142 251//143
+f 253//145 262//140 252//144
+f 262//140 263//141 252//144
+f 254//146 261//139 262//140
+f 254//146 262//140 253//145
+f 255//147 260//138 261//139
+f 255//147 261//139 254//146
+f 256//148 259//137 260//138
+f 256//148 260//138 255//147
+f 257//149 258//136 259//137
+f 257//149 259//137 256//148
+f 242//150 257//149 256//148
+f 242//150 256//148 243//151
+f 243//151 256//148 255//147
+f 243//151 255//147 244//152
+f 244//152 255//147 254//146
+f 244//152 254//146 245//153
+f 245//153 254//146 253//145
+f 245//153 253//145 246//154
+f 246//154 253//145 247//155
+f 253//145 252//144 247//155
+f 247//155 252//144 251//143
+f 247//155 251//143 248//156
+f 248//156 251//143 250//111
+f 248//156 250//111 249//110
+f 235//157 248//156 249//110
+f 235//157 249//110 234//109
+f 236//158 247//155 248//156
+f 236//158 248//156 235//157
+f 237//159 246//154 236//158
+f 246//154 247//155 236//158
+f 238//160 245//153 246//154
+f 238//160 246//154 237//159
+f 239//161 244//152 245//153
+f 239//161 245//153 238//160
+f 240//162 243//151 244//152
+f 240//162 244//152 239//161
+f 241//163 242//150 243//151
+f 241//163 243//151 240//162
+f 226//164 241//163 240//162
+f 226//164 240//162 227//165
+f 227//165 240//162 239//161
+f 227//165 239//161 228//166
+f 228//166 239//161 229//167
+f 239//161 238//160 229//167
+f 229//167 238//160 237//159
+f 229//167 237//159 230//168
+f 230//168 237//159 236//158
+f 230//168 236//158 231//169
+f 231//169 236//158 235//157
+f 231//169 235//157 232//170
+f 232//170 235//157 234//109
+f 232//170 234//109 233//108
+f 219//171 232//170 233//108
+f 219//171 233//108 218//107
+f 220//172 231//169 232//170
+f 220//172 232//170 219//171
+f 221//173 230//168 231//169
+f 221//173 231//169 220//172
+f 222//174 229//167 230//168
+f 222//174 230//168 221//173
+f 223//175 228//166 229//167
+f 223//175 229//167 222//174
+f 224//176 227//165 228//166
+f 224//176 228//166 223//175
+f 225//177 226//164 227//165
+f 225//177 227//165 224//176
+f 210//178 225//177 224//176
+f 210//178 224//176 211//179
+f 211//179 224//176 223//175
+f 211//179 223//175 212//180
+f 212//180 223//175 213//181
+f 223//175 222//174 213//181
+f 213//181 222//174 221//173
+f 213//181 221//173 214//182
+f 214//182 221//173 215//183
+f 221//173 220//172 215//183
+f 215//183 220//172 219//171
+f 215//183 219//171 216//184
+f 216//184 219//171 218//107
+f 216//184 218//107 217//106
+f 203//185 216//184 217//106
+f 203//185 217//106 202//105
+f 204//186 215//183 216//184
+f 204//186 216//184 203//185
+f 205//187 214//182 204//186
+f 214//182 215//183 204//186
+f 206//188 213//181 214//182
+f 206//188 214//182 205//187
+f 207//189 212//180 213//181
+f 207//189 213//181 206//188
+f 208//190 211//179 212//180
+f 208//190 212//180 207//189
+f 209//191 210//178 211//179
+f 209//191 211//179 208//190
+f 194//192 209//191 208//190
+f 194//192 208//190 195//193
+f 195//193 208//190 207//189
+f 195//193 207//189 196//194
+f 196//194 207//189 206//188
+f 196//194 206//188 197//195
+f 197//195 206//188 205//187
+f 197//195 205//187 198//196
+f 198//196 205//187 199//197
+f 205//187 204//186 199//197
+f 199//197 204//186 203//185
+f 199//197 203//185 200//198
+f 200//198 203//185 202//105
+f 200//198 202//105 201//104
+f 187//199 200//198 201//104
+f 187//199 201//104 186//103
+f 188//200 199//197 200//198
+f 188//200 200//198 187//199
+f 189//201 198//196 188//200
+f 198//196 199//197 188//200
+f 190//202 197//195 198//196
+f 190//202 198//196 189//201
+f 191//203 196//194 197//195
+f 191//203 197//195 190//202
+f 192//204 195//193 196//194
+f 192//204 196//194 191//203
+f 193//205 194//192 195//193
+f 193//205 195//193 192//204
+f 178//206 193//205 192//204
+f 178//206 192//204 179//207
+f 179//207 192//204 191//203
+f 179//207 191//203 180//208
+f 180//208 191//203 181//209
+f 191//203 190//202 181//209
+f 181//209 190//202 189//201
+f 181//209 189//201 182//210
+f 182//210 189//201 188//200
+f 182//210 188//200 183//211
+f 183//211 188//200 187//199
+f 183//211 187//199 184//212
+f 184//212 187//199 186//103
+f 184//212 186//103 185//102
+f 171//213 184//212 185//102
+f 171//213 185//102 170//101
+f 172//214 183//211 184//212
+f 172//214 184//212 171//213
+f 173//215 182//210 172//214
+f 182//210 183//211 172//214
+f 174//216 181//209 182//210
+f 174//216 182//210 173//215
+f 175//217 180//208 174//216
+f 180//208 181//209 174//216
+f 176//218 179//207 180//208
+f 176//218 180//208 175//217
+f 177//219 178//206 179//207
+f 177//219 179//207 176//218
+f 162//220 177//219 176//218
+f 162//220 176//218 163//221
+f 163//221 176//218 175//217
+f 163//221 175//217 164//222
+f 164//222 175//217 165//223
+f 175//217 174//216 165//223
+f 165//223 174//216 173//215
+f 165//223 173//215 166//224
+f 166//224 173//215 172//214
+f 166//224 172//214 167//225
+f 167//225 172//214 171//213
+f 167//225 171//213 168//226
+f 168//226 171//213 170//101
+f 168//226 170//101 169//100
+f 155//227 168//226 169//100
+f 155//227 169//100 154//99
+f 156//228 167//225 168//226
+f 156//228 168//226 155//227
+f 157//229 166//224 167//225
+f 157//229 167//225 156//228
+f 158//230 165//223 166//224
+f 158//230 166//224 157//229
+f 159//231 164//222 158//230
+f 164//222 165//223 158//230
+f 160//232 163//221 164//222
+f 160//232 164//222 159//231
+f 161//233 162//220 163//221
+f 161//233 163//221 160//232
+f 146//234 161//233 160//232
+f 146//234 160//232 147//235
+f 147//235 160//232 159//231
+f 147//235 159//231 148//236
+f 148//236 159//231 149//237
+f 159//231 158//230 149//237
+f 149//237 158//230 157//229
+f 149//237 157//229 150//238
+f 150//238 157//229 151//239
+f 157//229 156//228 151//239
+f 151//239 156//228 155//227
+f 151//239 155//227 152//240
+f 152//240 155//227 154//99
+f 152//240 154//99 153//98
+f 139//241 152//240 153//98
+f 139//241 153//98 138//97
+f 140//242 151//239 152//240
+f 140//242 152//240 139//241
+f 141//243 150//238 151//239
+f 141//243 151//239 140//242
+f 142//244 149//237 150//238
+f 142//244 150//238 141//243
+f 143//245 148//236 142//244
+f 148//236 149//237 142//244
+f 144//246 147//235 148//236
+f 144//246 148//236 143//245
+f 145//247 146//234 147//235
+f 145//247 147//235 144//246
+f 130//248 145//247 144//246
+f 130//248 144//246 131//249
+f 131//249 144//246 143//245
+f 131//249 143//245 132//250
+f 132//250 143//245 133//251
+f 143//245 142//244 133//251
+f 133//251 142//244 141//243
+f 133//251 141//243 134//252
+f 134//252 141//243 140//242
+f 134//252 140//242 135//253
+f 135//253 140//242 139//241
+f 135//253 139//241 136//254
+f 136//254 139//241 138//97
+f 136//254 138//97 137//96
+f 123//255 136//254 137//96
+f 123//255 137//96 122//95
+f 124//256 135//253 136//254
+f 124//256 136//254 123//255
+f 125//257 134//252 135//253
+f 125//257 135//253 124//256
+f 126//258 133//251 134//252
+f 126//258 134//252 125//257
+f 127//259 132//250 126//258
+f 132//250 133//251 126//258
+f 128//260 131//249 132//250
+f 128//260 132//250 127//259
+f 129//261 130//248 131//249
+f 129//261 131//249 128//260
+f 114//262 129//261 128//260
+f 114//262 128//260 115//263
+f 115//263 128//260 127//259
+f 115//263 127//259 116//264
+f 116//264 127//259 117//265
+f 127//259 126//258 117//265
+f 117//265 126//258 125//257
+f 117//265 125//257 118//266
+f 118//266 125//257 124//256
+f 118//266 124//256 119//267
+f 119//267 124//256 123//255
+f 119//267 123//255 120//268
+f 120//268 123//255 122//95
+f 120//268 122//95 121//94
+f 107//269 120//268 121//94
+f 107//269 121//94 106//93
+f 108//270 119//267 120//268
+f 108//270 120//268 107//269
+f 109//271 118//266 108//270
+f 118//266 119//267 108//270
+f 110//272 117//265 118//266
+f 110//272 118//266 109//271
+f 111//273 116//264 110//272
+f 116//264 117//265 110//272
+f 112//274 115//263 116//264
+f 112//274 116//264 111//273
+f 113//275 114//262 115//263
+f 113//275 115//263 112//274
+f 98//276 113//275 112//274
+f 98//276 112//274 99//277
+f 99//277 112//274 111//273
+f 99//277 111//273 100//278
+f 100//278 111//273 101//279
+f 111//273 110//272 101//279
+f 101//279 110//272 109//271
+f 101//279 109//271 102//280
+f 102//280 109//271 108//270
+f 102//280 108//270 103//281
+f 103//281 108//270 107//269
+f 103//281 107//269 104//282
+f 104//282 107//269 106//93
+f 104//282 106//93 105//92
+f 91//283 104//282 105//92
+f 91//283 105//92 90//91
+f 92//284 103//281 104//282
+f 92//284 104//282 91//283
+f 93//285 102//280 103//281
+f 93//285 103//281 92//284
+f 94//286 101//279 102//280
+f 94//286 102//280 93//285
+f 95//287 100//278 94//286
+f 100//278 101//279 94//286
+f 96//288 99//277 100//278
+f 96//288 100//278 95//287
+f 97//289 98//276 99//277
+f 97//289 99//277 96//288
+f 82//290 97//289 96//288
+f 82//290 96//288 83//291
+f 83//291 96//288 95//287
+f 83//291 95//287 84//292
+f 84//292 95//287 85//293
+f 95//287 94//286 85//293
+f 85//293 94//286 93//285
+f 85//293 93//285 86//294
+f 86//294 93//285 92//284
+f 86//294 92//284 87//295
+f 87//295 92//284 91//283
+f 87//295 91//283 88//296
+f 88//296 91//283 90//91
+f 88//296 90//91 89//90
+f 75//297 88//296 89//90
+f 75//297 89//90 74//89
+f 76//298 87//295 88//296
+f 76//298 88//296 75//297
+f 77//299 86//294 87//295
+f 77//299 87//295 76//298
+f 78//300 85//293 86//294
+f 78//300 86//294 77//299
+f 79//301 84//292 78//300
+f 84//292 85//293 78//300
+f 80//302 83//291 84//292
+f 80//302 84//292 79//301
+f 81//303 82//290 83//291
+f 81//303 83//291 80//302
+f 66//304 81//303 80//302
+f 66//304 80//302 67//305
+f 67//305 80//302 79//301
+f 67//305 79//301 68//306
+f 68//306 79//301 69//307
+f 79//301 78//300 69//307
+f 69//307 78//300 77//299
+f 69//307 77//299 70//308
+f 70//308 77//299 76//298
+f 70//308 76//298 71//309
+f 71//309 76//298 75//297
+f 71//309 75//297 72//310
+f 72//310 75//297 74//89
+f 72//310 74//89 73//88
+f 59//311 72//310 73//88
+f 59//311 73//88 58//87
+f 60//312 71//309 72//310
+f 60//312 72//310 59//311
+f 61//313 70//308 71//309
+f 61//313 71//309 60//312
+f 62//314 69//307 70//308
+f 62//314 70//308 61//313
+f 63//315 68//306 69//307
+f 63//315 69//307 62//314
+f 64//316 67//305 68//306
+f 64//316 68//306 63//315
+f 65//317 66//304 67//305
+f 65//317 67//305 64//316
+f 50//318 65//317 64//316
+f 50//318 64//316 51//319
+f 51//319 64//316 63//315
+f 51//319 63//315 52//320
+f 52//320 63//315 62//314
+f 52//320 62//314 53//321
+f 53//321 62//314 61//313
+f 53//321 61//313 54//322
+f 54//322 61//313 60//312
+f 54//322 60//312 55//323
+f 55//323 60//312 59//311
+f 55//323 59//311 56//324
+f 56//324 59//311 58//87
+f 56//324 58//87 57//86
+f 43//325 56//324 57//86
+f 43//325 57//86 42//85
+f 44//326 55//323 56//324
+f 44//326 56//324 43//325
+f 45//327 54//322 55//323
+f 45//327 55//323 44//326
+f 46//328 53//321 54//322
+f 46//328 54//322 45//327
+f 47//329 52//320 53//321
+f 47//329 53//321 46//328
+f 48//330 51//319 52//320
+f 48//330 52//320 47//329
+f 49//331 50//318 51//319
+f 49//331 51//319 48//330
+f 34//332 49//331 48//330
+f 34//332 48//330 35//333
+f 35//333 48//330 47//329
+f 35//333 47//329 36//334
+f 36//334 47//329 46//328
+f 36//334 46//328 37//335
+f 37//335 46//328 45//327
+f 37//335 45//327 38//336
+f 38//336 45//327 44//326
+f 38//336 44//326 39//337
+f 39//337 44//326 43//325
+f 39//337 43//325 40//338
+f 40//338 43//325 42//85
+f 40//338 42//85 41//83
+f 283//127 40//338 41//83
+f 283//127 41//83 282//82
+f 284//126 39//337 40//338
+f 284//126 40//338 283//127
+f 285//123 38//336 39//337
+f 285//123 39//337 284//126
+f 286//121 37//335 38//336
+f 286//121 38//336 285//123
+f 287//119 36//334 37//335
+f 287//119 37//335 286//121
+f 288//117 35//333 36//334
+f 288//117 36//334 287//119
+f 289//116 34//332 35//333
+f 289//116 35//333 288//117
+o Circle
+v 4.555572 1.331468 2.000000
+v 4.555572 1.331468 -2.000000
+v -4.555572 1.331468 2.000000
+v -4.555572 1.331468 -2.000000
+v 4.382685 1.423879 2.000000
+v 4.382685 1.423879 -2.000000
+v -4.382685 1.423879 2.000000
+v -4.382685 1.423879 -2.000000
+v 4.195092 1.480785 2.000000
+v 4.195092 1.480785 -2.000000
+v -4.195092 1.480785 2.000000
+v -4.195092 1.480785 -2.000000
+v 4.000002 1.500000 2.000000
+v 4.000002 1.500000 -2.000000
+v -4.000002 1.500000 2.000000
+v -4.000002 1.500000 -2.000000
+v 4.000000 -0.500000 2.000000
+v 4.000000 -0.500000 -2.000000
+v -4.000000 -0.500000 2.000000
+v -4.000000 -0.500000 -2.000000
+v 4.195090 -0.480785 2.000000
+v 4.195090 -0.480786 -2.000000
+v -4.195090 -0.480785 2.000000
+v -4.195090 -0.480786 -2.000000
+v 4.382683 -0.423880 2.000000
+v 4.382683 -0.423880 -2.000000
+v -4.382683 -0.423880 2.000000
+v -4.382683 -0.423880 -2.000000
+v 4.555571 -0.331470 2.000000
+v 4.555571 -0.331470 -2.000000
+v -4.555571 -0.331470 2.000000
+v -4.555571 -0.331470 -2.000000
+v 4.707107 -0.207107 2.000000
+v 4.707107 -0.207107 -2.000000
+v -4.707107 -0.207107 2.000000
+v -4.707107 -0.207107 -2.000000
+v 4.831470 -0.055570 2.000000
+v 4.831470 -0.055571 -2.000000
+v -4.831470 -0.055570 2.000000
+v -4.831470 -0.055571 -2.000000
+v 4.923880 0.117317 2.000000
+v 4.923880 0.117316 -2.000000
+v -4.923880 0.117317 2.000000
+v -4.923880 0.117316 -2.000000
+v 4.980785 0.304910 2.000000
+v 4.980785 0.304909 -2.000000
+v -4.980785 0.304910 2.000000
+v -4.980785 0.304909 -2.000000
+v 5.000000 0.500000 2.000000
+v 5.000000 0.500000 -2.000000
+v -5.000000 0.500000 2.000000
+v -5.000000 0.500000 -2.000000
+v 4.980785 0.695090 2.000000
+v 4.980785 0.695090 -2.000000
+v -4.980785 0.695090 2.000000
+v -4.980785 0.695090 -2.000000
+v 4.923880 0.882683 2.000000
+v 4.923880 0.882683 -2.000000
+v -4.923880 0.882683 2.000000
+v -4.923880 0.882683 -2.000000
+v 4.831470 1.055570 2.000000
+v 4.831470 1.055570 -2.000000
+v -4.831470 1.055570 2.000000
+v -4.831470 1.055570 -2.000000
+v 4.707107 1.207107 2.000000
+v 4.707107 1.207106 -2.000000
+v -4.707107 1.207107 2.000000
+v -4.707107 1.207106 -2.000000
+v 4.555572 1.331468 3.000000
+v 4.555572 1.331468 -3.000000
+v -4.555572 1.331468 3.000000
+v -4.555572 1.331468 -3.000000
+v 4.707107 1.207107 3.000000
+v 4.707107 1.207106 -3.000000
+v -4.707107 1.207107 3.000000
+v -4.707107 1.207106 -3.000000
+v 4.382685 1.423879 3.000000
+v 4.382685 1.423879 -3.000000
+v -4.382685 1.423879 3.000000
+v -4.382685 1.423879 -3.000000
+v 4.195092 1.480785 3.000000
+v 4.195092 1.480785 -3.000000
+v -4.195092 1.480785 3.000000
+v -4.195092 1.480785 -3.000000
+v 4.000002 1.500000 3.000000
+v 4.000002 1.500000 -3.000000
+v -4.000002 1.500000 3.000000
+v -4.000002 1.500000 -3.000000
+v 4.000000 -0.500000 3.000000
+v 4.000000 -0.500000 -3.000000
+v -4.000000 -0.500000 3.000000
+v -4.000000 -0.500000 -3.000000
+v 4.195090 -0.480785 3.000000
+v 4.195090 -0.480786 -3.000000
+v -4.195090 -0.480785 3.000000
+v -4.195090 -0.480786 -3.000000
+v 4.382683 -0.423880 3.000000
+v 4.382683 -0.423880 -3.000000
+v -4.382683 -0.423880 3.000000
+v -4.382683 -0.423880 -3.000000
+v 4.555571 -0.331470 3.000000
+v 4.555571 -0.331470 -3.000000
+v -4.555571 -0.331470 3.000000
+v -4.555571 -0.331470 -3.000000
+v 4.707107 -0.207107 3.000000
+v 4.707107 -0.207107 -3.000000
+v -4.707107 -0.207107 3.000000
+v -4.707107 -0.207107 -3.000000
+v 4.831470 -0.055570 3.000000
+v 4.831470 -0.055570 -3.000000
+v -4.831470 -0.055570 3.000000
+v -4.831470 -0.055570 -3.000000
+v 4.923880 0.117317 3.000000
+v 4.923880 0.117316 -3.000000
+v -4.923880 0.117317 3.000000
+v -4.923880 0.117316 -3.000000
+v 4.980785 0.304910 3.000000
+v 4.980785 0.304909 -3.000000
+v -4.980785 0.304910 3.000000
+v -4.980785 0.304909 -3.000000
+v 5.000000 0.500000 3.000000
+v 5.000000 0.500000 -3.000000
+v -5.000000 0.500000 3.000000
+v -5.000000 0.500000 -3.000000
+v 4.980785 0.695090 3.000000
+v 4.980785 0.695090 -3.000000
+v -4.980785 0.695090 3.000000
+v -4.980785 0.695090 -3.000000
+v 4.923880 0.882683 3.000000
+v 4.923880 0.882683 -3.000000
+v -4.923880 0.882683 3.000000
+v -4.923880 0.882683 -3.000000
+v 4.831470 1.055570 3.000000
+v 4.831470 1.055570 -3.000000
+v -4.831470 1.055570 3.000000
+v -4.831470 1.055570 -3.000000
+v 5.000000 0.000000 0.000000
+v -5.000000 0.000000 0.000000
+v 5.000000 0.000000 2.000000
+v 5.000000 -0.000000 -2.000000
+v -5.000000 0.000000 2.000000
+v -5.000000 -0.000000 -2.000000
+v 5.759337 1.601847 2.000000
+v 5.759337 1.601847 -2.000000
+v -5.759337 1.601847 2.000000
+v -5.759337 1.601847 -2.000000
+v 5.759337 1.601847 -0.000000
+v -5.759337 1.601847 -0.000000
+v 5.759337 1.000000 -0.000000
+v -5.759337 1.000000 -0.000000
+v 5.759337 1.000000 2.000000
+v 5.759337 1.000000 -2.000000
+v -5.759337 1.000000 2.000000
+v -5.759337 1.000000 -2.000000
+v 5.759337 1.601847 2.500000
+v 5.759337 1.601847 -2.500000
+v -5.759337 1.601847 2.500000
+v -5.759337 1.601847 -2.500000
+v 5.759337 1.901847 2.500000
+v 5.759337 1.901847 -2.500000
+v -5.759337 1.901847 2.500000
+v -5.759337 1.901847 -2.500000
+v 5.759337 1.901847 -0.000000
+v -5.759337 1.901847 -0.000000
+v 5.759337 1.901847 2.000000
+v 5.759337 1.901847 -2.000000
+v -5.759337 1.901847 2.000000
+v -5.759337 1.901847 -2.000000
+v 0.000000 0.000000 2.000000
+v 0.000000 -0.000000 -2.000000
+v 0.000000 0.000000 0.000000
+v 0.000000 1.601847 -0.000000
+v 0.000000 1.601847 2.000000
+v 0.000000 1.601847 -2.000000
+v 0.000000 1.000000 -0.000000
+v 0.000000 1.000000 2.000000
+v 0.000000 1.000000 -2.000000
+v 0.000000 1.601847 2.500000
+v 0.000000 1.601847 -2.500000
+v 0.000000 1.901847 2.500000
+v 0.000000 1.901847 -2.500000
+v 0.000000 1.901847 -0.000000
+v 0.000000 1.901847 2.000000
+v 0.000000 1.901847 -2.000000
+v 0.000000 1.500000 2.000000
+v 0.000000 1.500000 -2.000000
+v 0.000000 1.500000 3.000000
+v 0.000000 1.500000 -3.000000
+v 0.000000 -0.500000 2.000000
+v 0.000000 -0.500000 -2.000000
+v 0.000000 -0.500000 3.000000
+v 0.000000 -0.500000 -3.000000
+v 0.000000 0.500000 3.000000
+v 0.000000 0.500000 -3.000000
+v 4.000001 0.500000 3.000000
+v 4.000001 0.500000 -3.000000
+v -4.000001 0.500000 3.000000
+v -4.000001 0.500000 -3.000000
+vn -0.000000 -0.000000 -1.000000
+vn 0.000000 -0.000000 1.000000
+vn 0.000000 -1.000000 0.000000
+vn -1.000000 0.000000 0.000000
+vn -0.796416 -0.604749 0.000000
+vn 0.796416 -0.604749 0.000000
+vn 0.631825 0.631825 0.448927
+vn 0.391888 0.586505 0.708792
+vn 0.391888 0.586505 -0.708792
+vn 0.631825 0.631825 -0.448927
+vn -0.391888 0.586505 0.708792
+vn -0.631825 0.631825 0.448927
+vn -0.631825 0.631825 -0.448927
+vn -0.391888 0.586505 -0.708792
+vn 0.342998 0.756828 0.556322
+vn 0.342998 0.756828 -0.556322
+vn -0.342998 0.756828 0.556322
+vn -0.342998 0.756828 -0.556322
+vn 0.188757 0.809198 0.556322
+vn 0.188757 0.809198 -0.556322
+vn -0.188757 0.809198 0.556322
+vn -0.188757 0.809198 -0.556322
+vn 0.135258 -0.819849 0.556322
+vn 0.292611 -0.777703 0.556322
+vn 0.292611 -0.777703 -0.556322
+vn 0.135258 -0.819849 -0.556322
+vn -0.292611 -0.777703 0.556322
+vn -0.135258 -0.819849 0.556322
+vn -0.135258 -0.819849 -0.556322
+vn -0.292611 -0.777703 -0.556322
+vn 0.496414 -0.742943 0.448927
+vn 0.496414 -0.742943 -0.448927
+vn -0.496414 -0.742943 0.448927
+vn -0.496414 -0.742943 -0.448927
+vn 0.498764 -0.498764 0.708792
+vn 0.498764 -0.498764 -0.708792
+vn -0.498764 -0.498764 0.708792
+vn -0.498764 -0.498764 -0.708792
+vn 0.675375 -0.484054 0.556322
+vn 0.675375 -0.484054 -0.556322
+vn -0.675375 -0.484054 0.556322
+vn -0.675375 -0.484054 -0.556322
+vn 0.756828 -0.342998 0.556322
+vn 0.756828 -0.342998 -0.556322
+vn -0.756828 -0.342998 0.556322
+vn -0.756828 -0.342998 -0.556322
+vn 0.809198 -0.188757 0.556322
+vn 0.809198 -0.188757 -0.556322
+vn -0.809198 -0.188757 0.556322
+vn -0.809198 -0.188757 -0.556322
+vn 0.830500 -0.027253 0.556322
+vn 0.830500 -0.027253 -0.556322
+vn -0.830500 -0.027253 0.556322
+vn -0.830500 -0.027253 -0.556322
+vn 0.819849 0.135258 0.556322
+vn 0.819849 0.135258 -0.556322
+vn -0.819849 0.135258 0.556322
+vn -0.819849 0.135258 -0.556322
+vn 0.777703 0.292611 0.556322
+vn 0.777703 0.292611 -0.556322
+vn -0.777703 0.292611 0.556322
+vn -0.777703 0.292611 -0.556322
+vn 0.705679 0.438704 0.556322
+vn 0.705679 0.438704 -0.556322
+vn -0.705679 0.438704 0.556322
+vn -0.705679 0.438704 -0.556322
+vn 0.023103 -0.706320 0.707480
+vn 0.023103 -0.706320 -0.707480
+vn -0.023103 -0.706320 0.707480
+vn -0.023103 -0.706320 -0.707480
+vn 0.054384 0.829981 0.555101
+vn 0.054384 0.829981 -0.555101
+vn -0.054384 0.829981 0.555101
+vn -0.054384 0.829981 -0.555101
+vn 0.000000 -0.707083 -0.707083
+vn 0.000000 -0.707083 0.707083
+vn 0.000000 0.707083 -0.707083
+vn 0.000000 0.707083 0.707083
+vn -0.065401 -0.997833 0.000000
+vn 0.065401 -0.997833 0.000000
+vn -0.032685 0.999451 0.000000
+vn 0.032685 0.999451 0.000000
+vn -0.812769 0.582537 0.000000
+vn -0.707083 0.707083 0.000000
+vn 0.707083 0.707083 0.000000
+vn 0.812769 0.582537 0.000000
+vn -0.910794 0.412763 0.000000
+vn 0.910794 0.412763 0.000000
+vn -0.973846 0.227149 0.000000
+vn 0.973846 0.227149 0.000000
+vn -0.999451 0.032807 0.000000
+vn 0.999451 0.032807 0.000000
+vn -0.986633 -0.162786 0.000000
+vn 0.986633 -0.162786 0.000000
+vn -0.935911 -0.352153 0.000000
+vn 0.935911 -0.352153 0.000000
+vn -0.849239 -0.527970 0.000000
+vn 0.849239 -0.527970 0.000000
+vn -0.707083 -0.707083 0.000000
+vn 0.707083 -0.707083 0.000000
+vn -0.555559 -0.831446 0.000000
+vn 0.555559 -0.831446 0.000000
+vn -0.412763 -0.910825 0.000000
+vn 0.412763 -0.910825 0.000000
+vn -0.227149 -0.973846 0.000000
+vn 0.227149 -0.973846 0.000000
+vn -0.162786 0.986633 0.000000
+vn 0.162786 0.986633 0.000000
+vn -0.352153 0.935911 0.000000
+vn 0.352153 0.935911 0.000000
+vn -0.555559 0.831446 0.000000
+vn 0.555559 0.831446 0.000000
+usemtl Material
+s off
+f 522//84 538//84 535//84
+f 522//84 535//84 516//84
+f 534//84 537//84 521//84
+f 534//84 521//84 515//84
+f 535//84 538//84 520//84
+f 535//84 520//84 514//84
+f 519//84 537//84 534//84
+f 519//84 534//84 513//84
+f 522//84 518//84 536//84
+f 522//84 536//84 538//84
+f 536//84 518//84 521//84
+f 536//84 521//84 537//84
+f 536//84 517//84 520//84
+f 536//84 520//84 538//84
+f 519//84 517//84 536//84
+f 519//84 536//84 537//84
+f 518//339 536//339 526//339
+f 518//339 526//339 502//339
+f 526//339 536//339 517//339
+f 526//339 517//339 501//339
+f 533//339 512//339 516//339
+f 533//339 516//339 535//339
+f 515//340 511//340 532//340
+f 515//340 532//340 534//340
+f 514//339 510//339 533//339
+f 514//339 533//339 535//339
+f 532//340 509//340 513//340
+f 532//340 513//340 534//340
+f 528//339 531//339 500//339
+f 531//339 508//339 500//339
+f 507//340 530//340 499//340
+f 530//340 527//340 499//340
+f 506//339 531//339 498//339
+f 531//339 528//339 498//339
+f 527//340 530//340 497//340
+f 530//340 505//340 497//340
+f 531//339 524//339 496//339
+f 531//339 496//339 508//339
+f 495//340 523//340 530//340
+f 495//340 530//340 507//340
+f 494//339 524//339 531//339
+f 494//339 531//339 506//339
+f 530//340 523//340 493//340
+f 530//340 493//340 505//340
+f 529//339 504//339 526//339
+f 504//339 502//339 526//339
+f 501//339 503//339 526//339
+f 503//339 529//339 526//339
+f 525//339 492//339 529//339
+f 492//339 504//339 529//339
+f 503//339 491//339 529//339
+f 491//339 525//339 529//339
+f 524//341 525//341 492//341
+f 524//341 492//341 496//341
+f 492//341 525//341 523//341
+f 492//341 523//341 495//341
+f 491//341 525//341 524//341
+f 491//341 524//341 494//341
+f 523//341 525//341 491//341
+f 523//341 491//341 493//341
+f 502//342 518//342 522//342
+f 502//342 522//342 500//342
+f 521//342 518//342 502//342
+f 521//342 502//342 499//342
+f 520//3 517//3 501//3
+f 520//3 501//3 498//3
+f 501//3 517//3 519//3
+f 501//3 519//3 497//3
+f 512//342 500//342 522//342
+f 512//342 522//342 516//342
+f 521//342 499//342 511//342
+f 521//342 511//342 515//342
+f 520//3 498//3 510//3
+f 520//3 510//3 514//3
+f 509//3 497//3 519//3
+f 509//3 519//3 513//3
+f 508//342 504//342 502//342
+f 508//342 502//342 500//342
+f 502//342 504//342 507//342
+f 502//342 507//342 499//342
+f 501//3 503//3 506//3
+f 501//3 506//3 498//3
+f 505//3 503//3 501//3
+f 505//3 501//3 497//3
+f 496//343 492//343 504//343
+f 496//343 504//343 508//343
+f 504//343 492//343 495//343
+f 504//343 495//343 507//343
+f 503//344 491//344 494//344
+f 503//344 494//344 506//344
+f 493//344 491//344 503//344
+f 493//344 503//344 505//344
+s 1
+f 427//345 423//346 549//340
+f 550//339 424//347 428//348
+f 551//340 425//349 429//350
+f 430//351 426//352 552//339
+f 423//346 431//353 549//340
+f 550//339 432//354 424//347
+f 551//340 433//355 425//349
+f 426//352 434//356 552//339
+f 431//353 435//357 549//340
+f 550//339 436//358 432//354
+f 551//340 437//359 433//355
+f 434//356 438//360 552//339
+f 447//361 451//362 549//340
+f 550//339 452//363 448//364
+f 551//340 453//365 449//366
+f 450//367 454//368 552//339
+f 451//362 455//369 549//340
+f 550//339 456//370 452//363
+f 551//340 457//371 453//365
+f 454//368 458//372 552//339
+f 455//369 459//373 549//340
+f 550//339 460//374 456//370
+f 551//340 461//375 457//371
+f 458//372 462//376 552//339
+f 459//373 463//377 549//340
+f 550//339 464//378 460//374
+f 551//340 465//379 461//375
+f 462//376 466//380 552//339
+f 463//377 467//381 549//340
+f 550//339 468//382 464//378
+f 551//340 469//383 465//379
+f 466//380 470//384 552//339
+f 467//381 471//385 549//340
+f 550//339 472//386 468//382
+f 551//340 473//387 469//383
+f 470//384 474//388 552//339
+f 471//385 475//389 549//340
+f 550//339 476//390 472//386
+f 551//340 477//391 473//387
+f 474//388 478//392 552//339
+f 475//389 479//393 549//340
+f 550//339 480//394 476//390
+f 551//340 481//395 477//391
+f 478//392 482//396 552//339
+f 479//393 483//397 549//340
+f 550//339 484//398 480//394
+f 551//340 485//399 481//395
+f 482//396 486//400 552//339
+f 483//397 487//401 549//340
+f 550//339 488//402 484//398
+f 551//340 489//403 485//399
+f 486//400 490//404 552//339
+f 487//401 427//345 549//340
+f 550//339 428//348 488//402
+f 551//340 429//350 489//403
+f 490//404 430//351 552//339
+f 443//405 447//361 549//340
+f 550//339 448//364 444//406
+f 551//340 449//366 445//407
+f 446//408 450//367 552//339
+f 435//357 439//409 549//340
+f 550//339 440//410 436//358
+f 551//340 441//411 437//359
+f 438//360 442//412 552//339
+f 548//339 546//413 446//408
+f 548//339 446//408 552//339
+f 445//407 545//414 547//340
+f 445//407 547//340 551//340
+f 444//406 546//413 548//339
+f 444//406 548//339 550//339
+f 547//340 545//414 443//405
+f 547//340 443//405 549//340
+f 542//415 548//339 552//339
+f 542//415 552//339 442//412
+f 551//340 547//340 541//416
+f 551//340 541//416 441//411
+f 550//339 548//339 542//415
+f 550//339 542//415 440//410
+f 541//416 547//340 549//340
+f 541//416 549//340 439//409
+f 544//341 374//417 446//408
+f 544//341 446//408 546//413
+f 445//407 373//417 543//341
+f 445//407 543//341 545//414
+f 444//406 372//418 544//341
+f 444//406 544//341 546//413
+f 543//341 371//418 443//405
+f 543//341 443//405 545//414
+f 370//419 540//84 542//415
+f 370//419 542//415 442//412
+f 541//416 539//84 369//419
+f 541//416 369//419 441//411
+f 542//415 540//84 368//420
+f 542//415 368//420 440//410
+f 367//420 539//84 541//416
+f 367//420 541//416 439//409
+f 418//421 422//422 430//351
+f 418//421 430//351 490//404
+f 429//350 421//422 417//421
+f 429//350 417//421 489//403
+f 428//348 420//423 416//424
+f 428//348 416//424 488//402
+f 415//424 419//423 427//345
+f 415//424 427//345 487//401
+f 414//425 418//421 490//404
+f 414//425 490//404 486//400
+f 489//403 417//421 413//425
+f 489//403 413//425 485//399
+f 488//402 416//424 412//426
+f 488//402 412//426 484//398
+f 411//426 415//424 487//401
+f 411//426 487//401 483//397
+f 410//427 414//425 486//400
+f 410//427 486//400 482//396
+f 485//399 413//425 409//427
+f 485//399 409//427 481//395
+f 484//398 412//426 408//428
+f 484//398 408//428 480//394
+f 407//428 411//426 483//397
+f 407//428 483//397 479//393
+f 406//429 410//427 482//396
+f 406//429 482//396 478//392
+f 481//395 409//427 405//429
+f 481//395 405//429 477//391
+f 480//394 408//428 404//430
+f 480//394 404//430 476//390
+f 403//430 407//428 479//393
+f 403//430 479//393 475//389
+f 402//431 406//429 478//392
+f 402//431 478//392 474//388
+f 477//391 405//429 401//431
+f 477//391 401//431 473//387
+f 476//390 404//430 400//432
+f 476//390 400//432 472//386
+f 399//432 403//430 475//389
+f 399//432 475//389 471//385
+f 398//433 402//431 474//388
+f 398//433 474//388 470//384
+f 473//387 401//431 397//433
+f 473//387 397//433 469//383
+f 472//386 400//432 396//434
+f 472//386 396//434 468//382
+f 395//434 399//432 471//385
+f 395//434 471//385 467//381
+f 394//435 398//433 470//384
+f 394//435 470//384 466//380
+f 469//383 397//433 393//435
+f 469//383 393//435 465//379
+f 468//382 396//434 392//436
+f 468//382 392//436 464//378
+f 391//436 395//434 467//381
+f 391//436 467//381 463//377
+f 390//437 394//435 466//380
+f 390//437 466//380 462//376
+f 465//379 393//435 389//437
+f 465//379 389//437 461//375
+f 464//378 392//436 388//438
+f 464//378 388//438 460//374
+f 387//438 391//436 463//377
+f 387//438 463//377 459//373
+f 386//439 390//437 458//372
+f 390//437 462//376 458//372
+f 461//375 389//437 457//371
+f 389//437 385//439 457//371
+f 460//374 388//438 456//370
+f 388//438 384//440 456//370
+f 383//440 387//438 455//369
+f 387//438 459//373 455//369
+f 382//441 386//439 458//372
+f 382//441 458//372 454//368
+f 457//371 385//439 381//441
+f 457//371 381//441 453//365
+f 456//370 384//440 380//442
+f 456//370 380//442 452//363
+f 379//442 383//440 455//369
+f 379//442 455//369 451//362
+f 378//443 382//441 454//368
+f 378//443 454//368 450//367
+f 453//365 381//441 377//443
+f 453//365 377//443 449//366
+f 452//363 380//442 376//444
+f 452//363 376//444 448//364
+f 375//444 379//442 451//362
+f 375//444 451//362 447//361
+f 374//417 378//443 450//367
+f 374//417 450//367 446//408
+f 449//366 377//443 373//417
+f 449//366 373//417 445//407
+f 448//364 376//444 372//418
+f 448//364 372//418 444//406
+f 371//418 375//444 447//361
+f 371//418 447//361 443//405
+f 366//445 370//419 442//412
+f 366//445 442//412 438//360
+f 441//411 369//419 365//445
+f 441//411 365//445 437//359
+f 440//410 368//420 364//446
+f 440//410 364//446 436//358
+f 363//446 367//420 439//409
+f 363//446 439//409 435//357
+f 362//447 366//445 438//360
+f 362//447 438//360 434//356
+f 437//359 365//445 361//447
+f 437//359 361//447 433//355
+f 436//358 364//446 360//448
+f 436//358 360//448 432//354
+f 359//448 363//446 435//357
+f 359//448 435//357 431//353
+f 358//449 362//447 434//356
+f 358//449 434//356 426//352
+f 433//355 361//447 357//449
+f 433//355 357//449 425//349
+f 432//354 360//448 356//450
+f 432//354 356//450 424//347
+f 355//450 359//448 431//353
+f 355//450 431//353 423//346
+f 358//449 426//352 430//351
+f 358//449 430//351 422//422
+f 429//350 425//349 357//449
+f 429//350 357//449 421//422
+f 428//348 424//347 356//450
+f 428//348 356//450 420//423
+f 355//450 423//346 427//345
+f 355//450 427//345 419//423
diff --git a/src/HTanks.hs b/src/HTanks.hs
index 5a8bdec..c9525b9 100644
--- a/src/HTanks.hs
+++ b/src/HTanks.hs
@@ -14,20 +14,20 @@ import Tank
import GLDriver
import GLX
-import Control.Concurrent (threadDelay)
import Control.Monad.State
import Data.Maybe
import qualified Data.Map as M
import qualified Data.Set as S
import Data.Time
-import Foreign.C.Types
+import Data.Obj3D
+import Data.Obj3D.GL
main :: IO ()
main = do
let theLevel = testLevel
- hwiidPlayer <- newHWiidPlayer
+ --hwiidPlayer <- newHWiidPlayer
gl <- initGL $ glxDriver (levelWidth theLevel) (levelHeight theLevel)
when (initialized gl) $ do
@@ -36,10 +36,10 @@ main = do
, Tank 5.0 3.5 0 0 1.5 270 False 3 1 5 1
], bullets = []}
mainstate = MainState {run = True, driver = SomeDriver gl, time = currentTime, players =
- [ --SomePlayer $ DefaultPlayer S.empty 0 0 False
- SomePlayer $ hwiidPlayer
+ [ SomePlayer $ DefaultPlayer S.empty 0 0 False
+ --SomePlayer $ hwiidPlayer
, SomePlayer $ CPUPlayer 0
- ], textures = M.empty, gameState = gamestate}
+ ], textures = M.empty, models = M.empty, gameState = gamestate}
runMain mainstate $ do
setup
diff --git a/src/MainLoop.hs b/src/MainLoop.hs
index a484435..de28499 100644
--- a/src/MainLoop.hs
+++ b/src/MainLoop.hs
@@ -9,6 +9,7 @@ import Game
import GLDriver
import Player
import Texture
+import Model
import Control.Monad.State
import Control.Monad.Trans
@@ -22,6 +23,7 @@ data MainState = MainState
, time :: !UTCTime
, players :: ![SomePlayer]
, textures :: !(M.Map Texture TextureObject)
+ , models :: !(M.Map Model InterleavedObj)
, gameState :: !GameState
}
diff --git a/src/Model.hs b/src/Model.hs
new file mode 100644
index 0000000..daec0c2
--- /dev/null
+++ b/src/Model.hs
@@ -0,0 +1,8 @@
+module Model ( Model(..)
+ , InterleavedObj
+ ) where
+
+import Data.Obj3D.GL (InterleavedObj)
+
+data Model = ModelTank
+ deriving (Eq, Ord, Show)
diff --git a/src/Render.hs b/src/Render.hs
index c00a476..bf3bb39 100644
--- a/src/Render.hs
+++ b/src/Render.hs
@@ -10,11 +10,14 @@ import Level
import Player
import Tank
import Texture
+import Model
import Control.Monad.State
import Data.Fixed
import Data.Maybe
+import Data.Obj3D
+import Data.Obj3D.GL
import Data.Ratio
import qualified Data.Map as M
@@ -22,15 +25,19 @@ import Bindings.GLPng
import Graphics.Rendering.OpenGL.GL (($=), GLfloat, GLdouble, Capability(..), Vector3(..))
import Graphics.Rendering.OpenGL.GL.BeginEnd (unsafeRenderPrimitive, PrimitiveMode(..))
-import Graphics.Rendering.OpenGL.GL.CoordTrans (matrixMode, MatrixMode(..), viewport, Position(..), Size(..), loadIdentity, unsafePreservingMatrix, ortho, translate, rotate)
+import Graphics.Rendering.OpenGL.GL.CoordTrans (matrixMode, MatrixMode(..), viewport, Position(..), Size(..), loadIdentity, unsafePreservingMatrix, ortho, translate, rotate, scale)
import Graphics.Rendering.OpenGL.GL.Framebuffer (clear, ClearBuffer(..))
import Graphics.Rendering.OpenGL.GL.PerFragment (blend, blendFunc, BlendingFactor(..))
import Graphics.Rendering.OpenGL.GL.Texturing.Application (texture)
import Graphics.Rendering.OpenGL.GL.Texturing.Objects (textureBinding, TextureObject(..))
import Graphics.Rendering.OpenGL.GL.Texturing.Parameters (Repetition(..), Clamping(..), TextureFilter(..), MinificationFilter, MagnificationFilter)
import Graphics.Rendering.OpenGL.GL.Texturing.Specification (TextureTarget(..))
+import Graphics.Rendering.OpenGL.GL.VertexArrays (clientState, ClientArrayType(..))
import Graphics.Rendering.OpenGL.GL.VertexSpec
+import Foreign.ForeignPtr
+import Foreign.Marshal.Array
+
texturePath :: Texture -> IO FilePath
texturePath t = getDataFileName $ path t
@@ -54,6 +61,29 @@ getTexture t = do
tex <- liftIO $ pngBind path BuildMipmap Alpha (Repeated, Repeat) (Linear', Just Linear') Linear' >>= return . TextureObject . fromIntegral . fst
modify $ \state -> state {textures = M.insert t tex ts}
return tex
+
+modelPath :: Model -> IO FilePath
+modelPath t = getDataFileName $ path t
+ where
+ path ModelTank = "model/tank.obj"
+
+getModel :: Model -> Main InterleavedObj
+getModel m = do
+ ms <- gets models
+ let mobj = M.lookup m ms
+
+ if (isJust mobj)
+ then
+ return $ fromJust mobj
+ else do
+ path <- liftIO $ modelPath m
+ objmod <- liftIO $ loadObjFile path
+
+ model <- case objmod of
+ Left error -> fail $ show error
+ Right obj -> liftIO $ makeInterleavedArrays obj
+ modify $ \state -> state {models = M.insert m model ms}
+ return model
setup :: Main ()
@@ -62,13 +92,15 @@ setup = do
blend $= Enabled
blendFunc $= (SrcAlpha, OneMinusSrcAlpha)
- -- cache textures
+ -- cache textures & models
getTexture TextureWood
getTexture TextureTank
getTexture TextureCannon
getTexture TextureBullet
getTexture TextureCrosshair
+ getModel ModelTank
+
return ()
@@ -84,6 +116,8 @@ render = do
textureBullet <- getTexture TextureBullet
textureCrosshair <- getTexture TextureCrosshair
+ modelTank <- getModel ModelTank
+
(lw, lh) <- gets (level . gameState) >>= \l -> return (fromIntegral . levelWidth $ l :: GLfloat, fromIntegral . levelHeight $ l :: GLfloat)
liftIO $ do
@@ -104,7 +138,14 @@ render = do
texCoord $ TexCoord2 0 (lh/2)
vertex $ Vertex2 (0 :: GLfloat) (0 :: GLfloat)
-
+
+ texture Texture2D $= Disabled
+
+ clientState VertexArray $= Enabled
+ clientState NormalArray $= Enabled
+ clientState TextureCoordArray $= Enabled
+ bindInterleavedArrays modelTank
+
forM_ tanklist $ \tank -> unsafePreservingMatrix $ do
let x = realToFrac . tankX $ tank
y = realToFrac . tankY $ tank
@@ -112,11 +153,16 @@ render = do
rotAim = realToFrac . tankAim $ tank
translate $ Vector3 x y (0 :: GLfloat)
+ scale 0.1 0.1 (0.1 :: GLfloat)
rotate rotDir $ Vector3 0 0 (1 :: GLfloat)
- textureBinding Texture2D $= Just textureTank
+ --textureBinding Texture2D $= Just textureTank
- unsafeRenderPrimitive Quads $ do
+ unsafePreservingMatrix $ do
+ rotate 90 $ Vector3 1 0 (0 :: GLfloat)
+ drawObject modelTank 1
+
+ {-unsafeRenderPrimitive Quads $ do
texCoord $ TexCoord2 (0 :: GLfloat) (0 :: GLfloat)
vertex $ Vertex2 (-0.5 :: GLfloat) (-0.5 :: GLfloat)
@@ -127,13 +173,19 @@ render = do
vertex $ Vertex2 (0.5 :: GLfloat) (0.5 :: GLfloat)
texCoord $ TexCoord2 (1 :: GLfloat) (0 :: GLfloat)
- vertex $ Vertex2 (0.5 :: GLfloat) (-0.5 :: GLfloat)
+ vertex $ Vertex2 (0.5 :: GLfloat) (-0.5 :: GLfloat)-}
rotate (rotAim-rotDir) $ Vector3 0 0 (1 :: GLfloat)
- textureBinding Texture2D $= Just textureCannon
+ --textureBinding Texture2D $= Just textureCannon
- unsafeRenderPrimitive Quads $ do
+ unsafePreservingMatrix $ do
+ rotate 90 $ Vector3 1 0 (0 :: GLfloat)
+ drawObject modelTank 0
+
+
+
+ {-unsafeRenderPrimitive Quads $ do
texCoord $ TexCoord2 (0 :: GLfloat) (0 :: GLfloat)
vertex $ Vertex2 (-0.5 :: GLfloat) (-0.5 :: GLfloat)
@@ -144,7 +196,9 @@ render = do
vertex $ Vertex2 (0.5 :: GLfloat) (0.5 :: GLfloat)
texCoord $ TexCoord2 (1 :: GLfloat) (0 :: GLfloat)
- vertex $ Vertex2 (0.5 :: GLfloat) (-0.5 :: GLfloat)
+ vertex $ Vertex2 (0.5 :: GLfloat) (-0.5 :: GLfloat)-}
+
+ texture Texture2D $= Enabled
forM_ bulletlist $ \bullet -> unsafePreservingMatrix $ do
let x = realToFrac . bulletX $ bullet