summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrNuget <drnuget@outlook.com>2026-01-04 22:12:24 +0200
committerDrNuget <drnuget@outlook.com>2026-01-04 22:12:24 +0200
commit510f1bac9b71ba240d30bb5bc5df6501e70fafc9 (patch)
tree7bc48763071a8c315b82e638a267411c3453dd09
downloadopengl-test-510f1bac9b71ba240d30bb5bc5df6501e70fafc9.tar.gz
Working 3D with .obj file loading
-rw-r--r--.gitignore2
-rw-r--r--CMakeLists.txt46
-rw-r--r--assets/objects/penger.obj2991
-rw-r--r--src/cube.c39
-rw-r--r--src/cube.h4
-rw-r--r--src/includes.h28
-rw-r--r--src/main.c152
-rw-r--r--src/main.h26
-rw-r--r--src/object.c109
-rw-r--r--src/object.h47
-rw-r--r--src/player.h13
-rw-r--r--src/shader.c39
-rw-r--r--src/shader.h4
-rw-r--r--src/shaders/basic.frag6
-rw-r--r--src/shaders/basic.vert6
-rw-r--r--src/shaders/test.frag10
-rw-r--r--src/shaders/test.vert19
17 files changed, 3541 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bf0e88a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+build
+build/*
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..19537c4
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,46 @@
+cmake_minimum_required(VERSION 4.2.0)
+
+set(CMAKE_C_STANDARD 99)
+set(CMAKE_C_STANDARD_REQUIRED ON)
+
+project(opengl_test)
+
+find_package(SDL3 REQUIRED)
+include_directories(${SDL3_INCLUDE_DIRS})
+
+find_package(OpenGL REQUIRED)
+
+FILE(GLOB CSources src/*)
+
+add_executable(${PROJECT_NAME} ${CSources})
+
+include(FetchContent)
+
+FetchContent_Declare(
+ glad
+ GIT_REPOSITORY https://github.com/Dav1dde/glad.git
+ GIT_TAG v2.0.8
+ SOURCE_SUBDIR cmake
+)
+FetchContent_MakeAvailable(glad)
+glad_add_library(glad_gl_core_33 REPRODUCIBLE STATIC API gl:core=3.3)
+
+FetchContent_Declare(
+ cglm
+ GIT_REPOSITORY https://github.com/recp/cglm
+ GIT_TAG v0.9.5
+)
+FetchContent_MakeAvailable(cglm)
+
+target_link_libraries(${PROJECT_NAME}
+ SDL3::SDL3
+ OpenGL::GL
+ glad_gl_core_33
+ cglm
+ assimp
+ m
+)
+
+target_compile_options(${PROJECT_NAME} PUBLIC -Wall -Wextra -Wpedantic -g)
+
+#add_subdirectory(external/cglm/ EXCLUDE_FROM_ALL)
diff --git a/assets/objects/penger.obj b/assets/objects/penger.obj
new file mode 100644
index 0000000..d81488b
--- /dev/null
+++ b/assets/objects/penger.obj
@@ -0,0 +1,2991 @@
+# Blender 4.2.1 LTS
+# www.blender.org
+mtllib penger.mtl
+o penger
+v -0.086914 0.777547 0.400041
+v -0.069555 0.829698 0.376422
+v -0.125429 0.805056 0.175577
+v -0.087431 0.859323 0.182228
+v 0.086914 0.777547 0.400041
+v 0.069555 0.829698 0.376422
+v 0.125429 0.805056 0.175577
+v 0.087431 0.859323 0.182228
+v -0.162461 0.831177 0.163170
+v -0.120032 0.785356 0.287080
+v 0.000000 0.816913 0.150254
+v 0.000000 0.931152 0.159026
+v 0.162461 0.831177 0.163170
+v 0.120032 0.785356 0.287080
+v 0.038632 0.851515 0.295188
+v 0.112575 0.800152 0.416327
+v 0.000000 0.783376 0.423906
+v 0.000000 0.839429 0.443461
+v -0.038632 0.851515 0.295188
+v 0.000000 0.833645 0.122512
+v 0.151316 0.813187 0.289445
+v 0.000000 0.807518 0.456379
+v 0.000000 0.799713 0.285755
+v 0.000000 0.863275 0.294437
+v -0.112575 0.800152 0.416327
+v 0.093738 0.749308 0.407523
+v 0.080099 0.856611 0.384454
+v 0.132657 0.778000 0.164820
+v 0.105284 0.882964 0.177497
+v -0.151316 0.813187 0.289445
+v 0.000000 0.790410 0.136199
+v 0.000000 0.960646 0.153539
+v 0.188457 0.829885 0.148254
+v 0.129281 0.756856 0.285586
+v 0.051895 0.877119 0.303468
+v 0.135150 0.799588 0.436077
+v 0.000000 0.755364 0.434645
+v 0.000000 0.866105 0.457187
+v -0.093738 0.749308 0.407523
+v 0.000000 0.828010 0.093046
+v 0.180592 0.816698 0.294976
+v 0.000000 0.810560 0.486224
+v 0.000000 0.769968 0.281850
+v 0.000000 0.890575 0.306875
+v -0.080099 0.856611 0.384454
+v -0.132657 0.778000 0.164820
+v -0.105284 0.882964 0.177497
+v -0.188457 0.829885 0.148254
+v -0.129281 0.756856 0.285586
+v -0.051895 0.877119 0.303468
+v -0.135150 0.799588 0.436077
+v -0.180592 0.816698 0.294976
+v 0.115022 0.904840 0.197084
+v 0.102034 0.945366 0.199050
+v 0.096648 0.900419 0.165724
+v 0.083601 0.940932 0.167590
+v 0.164334 0.967359 0.159346
+v 0.145988 0.962945 0.128034
+v 0.100704 0.896208 0.185316
+v 0.103996 0.923353 0.204821
+v 0.084969 0.945041 0.187652
+v 0.082281 0.918129 0.167759
+v 0.122887 0.906433 0.146600
+v 0.112261 0.954867 0.145603
+v 0.156064 0.946041 0.121047
+v 0.144993 0.930372 0.154550
+v 0.160380 0.971495 0.139738
+v 0.177390 0.951171 0.157444
+v 0.143756 0.911454 0.182218
+v 0.133471 0.959970 0.181803
+v 0.078551 0.915593 0.195563
+v 0.120307 0.928742 0.138548
+v 0.179144 0.950178 0.131749
+v 0.146694 0.935091 0.183584
+v 0.138767 0.901975 0.162201
+v 0.119967 0.966461 0.164127
+v -0.115022 0.904840 0.197084
+v -0.102034 0.945366 0.199050
+v -0.096648 0.900419 0.165724
+v -0.083601 0.940932 0.167590
+v -0.164334 0.967359 0.159346
+v -0.145988 0.962945 0.128034
+v -0.100704 0.896208 0.185316
+v -0.103996 0.923353 0.204821
+v -0.084969 0.945041 0.187652
+v -0.082281 0.918129 0.167759
+v -0.122887 0.906433 0.146600
+v -0.112261 0.954867 0.145603
+v -0.156064 0.946041 0.121047
+v -0.144993 0.930372 0.154550
+v -0.160380 0.971495 0.139738
+v -0.177390 0.951171 0.157444
+v -0.143756 0.911454 0.182218
+v -0.133471 0.959970 0.181803
+v -0.078551 0.915593 0.195563
+v -0.120307 0.928742 0.138548
+v -0.179144 0.950178 0.131749
+v -0.146694 0.935091 0.183584
+v -0.138767 0.901975 0.162201
+v -0.119967 0.966461 0.164127
+v 0.116485 1.100505 0.141727
+v 0.261417 0.200098 0.348366
+v -0.116485 1.100505 0.141727
+v -0.261417 0.200098 0.348366
+v 0.112046 1.157167 -0.052576
+v 0.239249 0.214387 -0.195621
+v -0.112046 1.157167 -0.052576
+v -0.239249 0.214387 -0.195621
+v 0.182365 0.086114 -0.130600
+v -0.182365 0.086114 -0.130600
+v 0.185370 0.088873 0.285766
+v -0.185370 0.088873 0.285766
+v -0.000000 0.219302 -0.288600
+v 0.000000 1.185597 -0.059119
+v -0.000000 0.197646 0.418056
+v 0.000000 0.073265 -0.175525
+v -0.000000 1.116801 0.172179
+v 0.346767 0.186055 0.082211
+v 0.134460 1.152623 0.053817
+v 0.226383 0.065407 0.081386
+v 0.000000 0.093950 0.064396
+v -0.000000 1.202832 0.076074
+v 0.148239 0.999868 -0.129503
+v 0.167399 0.717376 -0.179106
+v 0.000000 1.010360 -0.177507
+v 0.000000 0.722228 -0.243510
+v 0.000000 0.078977 0.303086
+v -0.346767 0.186055 0.082211
+v -0.134460 1.152623 0.053817
+v 0.253877 0.706739 -0.012612
+v 0.214625 0.979434 0.003080
+v 0.158129 0.950290 0.133907
+v 0.188613 0.688153 0.148241
+v 0.000000 0.944652 0.202967
+v -0.000000 0.689861 0.237317
+v -0.226383 0.065407 0.081386
+v 0.228074 0.440323 -0.205451
+v 0.000000 0.444399 -0.288645
+v -0.000000 0.422331 0.380767
+v -0.148239 0.999868 -0.129503
+v -0.167399 0.717376 -0.179106
+v 0.336477 0.428624 0.037431
+v 0.258730 0.418837 0.294948
+v -0.253877 0.706739 -0.012612
+v -0.214625 0.979434 0.003080
+v -0.158129 0.950290 0.133907
+v -0.188613 0.688153 0.148241
+v -0.228074 0.440323 -0.205451
+v -0.336477 0.428624 0.037431
+v -0.258730 0.418837 0.294948
+v 0.066239 1.177571 -0.057217
+v 0.213490 0.131626 -0.165516
+v 0.128870 0.219724 -0.267035
+v 0.106735 0.077250 -0.160566
+v 0.000000 0.126377 -0.249661
+v 0.314673 0.198293 -0.071136
+v -0.314673 0.198293 -0.071136
+v 0.210922 0.071390 -0.043983
+v 0.000000 0.076945 -0.065328
+v -0.244201 0.319222 -0.207684
+v 0.126667 1.163471 -0.006633
+v -0.195294 0.991192 -0.068821
+v 0.000000 1.211143 0.010063
+v -0.213490 0.131626 -0.165516
+v 0.071185 1.191313 0.070402
+v -0.155241 0.865055 -0.158770
+v 0.303068 0.103034 0.087021
+v -0.132112 1.102600 -0.089009
+v 0.120944 0.077310 0.070511
+v 0.183037 1.081878 0.028539
+v 0.132112 1.102600 -0.089009
+v 0.155241 0.865055 -0.158770
+v 0.244201 0.319222 -0.207684
+v 0.000000 1.117590 -0.123992
+v 0.000000 0.872508 -0.215321
+v 0.000000 0.325970 -0.298421
+v 0.103174 0.687991 0.210662
+v 0.000000 0.301556 0.419635
+v -0.294693 0.565372 0.007647
+v -0.129550 1.127979 0.107967
+v 0.294693 0.565372 0.007647
+v 0.232020 0.849539 -0.013046
+v 0.000000 0.823920 0.208490
+v 0.088589 0.720688 -0.227407
+v 0.079730 1.007125 -0.165927
+v -0.232020 0.849539 -0.013046
+v 0.195294 0.991192 -0.068821
+v 0.226314 0.713436 -0.101955
+v 0.170260 0.826295 0.126748
+v -0.000000 1.042220 0.194351
+v 0.138605 1.045492 0.141718
+v -0.210922 0.071390 -0.043983
+v 0.224239 0.127127 0.324377
+v -0.000000 0.118600 0.379001
+v 0.107381 0.082266 0.299738
+v 0.069123 1.112108 0.162110
+v 0.144110 0.200197 0.404857
+v 0.273464 0.299769 0.340419
+v 0.086530 0.945098 0.182669
+v -0.170260 0.826295 0.126748
+v 0.000000 1.170466 0.131824
+v -0.226314 0.713436 -0.101955
+v 0.129550 1.127979 0.107967
+v -0.126667 1.163471 -0.006633
+v 0.240899 0.696199 0.072126
+v 0.202094 0.963683 0.072293
+v -0.224239 0.127127 0.324377
+v 0.196495 0.573973 -0.194947
+v 0.000000 0.577321 -0.268617
+v -0.000000 0.553716 0.306623
+v 0.356649 0.298828 0.064475
+v 0.223708 0.550083 0.216822
+v 0.302413 0.435133 -0.098045
+v -0.138605 1.045492 0.141718
+v 0.143359 0.420422 0.361124
+v -0.273464 0.299769 0.340419
+v 0.122283 0.443412 -0.268697
+v 0.323489 0.422181 0.178606
+v -0.183037 1.081878 0.028539
+v 0.211567 0.074486 0.204949
+v 0.329913 0.190801 0.232998
+v -0.303068 0.103034 0.087021
+v 0.000000 0.083871 0.193289
+v -0.240899 0.696199 0.072126
+v -0.202094 0.963683 0.072293
+v -0.196495 0.573973 -0.194947
+v -0.356649 0.298828 0.064475
+v -0.223708 0.550083 0.216822
+v -0.302413 0.435133 -0.098045
+v -0.323489 0.422181 0.178606
+v -0.211567 0.074486 0.204949
+v -0.329913 0.190801 0.232998
+v -0.120944 0.077310 0.070511
+v -0.128870 0.219724 -0.267035
+v -0.106735 0.077250 -0.160566
+v -0.071185 1.191312 0.070402
+v -0.103174 0.687991 0.210662
+v -0.144110 0.200197 0.404857
+v -0.066239 1.177571 -0.057217
+v -0.079730 1.007125 -0.165927
+v -0.088589 0.720688 -0.227407
+v -0.069123 1.112108 0.162110
+v -0.107381 0.082266 0.299738
+v -0.086530 0.945098 0.182669
+v -0.143359 0.420422 0.361124
+v -0.122283 0.443412 -0.268697
+v -0.116187 0.130914 -0.229604
+v -0.072661 1.112795 -0.116367
+v 0.116187 0.130913 -0.229604
+v 0.113112 0.075394 0.196042
+v 0.218688 0.836754 0.060131
+v -0.082517 0.870222 -0.201199
+v -0.342146 0.297255 0.218515
+v -0.277483 0.115220 -0.052960
+v 0.342146 0.297255 0.218515
+v -0.123321 0.551288 0.282574
+v 0.104612 0.576285 -0.250504
+v -0.263362 0.570961 -0.103638
+v 0.072661 1.112795 -0.116367
+v 0.068288 1.200296 0.006932
+v -0.218688 0.836754 0.060131
+v -0.068288 1.200296 0.006932
+v 0.092843 0.823418 0.183578
+v 0.277483 0.115220 -0.052960
+v -0.092843 0.823418 0.183578
+v 0.114344 0.069341 -0.055794
+v -0.069793 1.161151 0.124576
+v 0.123321 0.551288 0.282574
+v -0.113112 0.075394 0.196042
+v 0.123369 0.124214 0.369703
+v 0.069793 1.161151 0.124576
+v -0.169024 1.094663 -0.036361
+v -0.151487 0.301276 0.403451
+v 0.082517 0.870222 -0.201199
+v 0.284665 0.113243 0.223581
+v -0.284665 0.113243 0.223581
+v -0.077124 1.041621 0.179388
+v -0.123369 0.124214 0.369703
+v 0.322028 0.308268 -0.086948
+v -0.114344 0.069341 -0.055794
+v 0.169024 1.094663 -0.036361
+v 0.208363 0.858708 -0.090994
+v 0.077124 1.041621 0.179388
+v -0.322028 0.308268 -0.086948
+v 0.173487 1.062450 0.090260
+v 0.263362 0.570961 -0.103638
+v -0.173487 1.062450 0.090260
+v -0.131368 0.324783 -0.277201
+v -0.208363 0.858708 -0.090994
+v 0.151487 0.301276 0.403451
+v -0.282070 0.556411 0.120093
+v 0.131368 0.324783 -0.277201
+v 0.282071 0.556411 0.120093
+v -0.104612 0.576285 -0.250504
+v 0.139456 1.115482 0.170848
+v 0.287271 0.189966 0.377156
+v -0.139456 1.115482 0.170848
+v -0.287271 0.189966 0.377156
+v 0.133667 1.185114 -0.071325
+v 0.266366 0.203725 -0.223025
+v -0.133667 1.185114 -0.071325
+v -0.266366 0.203726 -0.223025
+v 0.195667 0.051247 -0.144999
+v -0.195667 0.051247 -0.144999
+v 0.194474 0.052243 0.299008
+v -0.194474 0.052243 0.299008
+v 0.000000 0.209464 -0.327372
+v 0.000000 1.219137 -0.080914
+v 0.000000 0.188516 0.457000
+v -0.000000 0.035680 -0.189215
+v 0.000000 1.134596 0.208003
+v 0.384990 0.174395 0.080468
+v 0.162868 1.179727 0.061455
+v 0.235551 0.026472 0.081467
+v 0.000000 0.053964 0.065479
+v -0.000000 1.240713 0.088920
+v 0.173912 1.011387 -0.157932
+v 0.193708 0.724703 -0.208332
+v -0.000000 1.024361 -0.214977
+v 0.000000 0.729344 -0.282872
+v 0.000000 0.040320 0.313365
+v -0.384990 0.174395 0.080468
+v -0.162868 1.179727 0.061455
+v 0.292852 0.715413 -0.014998
+v 0.253766 0.987671 0.002714
+v 0.185951 0.952824 0.162535
+v 0.215515 0.701473 0.174678
+v 0.000000 0.946738 0.242913
+v 0.000000 0.703927 0.274763
+v -0.235551 0.026472 0.081467
+v 0.255368 0.446432 -0.234047
+v -0.000000 0.449117 -0.328366
+v 0.000000 0.439027 0.417116
+v -0.173912 1.011387 -0.157932
+v -0.193708 0.724703 -0.208332
+v 0.375424 0.437400 0.034948
+v 0.284700 0.435181 0.320607
+v -0.292852 0.715413 -0.014998
+v -0.253766 0.987671 0.002714
+v -0.185951 0.952824 0.162535
+v -0.215515 0.701473 0.174678
+v -0.255368 0.446432 -0.234047
+v -0.375424 0.437400 0.034948
+v -0.284700 0.435181 0.320607
+v 0.076969 1.209939 -0.078126
+v 0.236028 0.108130 -0.188755
+v 0.142717 0.209637 -0.303181
+v 0.112677 0.040335 -0.174778
+v 0.000000 0.101844 -0.281254
+v 0.350053 0.187057 -0.086034
+v -0.350053 0.187057 -0.086034
+v 0.222273 0.033577 -0.050412
+v -0.000000 0.036973 -0.063835
+v -0.272234 0.318950 -0.236216
+v 0.153140 1.192878 -0.012504
+v -0.230594 1.001151 -0.084781
+v 0.000000 1.250939 0.006027
+v -0.236028 0.108130 -0.188755
+v 0.085715 1.226738 0.081975
+v -0.181373 0.872182 -0.188204
+v 0.331447 0.074854 0.086304
+v -0.156519 1.122257 -0.113866
+v 0.117699 0.037449 0.071304
+v 0.219507 1.098061 0.031380
+v 0.156519 1.122257 -0.113866
+v 0.181373 0.872182 -0.188204
+v 0.272234 0.318950 -0.236216
+v -0.000000 1.140332 -0.156898
+v 0.000000 0.881317 -0.254339
+v 0.000000 0.325735 -0.338420
+v 0.118953 0.701990 0.244648
+v 0.000000 0.307976 0.459117
+v -0.332953 0.576790 0.005233
+v -0.156442 1.149940 0.127831
+v 0.332953 0.576790 0.005233
+v 0.271568 0.855224 -0.014936
+v 0.000000 0.828915 0.248177
+v 0.102444 0.727876 -0.264236
+v 0.092320 1.020357 -0.201514
+v -0.271568 0.855224 -0.014936
+v 0.230594 1.001151 -0.084781
+v 0.261398 0.720992 -0.119618
+v 0.198368 0.831051 0.154807
+v 0.000000 1.049056 0.233763
+v 0.164996 1.052710 0.170897
+v -0.222273 0.033577 -0.050412
+v 0.243011 0.100535 0.347626
+v 0.000000 0.091090 0.408039
+v 0.110234 0.044142 0.311504
+v 0.081739 1.129230 0.195987
+v 0.154778 0.190977 0.442290
+v 0.300922 0.305702 0.368894
+v 0.102604 0.946974 0.219249
+v -0.198368 0.831051 0.154807
+v -0.000000 1.200544 0.158192
+v -0.261398 0.720992 -0.119618
+v 0.156442 1.149940 0.127831
+v -0.153139 1.192878 -0.012504
+v 0.276552 0.707282 0.086480
+v 0.238355 0.968905 0.088351
+v -0.243011 0.100535 0.347626
+v 0.223019 0.582269 -0.223716
+v 0.000000 0.583858 -0.308079
+v 0.000000 0.573428 0.341429
+v 0.396566 0.299805 0.062092
+v 0.248899 0.569216 0.241302
+v 0.338439 0.442069 -0.113985
+v -0.164996 1.052710 0.170897
+v 0.155245 0.437577 0.395248
+v -0.300922 0.305702 0.368894
+v 0.136150 0.448614 -0.305854
+v 0.359578 0.434799 0.190369
+v -0.219507 1.098061 0.031380
+v 0.220460 0.035971 0.211073
+v 0.365966 0.179385 0.246030
+v -0.331447 0.074854 0.086304
+v -0.000000 0.043880 0.192436
+v -0.276552 0.707282 0.086480
+v -0.238355 0.968905 0.088351
+v -0.223019 0.582269 -0.223716
+v -0.396566 0.299805 0.062092
+v -0.248899 0.569216 0.241302
+v -0.338439 0.442069 -0.113985
+v -0.359578 0.434799 0.190369
+v -0.220460 0.035971 0.211073
+v -0.365966 0.179384 0.246030
+v -0.117699 0.037449 0.071304
+v -0.142717 0.209637 -0.303181
+v -0.112677 0.040335 -0.174778
+v -0.085715 1.226738 0.081975
+v -0.118953 0.701990 0.244648
+v -0.154778 0.190977 0.442290
+v -0.076969 1.209939 -0.078126
+v -0.092320 1.020357 -0.201514
+v -0.102444 0.727876 -0.264236
+v -0.081739 1.129230 0.195987
+v -0.110234 0.044142 0.311504
+v -0.102604 0.946974 0.219249
+v -0.155245 0.437577 0.395248
+v -0.136150 0.448614 -0.305854
+v -0.127815 0.107103 -0.259568
+v -0.083673 1.134534 -0.148087
+v 0.127815 0.107103 -0.259568
+v 0.111491 0.035439 0.197029
+v 0.255177 0.841892 0.075693
+v -0.096035 0.878509 -0.237922
+v -0.380059 0.300592 0.230823
+v -0.305465 0.089413 -0.065249
+v 0.380059 0.300592 0.230823
+v -0.136479 0.571296 0.314614
+v 0.118420 0.583400 -0.287365
+v -0.298474 0.580339 -0.120346
+v 0.083673 1.134534 -0.148087
+v 0.081319 1.237915 0.003058
+v -0.255177 0.841892 0.075693
+v -0.081319 1.237915 0.003058
+v 0.109808 0.828218 0.219483
+v 0.305465 0.089413 -0.065249
+v -0.109808 0.828218 0.219483
+v 0.113657 0.029350 -0.056297
+v -0.083372 1.189810 0.148954
+v 0.136479 0.571296 0.314614
+v -0.111491 0.035439 0.197029
+v 0.130968 0.097527 0.398513
+v 0.083372 1.189810 0.148954
+v -0.202781 1.112807 -0.047817
+v -0.163077 0.307992 0.441141
+v 0.096035 0.878509 -0.237922
+v 0.310921 0.085245 0.234838
+v -0.310921 0.085245 0.234838
+v -0.091241 1.047897 0.216284
+v -0.130968 0.097527 0.398513
+v 0.358889 0.308169 -0.102481
+v -0.113657 0.029350 -0.056297
+v 0.202781 1.112807 -0.047817
+v 0.243685 0.864892 -0.108716
+v 0.091241 1.047897 0.216284
+v -0.358889 0.308169 -0.102481
+v 0.207788 1.074204 0.107150
+v 0.298474 0.580339 -0.120346
+v -0.207788 1.074204 0.107150
+v -0.145457 0.324547 -0.314637
+v -0.243685 0.864892 -0.108716
+v 0.163077 0.307992 0.441141
+v -0.316786 0.571835 0.132619
+v 0.145457 0.324547 -0.314637
+v 0.316786 0.571835 0.132619
+v -0.118420 0.583400 -0.287365
+v -0.508828 0.011263 0.156039
+v -0.522541 0.089935 0.161508
+v -0.282585 0.011263 -0.115427
+v -0.282585 0.190227 -0.115427
+v -0.361756 0.011263 0.278610
+v -0.364664 0.089935 0.293084
+v -0.135514 0.011263 0.007144
+v -0.135514 0.190227 0.007144
+v -0.411821 0.004267 0.006876
+v -0.549731 0.044418 0.172353
+v -0.411821 0.211204 0.006876
+v -0.273911 0.044418 -0.158601
+v -0.184261 0.004267 -0.083886
+v -0.184261 0.211204 -0.083886
+v -0.094610 0.044418 -0.009170
+v -0.232520 0.004267 0.156307
+v -0.232520 0.211204 0.156307
+v -0.370430 0.044418 0.321783
+v -0.460081 0.004267 0.247068
+v -0.477521 0.103880 0.267995
+v -0.445638 0.044418 -0.021308
+v -0.132239 0.044418 -0.146306
+v -0.198703 0.044418 0.184490
+v -0.512102 0.044418 0.309488
+v -0.322171 -0.010414 0.081591
+v -0.322171 0.255226 0.081591
+v 0.508827 0.011263 0.156039
+v 0.522541 0.089935 0.161508
+v 0.282585 0.011263 -0.115427
+v 0.282585 0.190227 -0.115427
+v 0.361756 0.011263 0.278610
+v 0.364664 0.089935 0.293084
+v 0.135514 0.011263 0.007144
+v 0.135514 0.190227 0.007144
+v 0.411821 0.004267 0.006876
+v 0.549731 0.044418 0.172353
+v 0.411821 0.211204 0.006876
+v 0.273911 0.044418 -0.158601
+v 0.184261 0.004267 -0.083886
+v 0.184261 0.211204 -0.083886
+v 0.094610 0.044418 -0.009170
+v 0.232520 0.004267 0.156307
+v 0.232520 0.211204 0.156307
+v 0.370430 0.044418 0.321783
+v 0.460080 0.004267 0.247068
+v 0.477521 0.103880 0.267995
+v 0.445638 0.044418 -0.021308
+v 0.132239 0.044418 -0.146306
+v 0.198703 0.044418 0.184490
+v 0.512102 0.044418 0.309488
+v 0.322171 -0.010414 0.081591
+v 0.322171 0.255226 0.081591
+v -0.526869 -0.024208 0.152000
+v -0.555296 0.112752 0.158961
+v -0.289810 -0.024208 -0.132445
+v -0.292530 0.213963 -0.146049
+v -0.354531 -0.024208 0.295628
+v -0.356255 0.112752 0.324844
+v -0.117472 -0.024208 0.011183
+v -0.103601 0.213963 0.011407
+v -0.425788 -0.031362 -0.004764
+v -0.588868 0.036314 0.170732
+v -0.436697 0.238989 -0.007587
+v -0.282718 0.033088 -0.195938
+v -0.175994 -0.033592 -0.093804
+v -0.167515 0.241468 -0.103978
+v -0.056297 0.033088 -0.007237
+v -0.218553 -0.031362 0.167947
+v -0.213811 0.238989 0.178169
+v -0.361782 0.036314 0.359987
+v -0.468347 -0.033592 0.256987
+v -0.494838 0.133348 0.288774
+v -0.475820 0.034779 -0.045724
+v -0.107523 0.033947 -0.175962
+v -0.169247 0.034779 0.209777
+v -0.537439 0.038600 0.339889
+v -0.322171 -0.050414 0.081591
+v -0.326703 0.294595 0.087030
+v 0.526869 -0.024208 0.152000
+v 0.555296 0.112752 0.158961
+v 0.289810 -0.024208 -0.132445
+v 0.292530 0.213963 -0.146049
+v 0.354531 -0.024208 0.295628
+v 0.356255 0.112752 0.324844
+v 0.117472 -0.024208 0.011183
+v 0.103601 0.213963 0.011407
+v 0.425788 -0.031362 -0.004764
+v 0.588867 0.036314 0.170732
+v 0.436697 0.238989 -0.007587
+v 0.282718 0.033088 -0.195938
+v 0.175994 -0.033592 -0.093804
+v 0.167515 0.241468 -0.103978
+v 0.056297 0.033088 -0.007237
+v 0.218553 -0.031362 0.167947
+v 0.213811 0.238989 0.178169
+v 0.361782 0.036314 0.359987
+v 0.468347 -0.033592 0.256987
+v 0.494838 0.133348 0.288774
+v 0.475820 0.034779 -0.045724
+v 0.107523 0.033947 -0.175962
+v 0.169247 0.034779 0.209777
+v 0.537439 0.038600 0.339889
+v 0.322171 -0.050414 0.081591
+v 0.326703 0.294595 0.087030
+vn -0.2298 -0.9382 0.2589
+vn -0.3321 0.9074 0.2577
+vn -0.2533 -0.8850 -0.3906
+vn -0.3960 0.8983 -0.1903
+vn 0.2298 -0.9382 0.2589
+vn 0.3321 0.9074 0.2577
+vn 0.2533 -0.8850 -0.3906
+vn 0.3960 0.8983 -0.1903
+vn -0.8535 0.1303 -0.5045
+vn -0.3218 -0.9448 -0.0616
+vn -0.0000 -0.9347 -0.3554
+vn -0.0000 0.9356 -0.3530
+vn 0.8535 0.1303 -0.5045
+vn 0.3218 -0.9448 -0.0616
+vn 0.2997 0.9395 0.1659
+vn 0.7362 0.0427 0.6754
+vn -0.0000 -0.9476 0.3195
+vn -0.0000 0.7000 0.7142
+vn -0.2997 0.9395 0.1659
+vn -0.0000 -0.2060 -0.9785
+vn 0.9751 0.1377 0.1737
+vn -0.0000 -0.1005 0.9949
+vn -0.0000 -0.9915 -0.1304
+vn -0.0000 0.9720 0.2348
+vn -0.7362 0.0427 0.6754
+vn -0.2958 0.9038 -0.3094
+vn -0.4035 -0.8643 -0.3002
+vn -0.3309 0.8478 0.4144
+vn -0.4868 -0.8361 0.2531
+vn -0.9751 0.1377 0.1737
+vn -0.0000 0.8916 0.4527
+vn -0.0000 -0.9301 0.3673
+vn -0.8493 -0.0993 0.5184
+vn -0.3972 0.9167 0.0442
+vn -0.3618 -0.9069 -0.2160
+vn -0.7347 -0.0238 -0.6780
+vn -0.0000 0.9046 -0.4263
+vn -0.0000 -0.7352 -0.6779
+vn 0.2958 0.9038 -0.3094
+vn -0.0000 0.1082 0.9941
+vn -0.9748 -0.1410 -0.1729
+vn -0.0000 -0.0041 -1.0000
+vn -0.0000 0.9921 0.1251
+vn -0.0000 -0.9567 -0.2909
+vn 0.4035 -0.8643 -0.3002
+vn 0.3309 0.8478 0.4144
+vn 0.4868 -0.8361 0.2531
+vn 0.8493 -0.0993 0.5184
+vn 0.3972 0.9167 0.0442
+vn 0.3618 -0.9069 -0.2160
+vn 0.7347 -0.0238 -0.6780
+vn 0.9748 -0.1410 -0.1729
+vn 0.2074 -0.6039 0.7696
+vn -0.1514 0.5347 0.8314
+vn -0.4855 -0.7706 -0.4130
+vn -0.8546 0.3655 -0.3688
+vn 0.4920 0.7640 0.4175
+vn -0.2072 0.5957 -0.7760
+vn -0.2475 -0.9288 0.2759
+vn -0.0171 -0.0508 0.9986
+vn -0.7380 0.5762 0.3512
+vn -0.8607 -0.2537 -0.4413
+vn 0.0661 -0.6238 -0.7788
+vn -0.5852 0.4979 -0.6400
+vn 0.1561 -0.2848 -0.9458
+vn 0.6609 -0.6923 -0.2897
+vn 0.2885 0.9102 -0.2973
+vn 0.9250 -0.0998 0.3665
+vn 0.7779 -0.4525 0.4360
+vn 0.1994 0.6866 0.6991
+vn -0.8089 -0.2852 0.5142
+vn -0.2297 -0.2883 -0.9296
+vn 0.8638 -0.1208 -0.4891
+vn 0.7200 -0.0599 0.6914
+vn 0.6048 -0.7569 -0.2477
+vn -0.3061 0.9509 0.0453
+vn -0.2074 -0.6039 0.7696
+vn 0.1514 0.5347 0.8314
+vn 0.4855 -0.7706 -0.4130
+vn 0.8546 0.3655 -0.3688
+vn -0.4920 0.7640 0.4175
+vn 0.2072 0.5957 -0.7760
+vn 0.2475 -0.9288 0.2759
+vn 0.0171 -0.0508 0.9986
+vn 0.7380 0.5762 0.3512
+vn 0.8607 -0.2537 -0.4413
+vn -0.0661 -0.6238 -0.7788
+vn 0.5852 0.4979 -0.6400
+vn -0.1561 -0.2848 -0.9458
+vn -0.6609 -0.6923 -0.2897
+vn -0.2885 0.9102 -0.2973
+vn -0.9250 -0.0998 0.3665
+vn -0.7779 -0.4525 0.4360
+vn -0.1994 0.6866 0.6991
+vn 0.8089 -0.2852 0.5142
+vn 0.2297 -0.2883 -0.9296
+vn -0.8638 -0.1208 -0.4891
+vn -0.7200 -0.0599 0.6914
+vn -0.6048 -0.7569 -0.2477
+vn 0.3061 0.9509 0.0453
+vn 0.5747 0.3772 0.7263
+vn 0.6454 -0.2598 0.7183
+vn -0.5747 0.3772 0.7263
+vn -0.6454 -0.2598 0.7183
+vn 0.5332 0.7141 -0.4536
+vn 0.6790 -0.2668 -0.6840
+vn -0.5332 0.7141 -0.4536
+vn -0.6790 -0.2668 -0.6840
+vn 0.3333 -0.8609 -0.3844
+vn -0.3333 -0.8609 -0.3844
+vn 0.2334 -0.9128 0.3351
+vn -0.2334 -0.9128 0.3351
+vn -0.0000 -0.2448 -0.9696
+vn -0.0000 0.8402 -0.5422
+vn -0.0000 -0.2337 0.9723
+vn -0.0000 -0.9479 -0.3186
+vn -0.0000 0.4496 0.8932
+vn 0.9556 -0.2920 -0.0401
+vn 0.7090 0.6779 0.1945
+vn 0.2103 -0.9776 -0.0130
+vn -0.0000 -0.9999 0.0130
+vn -0.0000 0.9475 0.3197
+vn 0.6382 0.2812 -0.7167
+vn 0.6581 0.1827 -0.7304
+vn -0.0000 0.3519 -0.9360
+vn -0.0000 0.1759 -0.9844
+vn -0.0000 -0.9754 0.2203
+vn -0.9556 -0.2920 -0.0401
+vn -0.7090 0.6779 0.1945
+vn 0.9748 0.2160 -0.0567
+vn 0.9790 0.2035 -0.0091
+vn 0.6985 0.0609 0.7131
+vn 0.6756 0.3360 0.6562
+vn -0.0000 0.0579 0.9983
+vn -0.0000 0.3527 0.9357
+vn -0.2103 -0.9776 -0.0130
+vn 0.6785 0.1573 -0.7175
+vn -0.0000 0.1177 -0.9930
+vn -0.0000 0.3985 0.9172
+vn -0.6382 0.2812 -0.7167
+vn -0.6581 0.1827 -0.7304
+vn 0.9743 0.2171 -0.0595
+vn 0.6533 0.4148 0.6334
+vn -0.9748 0.2160 -0.0567
+vn -0.9790 0.2035 -0.0091
+vn -0.6985 0.0609 0.7131
+vn -0.6756 0.3360 0.6562
+vn -0.6785 0.1573 -0.7175
+vn -0.9743 0.2171 -0.0595
+vn -0.6533 0.4148 0.6334
+vn 0.2592 0.8144 -0.5192
+vn 0.5676 -0.5750 -0.5892
+vn 0.3426 -0.2517 -0.9051
+vn 0.1568 -0.9237 -0.3496
+vn -0.0000 -0.6134 -0.7898
+vn 0.8849 -0.2808 -0.3716
+vn -0.8849 -0.2808 -0.3716
+vn 0.2792 -0.9498 -0.1411
+vn -0.0000 -0.9986 0.0524
+vn -0.7002 -0.0049 -0.7139
+vn 0.6613 0.7382 -0.1330
+vn -0.8830 0.2428 -0.4016
+vn -0.0000 0.9947 -0.1030
+vn -0.5676 -0.5750 -0.5892
+vn 0.3630 0.8856 0.2896
+vn -0.6518 0.1791 -0.7369
+vn 0.7051 -0.7089 -0.0155
+vn -0.6112 0.4806 -0.6288
+vn -0.1017 -0.9948 -0.0000
+vn 0.9106 0.4063 0.0761
+vn 0.6112 0.4806 -0.6288
+vn 0.6518 0.1791 -0.7369
+vn 0.7002 -0.0049 -0.7139
+vn -0.0000 0.5713 -0.8207
+vn -0.0000 0.2204 -0.9754
+vn -0.0000 -0.0038 -1.0000
+vn 0.4019 0.3553 0.8439
+vn -0.0000 0.1582 0.9874
+vn -0.9573 0.2834 -0.0573
+vn -0.6757 0.5557 0.4844
+vn 0.9573 0.2834 -0.0573
+vn 0.9886 0.1430 -0.0470
+vn -0.0000 0.1243 0.9922
+vn 0.3494 0.1778 -0.9200
+vn 0.3162 0.3280 -0.8902
+vn -0.9886 0.1430 -0.0470
+vn 0.8830 0.2428 -0.4016
+vn 0.8758 0.1902 -0.4436
+vn 0.7042 0.1143 0.7008
+vn -0.0000 0.1789 0.9839
+vn 0.6646 0.1681 0.7281
+vn -0.2792 -0.9498 -0.1411
+vn 0.4811 -0.6477 0.5907
+vn -0.0000 -0.6901 0.7237
+vn 0.0723 -0.9581 0.2771
+vn 0.2987 0.4295 0.8523
+vn 0.2633 -0.2340 0.9359
+vn 0.6886 0.1524 0.7090
+vn 0.4009 0.0468 0.9149
+vn -0.7042 0.1143 0.7008
+vn -0.0000 0.7497 0.6618
+vn -0.8758 0.1902 -0.4436
+vn 0.6757 0.5557 0.4844
+vn -0.6613 0.7382 -0.1330
+vn 0.8896 0.2748 0.3648
+vn 0.9060 0.1311 0.4025
+vn -0.4811 -0.6477 0.5907
+vn 0.6597 0.2103 -0.7215
+vn -0.0000 0.1616 -0.9869
+vn -0.0000 0.4855 0.8742
+vn 0.9979 0.0244 -0.0592
+vn 0.6347 0.4833 0.6030
+vn 0.9008 0.1734 -0.3982
+vn -0.6646 0.1681 0.7281
+vn 0.2921 0.4249 0.8568
+vn -0.6886 0.1524 0.7090
+vn 0.3438 0.1328 -0.9296
+vn 0.9025 0.3170 0.2917
+vn -0.9106 0.4063 0.0761
+vn 0.2153 -0.9627 0.1639
+vn 0.8990 -0.2945 0.3242
+vn -0.7051 -0.7089 -0.0155
+vn -0.0000 -0.9998 -0.0208
+vn -0.8896 0.2748 0.3648
+vn -0.9060 0.1311 0.4025
+vn -0.6597 0.2103 -0.7215
+vn -0.9979 0.0244 -0.0592
+vn -0.6347 0.4833 0.6030
+vn -0.9008 0.1734 -0.3982
+vn -0.9025 0.3170 0.2917
+vn -0.2153 -0.9627 0.1639
+vn -0.8990 -0.2945 0.3242
+vn 0.1017 -0.9948 -0.0000
+vn -0.3426 -0.2517 -0.9051
+vn -0.1568 -0.9237 -0.3496
+vn -0.3630 0.8856 0.2896
+vn -0.4019 0.3553 0.8439
+vn -0.2633 -0.2340 0.9359
+vn -0.2592 0.8144 -0.5192
+vn -0.3162 0.3280 -0.8902
+vn -0.3494 0.1778 -0.9200
+vn -0.2987 0.4295 0.8523
+vn -0.0723 -0.9581 0.2771
+vn -0.4009 0.0468 0.9149
+vn -0.2921 0.4249 0.8568
+vn -0.3438 0.1328 -0.9296
+vn -0.2923 -0.5994 -0.7452
+vn -0.2738 0.5435 -0.7935
+vn 0.2923 -0.5994 -0.7452
+vn -0.0444 -0.9979 0.0476
+vn 0.9104 0.1251 0.3943
+vn -0.3412 0.2089 -0.9165
+vn -0.9484 0.0861 0.3052
+vn -0.7009 -0.6475 -0.2991
+vn 0.9484 0.0861 0.3052
+vn -0.3320 0.5024 0.7984
+vn 0.3447 0.1782 -0.9217
+vn -0.8768 0.2357 -0.4191
+vn 0.2738 0.5435 -0.7935
+vn 0.3281 0.9393 -0.0999
+vn -0.9104 0.1251 0.3943
+vn -0.3281 0.9393 -0.0999
+vn 0.4290 0.1172 0.8957
+vn 0.7009 -0.6475 -0.2991
+vn -0.4290 0.1172 0.8957
+vn -0.0138 -0.9998 -0.0135
+vn -0.3357 0.7152 0.6130
+vn 0.3320 0.5024 0.7984
+vn 0.0444 -0.9979 0.0476
+vn 0.1900 -0.6656 0.7217
+vn 0.3357 0.7152 0.6130
+vn -0.8447 0.4521 -0.2865
+vn -0.2827 0.1692 0.9442
+vn 0.3412 0.2089 -0.9165
+vn 0.6571 -0.6984 0.2837
+vn -0.6571 -0.6984 0.2837
+vn -0.3490 0.1581 0.9237
+vn -0.1900 -0.6656 0.7217
+vn 0.9223 -0.0042 -0.3865
+vn 0.0138 -0.9998 -0.0135
+vn 0.8447 0.4521 -0.2865
+vn 0.8826 0.1548 -0.4438
+vn 0.3490 0.1581 0.9237
+vn -0.9223 -0.0042 -0.3865
+vn 0.8580 0.2931 0.4219
+vn 0.8768 0.2357 -0.4191
+vn -0.8580 0.2931 0.4219
+vn -0.3498 -0.0024 -0.9368
+vn -0.8826 0.1548 -0.4438
+vn 0.2827 0.1692 0.9442
+vn -0.8679 0.3858 0.3131
+vn 0.3498 -0.0024 -0.9368
+vn 0.8679 0.3858 0.3131
+vn -0.3447 0.1782 -0.9217
+vn -0.5744 -0.3797 -0.7252
+vn -0.6461 0.2595 -0.7178
+vn 0.5744 -0.3797 -0.7252
+vn 0.6461 0.2595 -0.7178
+vn -0.5390 -0.7040 0.4624
+vn -0.6782 0.2686 0.6841
+vn 0.5390 -0.7040 0.4624
+vn 0.6782 0.2686 0.6841
+vn -0.3415 0.8648 0.3681
+vn 0.3415 0.8648 0.3681
+vn -0.2379 0.9100 -0.3396
+vn 0.2379 0.9100 -0.3396
+vn -0.0000 0.2490 0.9685
+vn -0.0000 -0.8424 0.5389
+vn -0.0000 0.2371 -0.9715
+vn -0.0000 0.9447 0.3279
+vn -0.0000 -0.4518 -0.8921
+vn -0.9542 0.2968 0.0388
+vn -0.7075 -0.6798 -0.1934
+vn -0.2229 0.9748 0.0127
+vn -0.0000 0.9999 -0.0116
+vn -0.0000 -0.9481 -0.3178
+vn -0.6388 -0.2826 0.7156
+vn -0.6572 -0.1829 0.7312
+vn -0.0000 -0.3529 0.9356
+vn -0.0000 -0.1760 0.9844
+vn -0.0000 0.9665 -0.2565
+vn 0.9542 0.2968 0.0388
+vn 0.7075 -0.6798 -0.1934
+vn -0.9747 -0.2162 0.0567
+vn -0.9788 -0.2044 0.0087
+vn -0.7001 -0.0615 -0.7114
+vn -0.6780 -0.3358 -0.6538
+vn -0.0000 -0.0579 -0.9983
+vn -0.0000 -0.3520 -0.9360
+vn 0.2229 0.9748 0.0127
+vn -0.6788 -0.1561 0.7176
+vn -0.0000 -0.1170 0.9931
+vn -0.0000 -0.4051 -0.9143
+vn 0.6388 -0.2826 0.7156
+vn 0.6572 -0.1829 0.7312
+vn -0.9746 -0.2161 0.0581
+vn -0.6541 -0.4125 -0.6340
+vn 0.9747 -0.2162 0.0567
+vn 0.9788 -0.2044 0.0087
+vn 0.7001 -0.0615 -0.7114
+vn 0.6780 -0.3358 -0.6538
+vn 0.6788 -0.1561 0.7176
+vn 0.9746 -0.2161 0.0581
+vn 0.6541 -0.4125 -0.6340
+vn -0.2531 -0.8146 0.5218
+vn -0.5738 0.5714 0.5867
+vn -0.3437 0.2547 0.9039
+vn -0.1452 0.9254 0.3501
+vn -0.0000 0.6164 0.7874
+vn -0.8839 0.2838 0.3717
+vn 0.8839 0.2838 0.3717
+vn -0.2862 0.9475 0.1428
+vn -0.0000 0.9992 -0.0406
+vn 0.7001 0.0068 0.7140
+vn -0.6654 -0.7353 0.1286
+vn 0.8832 -0.2438 0.4007
+vn -0.0000 -0.9946 0.1039
+vn 0.5738 0.5714 0.5867
+vn -0.3641 -0.8860 -0.2872
+vn 0.6516 -0.1797 0.7370
+vn -0.7051 0.7090 0.0157
+vn 0.6114 -0.4822 0.6274
+vn 0.0922 0.9957 0.0012
+vn -0.9095 -0.4086 -0.0769
+vn -0.6114 -0.4822 0.6274
+vn -0.6516 -0.1797 0.7370
+vn -0.7001 0.0068 0.7140
+vn -0.0000 -0.5746 0.8184
+vn -0.0000 -0.2209 0.9753
+vn -0.0000 0.0058 1.0000
+vn -0.3991 -0.3554 -0.8452
+vn -0.0000 -0.1480 -0.9890
+vn 0.9575 -0.2831 0.0561
+vn 0.6744 -0.5571 -0.4846
+vn -0.9575 -0.2831 0.0561
+vn -0.9885 -0.1436 0.0475
+vn -0.0000 -0.1224 -0.9925
+vn -0.3486 -0.1779 0.9202
+vn -0.3183 -0.3292 0.8890
+vn 0.9885 -0.1436 0.0475
+vn -0.8832 -0.2438 0.4007
+vn -0.8761 -0.1906 0.4428
+vn -0.7066 -0.1131 -0.6985
+vn -0.0000 -0.1819 -0.9833
+vn -0.6656 -0.1709 -0.7265
+vn 0.2862 0.9475 0.1428
+vn -0.4836 0.6453 -0.5914
+vn -0.0000 0.6886 -0.7252
+vn -0.0892 0.9504 -0.2980
+vn -0.2989 -0.4325 -0.8507
+vn -0.2668 0.2355 -0.9345
+vn -0.6891 -0.1487 -0.7092
+vn -0.3992 -0.0466 -0.9157
+vn 0.7066 -0.1131 -0.6985
+vn -0.0000 -0.7504 -0.6610
+vn 0.8761 -0.1906 0.4428
+vn -0.6744 -0.5571 -0.4846
+vn 0.6654 -0.7353 0.1286
+vn -0.8915 -0.2747 -0.3601
+vn -0.9071 -0.1327 -0.3995
+vn 0.4836 0.6453 -0.5914
+vn -0.6595 -0.2100 0.7218
+vn -0.0000 -0.1614 0.9869
+vn -0.0000 -0.4855 -0.8742
+vn -0.9981 -0.0222 0.0576
+vn -0.6358 -0.4833 -0.6018
+vn -0.9007 -0.1723 0.3988
+vn 0.6656 -0.1709 -0.7265
+vn -0.2995 -0.4263 -0.8536
+vn 0.6891 -0.1487 -0.7092
+vn -0.3454 -0.1319 0.9291
+vn -0.9022 -0.3152 -0.2943
+vn 0.9095 -0.4086 -0.0769
+vn -0.2233 0.9607 -0.1651
+vn -0.8977 0.2956 -0.3266
+vn 0.7051 0.7090 0.0157
+vn -0.0000 0.9992 0.0391
+vn 0.8915 -0.2747 -0.3601
+vn 0.9071 -0.1327 -0.3995
+vn 0.6595 -0.2100 0.7218
+vn 0.9981 -0.0222 0.0576
+vn 0.6358 -0.4833 -0.6018
+vn 0.9007 -0.1723 0.3988
+vn 0.9022 -0.3152 -0.2943
+vn 0.2233 0.9607 -0.1651
+vn 0.8977 0.2956 -0.3266
+vn -0.0922 0.9957 0.0012
+vn 0.3437 0.2547 0.9039
+vn 0.1452 0.9254 0.3501
+vn 0.3641 -0.8860 -0.2872
+vn 0.3991 -0.3554 -0.8452
+vn 0.2668 0.2355 -0.9345
+vn 0.2531 -0.8146 0.5218
+vn 0.3183 -0.3292 0.8890
+vn 0.3486 -0.1779 0.9202
+vn 0.2989 -0.4325 -0.8507
+vn 0.0892 0.9504 -0.2980
+vn 0.3992 -0.0466 -0.9157
+vn 0.2995 -0.4263 -0.8536
+vn 0.3454 -0.1319 0.9291
+vn 0.2882 0.5973 0.7484
+vn 0.2765 -0.5461 0.7907
+vn -0.2882 0.5973 0.7484
+vn 0.0268 0.9989 -0.0380
+vn -0.9128 -0.1253 -0.3888
+vn 0.3414 -0.2095 0.9163
+vn 0.9474 -0.0832 -0.3090
+vn 0.6999 0.6487 0.2990
+vn -0.9474 -0.0832 -0.3090
+vn 0.3323 -0.5024 -0.7982
+vn -0.3453 -0.1780 0.9215
+vn 0.8769 -0.2355 0.4191
+vn -0.2765 -0.5461 0.7907
+vn -0.3252 -0.9408 0.0959
+vn 0.9128 -0.1253 -0.3888
+vn 0.3252 -0.9408 0.0959
+vn -0.4257 -0.1154 -0.8975
+vn -0.6999 0.6487 0.2990
+vn 0.4257 -0.1154 -0.8975
+vn 0.0080 0.9998 0.0194
+vn 0.3362 -0.7165 -0.6112
+vn -0.3323 -0.5024 -0.7982
+vn -0.0268 0.9989 -0.0380
+vn -0.1931 0.6626 -0.7237
+vn -0.3362 -0.7165 -0.6112
+vn 0.8433 -0.4548 0.2864
+vn 0.2912 -0.1616 -0.9429
+vn -0.3414 -0.2095 0.9163
+vn -0.6596 0.6956 -0.2849
+vn 0.6596 0.6956 -0.2849
+vn 0.3482 -0.1609 -0.9235
+vn 0.1931 0.6626 -0.7237
+vn -0.9219 0.0060 0.3874
+vn -0.0080 0.9998 0.0194
+vn -0.8433 -0.4548 0.2864
+vn -0.8833 -0.1553 0.4423
+vn -0.3482 -0.1609 -0.9235
+vn 0.9219 0.0060 0.3874
+vn -0.8576 -0.2959 -0.4206
+vn -0.8769 -0.2355 0.4191
+vn 0.8576 -0.2959 -0.4206
+vn 0.3514 0.0044 0.9362
+vn 0.8833 -0.1553 0.4423
+vn -0.2912 -0.1616 -0.9429
+vn 0.8680 -0.3855 -0.3130
+vn -0.3514 0.0044 0.9362
+vn -0.8680 -0.3855 -0.3130
+vn 0.3453 -0.1780 0.9215
+vn -0.4806 -0.8730 -0.0831
+vn -0.8105 0.5826 -0.0612
+vn -0.1683 -0.8730 -0.4578
+vn -0.2114 0.5864 -0.7819
+vn 0.1683 -0.8730 0.4578
+vn 0.2063 0.5826 0.7862
+vn 0.4806 -0.8730 0.0831
+vn 0.8072 0.5864 0.0670
+vn -0.3337 -0.9007 -0.2781
+vn -0.9865 -0.1617 -0.0269
+vn -0.6344 0.6933 -0.3419
+vn -0.2090 -0.2707 -0.9397
+vn 0.2036 -0.9481 -0.2443
+vn 0.4280 0.7437 -0.5135
+vn 0.9620 -0.2707 0.0362
+vn 0.3337 -0.9007 0.2781
+vn 0.4506 0.6933 0.5623
+vn 0.2043 -0.1617 0.9655
+vn -0.2036 -0.9481 0.2443
+vn -0.4268 0.7453 0.5122
+vn -0.7522 -0.2599 -0.6054
+vn 0.6174 -0.2647 -0.7408
+vn 0.7311 -0.2599 0.6308
+vn -0.6331 -0.1484 0.7597
+vn -0.0000 -1.0000 -0.0000
+vn -0.1187 0.9827 0.1425
+vn 0.4806 -0.8730 -0.0831
+vn 0.8105 0.5826 -0.0612
+vn 0.1683 -0.8730 -0.4578
+vn 0.2114 0.5864 -0.7819
+vn -0.1683 -0.8730 0.4578
+vn -0.2063 0.5826 0.7862
+vn -0.4806 -0.8730 0.0831
+vn -0.8072 0.5864 0.0670
+vn 0.3337 -0.9007 -0.2781
+vn 0.9865 -0.1617 -0.0269
+vn 0.6344 0.6933 -0.3419
+vn 0.2090 -0.2707 -0.9397
+vn -0.2036 -0.9481 -0.2443
+vn -0.4280 0.7437 -0.5135
+vn -0.9620 -0.2707 0.0362
+vn -0.3337 -0.9007 0.2781
+vn -0.4506 0.6933 0.5623
+vn -0.2043 -0.1617 0.9655
+vn 0.2036 -0.9481 0.2443
+vn 0.4268 0.7453 0.5122
+vn 0.7522 -0.2599 -0.6054
+vn -0.6174 -0.2647 -0.7408
+vn -0.7311 -0.2599 0.6308
+vn 0.6331 -0.1484 0.7597
+vn 0.1187 0.9827 0.1425
+vn 0.5234 0.8498 0.0628
+vn 0.8453 -0.5331 0.0354
+vn 0.1579 0.8550 0.4940
+vn 0.2281 -0.5897 0.7747
+vn -0.1561 0.8498 -0.5035
+vn -0.1872 -0.5331 -0.8251
+vn -0.5144 0.8550 -0.0663
+vn -0.8032 -0.5897 -0.0847
+vn 0.3592 0.8838 0.2997
+vn 0.9846 0.1735 0.0232
+vn 0.6323 -0.6922 0.3481
+vn 0.2155 0.2641 0.9401
+vn -0.2405 0.9267 0.2886
+vn -0.4198 -0.7550 0.5038
+vn -0.9636 0.2641 -0.0425
+vn -0.3595 0.8838 -0.2993
+vn -0.4563 -0.6922 -0.5592
+vn -0.2003 0.1735 -0.9643
+vn 0.2492 0.9211 -0.2990
+vn 0.4582 -0.6985 -0.5497
+vn 0.7551 0.2339 0.6125
+vn -0.6182 0.2599 0.7418
+vn -0.7386 0.2339 -0.6323
+vn 0.6334 0.1459 -0.7600
+vn -0.0000 1.0000 -0.0000
+vn 0.1148 -0.9838 -0.1377
+vn -0.5234 0.8498 0.0628
+vn -0.8453 -0.5331 0.0354
+vn -0.1579 0.8550 0.4940
+vn -0.2281 -0.5897 0.7747
+vn 0.1561 0.8498 -0.5035
+vn 0.1872 -0.5331 -0.8251
+vn 0.5144 0.8550 -0.0663
+vn 0.8032 -0.5897 -0.0847
+vn -0.3592 0.8838 0.2997
+vn -0.9846 0.1735 0.0232
+vn -0.6323 -0.6922 0.3481
+vn -0.2155 0.2641 0.9401
+vn 0.2405 0.9267 0.2886
+vn 0.4198 -0.7550 0.5038
+vn 0.9636 0.2641 -0.0425
+vn 0.3595 0.8838 -0.2993
+vn 0.4563 -0.6922 -0.5592
+vn 0.2003 0.1735 -0.9643
+vn -0.2492 0.9211 -0.2990
+vn -0.4582 -0.6985 -0.5497
+vn -0.7551 0.2339 0.6125
+vn 0.6182 0.2599 0.7418
+vn 0.7386 0.2339 -0.6323
+vn -0.6334 0.1459 -0.7600
+vn -0.1148 -0.9838 -0.1377
+vt 0.009831 0.035651
+vt 0.022569 0.022913
+vt 0.022569 0.010176
+vt 0.027346 0.058473
+vt 0.048045 0.048389
+vt 0.030000 0.048389
+vt 0.048045 0.022913
+vt 0.060783 0.035651
+vt 0.048045 0.035651
+vt 0.030000 0.035651
+vt 0.030000 0.022913
+vt 0.022569 0.048389
+vt 0.060783 0.022913
+vt 0.027346 0.012829
+vt 0.022569 0.035651
+vt 0.058552 0.058052
+vt 0.009831 0.048389
+vt 0.042069 0.919810
+vt 0.025357 0.936523
+vt 0.042069 0.903098
+vt 0.075494 0.953235
+vt 0.048336 0.966466
+vt 0.051818 0.953235
+vt 0.075494 0.936523
+vt 0.092207 0.919810
+vt 0.075494 0.919810
+vt 0.051818 0.936523
+vt 0.042069 0.936523
+vt 0.042069 0.953235
+vt 0.025357 0.953235
+vt 0.092207 0.936523
+vt 0.089279 0.965914
+vt 0.048336 0.906579
+vt 0.051818 0.919810
+vt 0.036119 0.967653
+vt 0.038760 0.951689
+vt 0.043558 0.963654
+vt 0.052253 0.960088
+vt 0.050401 0.945288
+vt 0.056565 0.953812
+vt 0.064131 0.963028
+vt 0.056218 0.973153
+vt 0.044670 0.901267
+vt 0.044260 0.915841
+vt 0.039402 0.910044
+vt 0.064131 0.951656
+vt 0.032467 0.919810
+vt 0.092378 0.967653
+vt 0.089736 0.951689
+vt 0.096693 0.948874
+vt 0.064365 0.951656
+vt 0.078095 0.945288
+vt 0.071931 0.953812
+vt 0.056904 0.905582
+vt 0.053433 0.918428
+vt 0.076243 0.960088
+vt 0.084771 0.946877
+vt 0.031803 0.948874
+vt 0.043725 0.946877
+vt 0.050580 0.974258
+vt 0.061484 0.921578
+vt 0.051311 0.901981
+vt 0.063017 0.902110
+vt 0.082008 0.915841
+vt 0.081598 0.901267
+vt 0.086866 0.910044
+vt 0.041300 0.929568
+vt 0.049191 0.937372
+vt 0.036300 0.937372
+vt 0.084938 0.963654
+vt 0.076536 0.938091
+vt 0.069364 0.905582
+vt 0.074957 0.901981
+vt 0.077916 0.974258
+vt 0.072278 0.973153
+vt 0.063251 0.902110
+vt 0.064784 0.921578
+vt 0.072835 0.918428
+vt 0.083728 0.894664
+vt 0.071638 0.893040
+vt 0.094466 0.908530
+vt 0.078998 0.930163
+vt 0.084968 0.929568
+vt 0.077077 0.937372
+vt 0.051960 0.938091
+vt 0.079087 0.981270
+vt 0.089969 0.937372
+vt 0.047271 0.930163
+vt 0.093802 0.919810
+vt 0.049409 0.981270
+vt 0.031803 0.908530
+vt 0.042540 0.894664
+vt 0.054630 0.893040
+vt 0.229068 0.283003
+vt 0.171021 0.368583
+vt 0.235716 0.372905
+vt 0.104567 0.291799
+vt 0.161402 0.287784
+vt 0.118691 0.365651
+vt 0.177081 0.436390
+vt 0.237434 0.450190
+vt 0.772487 0.244608
+vt 0.830885 0.291437
+vt 0.831241 0.240456
+vt 0.773900 0.300420
+vt 0.829115 0.333252
+vt 0.858218 0.317125
+vt 0.866299 0.284431
+vt 0.869054 0.237785
+vt 0.159565 0.206435
+vt 0.213843 0.116300
+vt 0.223009 0.193059
+vt 0.156030 0.138449
+vt 0.108167 0.216695
+vt 0.868437 0.835431
+vt 0.916164 0.782980
+vt 0.891119 0.855846
+vt 0.877245 0.780118
+vt 0.924195 0.701498
+vt 0.957286 0.796000
+vt 0.930059 0.894764
+vt 0.249114 0.893652
+vt 0.328855 0.924338
+vt 0.225876 0.926457
+vt 0.257535 0.859491
+vt 0.339356 0.898423
+vt 0.344655 0.861842
+vt 0.438835 0.906224
+vt 0.431835 0.922219
+vt 0.580003 0.258208
+vt 0.686235 0.308569
+vt 0.683794 0.250874
+vt 0.583296 0.320100
+vt 0.686303 0.359562
+vt 0.691504 0.441139
+vt 0.602015 0.493654
+vt 0.594643 0.454895
+vt 0.788365 0.427384
+vt 0.689209 0.474676
+vt 0.765689 0.476993
+vt 0.690181 0.526260
+vt 0.607823 0.542411
+vt 0.227666 0.508117
+vt 0.136648 0.417420
+vt 0.165829 0.485511
+vt 0.086053 0.486788
+vt 0.143284 0.527760
+vt 0.200515 0.568731
+vt 0.634440 0.952577
+vt 0.730424 0.991987
+vt 0.632591 0.991987
+vt 0.633335 0.903487
+vt 0.723436 0.959106
+vt 0.717145 0.907898
+vt 0.798831 0.946058
+vt 0.828257 0.991987
+vt 0.526463 0.729599
+vt 0.612405 0.622994
+vt 0.618141 0.723122
+vt 0.431463 0.736311
+vt 0.522077 0.643428
+vt 0.427681 0.664226
+vt 0.517969 0.573320
+vt 0.386138 0.271905
+vt 0.473008 0.192406
+vt 0.379420 0.186626
+vt 0.478888 0.265352
+vt 0.574560 0.196467
+vt 0.568364 0.141638
+vt 0.466865 0.128406
+vt 0.372049 0.112959
+vt 0.583189 0.443916
+vt 0.487880 0.452057
+vt 0.488713 0.492568
+vt 0.585318 0.418038
+vt 0.486240 0.402628
+vt 0.394538 0.431253
+vt 0.394863 0.487115
+vt 0.394237 0.541219
+vt 0.823720 0.190033
+vt 0.766038 0.189151
+vt 0.859768 0.191989
+vt 0.847170 0.160757
+vt 0.816088 0.148881
+vt 0.758302 0.141655
+vt 0.894025 0.128798
+vt 0.887748 0.188080
+vt 0.915920 0.180862
+vt 0.861783 0.148124
+vt 0.899896 0.235606
+vt 0.937815 0.232927
+vt 0.303437 0.564580
+vt 0.228802 0.606173
+vt 0.201183 0.576962
+vt 0.405691 0.552198
+vt 0.317477 0.588761
+vt 0.414871 0.567050
+vt 0.327867 0.624233
+vt 0.241943 0.638810
+vt 0.909101 0.342178
+vt 0.894551 0.284367
+vt 0.874462 0.327577
+vt 0.923458 0.287552
+vt 0.437854 0.808212
+vt 0.337918 0.742921
+vt 0.441953 0.867838
+vt 0.342845 0.807680
+vt 0.257628 0.809274
+vt 0.253673 0.748873
+vt 0.196028 0.060322
+vt 0.160623 0.004128
+vt 0.137983 0.091398
+vt 0.058820 0.101351
+vt 0.095632 0.140872
+vt 0.118666 0.162916
+vt 0.249096 0.688515
+vt 0.333691 0.678111
+vt 0.423355 0.604616
+vt 0.068431 0.212573
+vt 0.031594 0.200115
+vt 0.004367 0.298879
+vt 0.059852 0.294958
+vt 0.117239 0.666316
+vt 0.065422 0.708562
+vt 0.079778 0.653937
+vt 0.139178 0.675275
+vt 0.097441 0.710472
+vt 0.133417 0.708896
+vt 0.093800 0.760168
+vt 0.051065 0.763188
+vt 0.626541 0.823061
+vt 0.534236 0.815531
+vt 0.540027 0.885520
+vt 0.850159 0.576735
+vt 0.904787 0.621954
+vt 0.866657 0.630260
+vt 0.902827 0.509326
+vt 0.869745 0.553333
+vt 0.943670 0.603281
+vt 0.880327 0.704597
+vt 0.774922 0.712044
+vt 0.834344 0.794361
+vt 0.780248 0.812728
+vt 0.832905 0.707948
+vt 0.836519 0.864944
+vt 0.786100 0.894578
+vt 0.072960 0.815252
+vt 0.130202 0.849793
+vt 0.094854 0.867316
+vt 0.104392 0.808859
+vt 0.140233 0.805362
+vt 0.150664 0.837838
+vt 0.848399 0.380665
+vt 0.835276 0.360419
+vt 0.774076 0.384184
+vt 0.787697 0.419153
+vt 0.702416 0.717167
+vt 0.766038 0.611612
+vt 0.695143 0.611448
+vt 0.760323 0.529752
+vt 0.678098 0.193410
+vt 0.670996 0.142913
+vt 0.852630 0.909631
+vt 0.879158 0.943376
+vt 0.814409 0.552003
+vt 0.824076 0.505494
+vt 0.845596 0.468355
+vt 0.182207 0.699838
+vt 0.185592 0.753683
+vt 0.176475 0.657128
+vt 0.822179 0.622190
+vt 0.356289 0.004127
+vt 0.274120 0.050504
+vt 0.364516 0.057606
+vt 0.258456 0.004127
+vt 0.286751 0.107677
+vt 0.079930 0.375319
+vt 0.116942 0.442483
+vt 0.045210 0.392834
+vt 0.828514 0.099228
+vt 0.763004 0.069658
+vt 0.818368 0.121118
+vt 0.754435 0.106194
+vt 0.664745 0.103857
+vt 0.660024 0.071777
+vt 0.562792 0.099218
+vt 0.189812 0.807469
+vt 0.190142 0.850561
+vt 0.133550 0.757360
+vt 0.306364 0.506857
+vt 0.297376 0.554975
+vt 0.310830 0.448476
+vt 0.179066 0.877522
+vt 0.160365 0.896887
+vt 0.557045 0.073896
+vt 0.461538 0.079237
+vt 0.456667 0.039012
+vt 0.161718 0.631992
+vt 0.140481 0.615449
+vt 0.309148 0.369469
+vt 0.303499 0.277744
+vt 0.391478 0.357281
+vt 0.685605 0.399110
+vt 0.685443 0.431535
+vt 0.772919 0.348532
+vt 0.584870 0.375255
+vt 0.710080 0.822858
+vt 0.500167 0.503547
+vt 0.510231 0.530285
+vt 0.296194 0.186135
+vt 0.532213 0.957103
+vt 0.538417 0.929215
+vt 0.483323 0.338399
+vt 0.038332 0.914438
+vt 0.032492 0.923049
+vt 0.031524 0.914919
+vt 0.025805 0.915324
+vt 0.029033 0.927963
+vt 0.027226 0.922754
+vt 0.039174 0.931260
+vt 0.039001 0.923484
+vt 0.093009 0.910575
+vt 0.098885 0.915287
+vt 0.093152 0.916191
+vt 0.098707 0.919494
+vt 0.093053 0.921032
+vt 0.101635 0.917872
+vt 0.098921 0.910158
+vt 0.102449 0.914582
+vt 0.031339 0.906734
+vt 0.037723 0.905389
+vt 0.036800 0.897665
+vt 0.027224 0.902356
+vt 0.030983 0.899894
+vt 0.102664 0.970022
+vt 0.107466 0.964745
+vt 0.103550 0.964457
+vt 0.103860 0.956858
+vt 0.111603 0.966055
+vt 0.108274 0.956546
+vt 0.108864 0.975992
+vt 0.104946 0.972076
+vt 0.048373 0.978968
+vt 0.040349 0.975880
+vt 0.038011 0.979181
+vt 0.049429 0.976360
+vt 0.041197 0.972443
+vt 0.059438 0.977145
+vt 0.049962 0.972680
+vt 0.058734 0.978754
+vt 0.073642 0.911944
+vt 0.084331 0.917011
+vt 0.073974 0.918171
+vt 0.084338 0.922142
+vt 0.074132 0.923721
+vt 0.084085 0.911206
+vt 0.075857 0.935634
+vt 0.084861 0.930350
+vt 0.075115 0.931734
+vt 0.084630 0.933724
+vt 0.094607 0.928966
+vt 0.084728 0.938914
+vt 0.092326 0.933957
+vt 0.076441 0.940539
+vt 0.038191 0.937089
+vt 0.033101 0.929872
+vt 0.031969 0.934814
+vt 0.023943 0.934943
+vt 0.027050 0.930485
+vt 0.035459 0.943188
+vt 0.088777 0.985774
+vt 0.079120 0.981809
+vt 0.078934 0.985774
+vt 0.088074 0.982466
+vt 0.079008 0.976870
+vt 0.095660 0.981153
+vt 0.087441 0.977314
+vt 0.098621 0.985774
+vt 0.076903 0.948647
+vt 0.068255 0.959374
+vt 0.077480 0.958722
+vt 0.067814 0.950703
+vt 0.058697 0.960049
+vt 0.067401 0.943649
+vt 0.058316 0.952796
+vt 0.054136 0.913322
+vt 0.062877 0.905323
+vt 0.063468 0.912662
+vt 0.073095 0.905731
+vt 0.072471 0.900215
+vt 0.053460 0.904741
+vt 0.062259 0.898883
+vt 0.073963 0.930629
+vt 0.064373 0.931448
+vt 0.074177 0.928025
+vt 0.064208 0.926475
+vt 0.054981 0.929355
+vt 0.064457 0.935524
+vt 0.055014 0.934976
+vt 0.098164 0.905084
+vt 0.101791 0.905281
+vt 0.102726 0.909889
+vt 0.100524 0.902138
+vt 0.092361 0.904995
+vt 0.097397 0.900944
+vt 0.105238 0.898923
+vt 0.104607 0.904888
+vt 0.101994 0.900867
+vt 0.107441 0.904161
+vt 0.105829 0.909670
+vt 0.038306 0.946955
+vt 0.045815 0.942770
+vt 0.035527 0.944016
+vt 0.047228 0.945203
+vt 0.056104 0.941524
+vt 0.048273 0.948772
+vt 0.057027 0.943018
+vt 0.039628 0.950239
+vt 0.106755 0.920392
+vt 0.105291 0.914576
+vt 0.108200 0.914896
+vt 0.109644 0.909400
+vt 0.103270 0.918923
+vt 0.049284 0.960714
+vt 0.059340 0.967283
+vt 0.049780 0.967230
+vt 0.059752 0.973283
+vt 0.041206 0.967390
+vt 0.035008 0.892033
+vt 0.029168 0.895160
+vt 0.031446 0.886379
+vt 0.021202 0.896161
+vt 0.026324 0.891270
+vt 0.040347 0.955240
+vt 0.040808 0.961313
+vt 0.048859 0.954193
+vt 0.057881 0.946798
+vt 0.022169 0.907352
+vt 0.024906 0.900138
+vt 0.018463 0.906098
+vt 0.015724 0.916036
+vt 0.026168 0.907767
+vt 0.021306 0.915641
+vt 0.021867 0.957257
+vt 0.027080 0.953006
+vt 0.023311 0.951761
+vt 0.025088 0.957449
+vt 0.029288 0.953908
+vt 0.024722 0.962449
+vt 0.028708 0.957291
+vt 0.020422 0.962753
+vt 0.078325 0.968778
+vt 0.069037 0.968020
+vt 0.069620 0.975062
+vt 0.100825 0.943993
+vt 0.106321 0.948543
+vt 0.102795 0.941638
+vt 0.106124 0.937210
+vt 0.110233 0.946664
+vt 0.102485 0.949378
+vt 0.093255 0.957607
+vt 0.099233 0.965890
+vt 0.099089 0.957195
+vt 0.093790 0.967738
+vt 0.099452 0.972992
+vt 0.028385 0.971467
+vt 0.022625 0.967992
+vt 0.024828 0.973230
+vt 0.025788 0.967349
+vt 0.029394 0.966997
+vt 0.030443 0.970264
+vt 0.100648 0.924265
+vt 0.099327 0.922228
+vt 0.093169 0.924619
+vt 0.094540 0.928137
+vt 0.092361 0.947502
+vt 0.085959 0.958123
+vt 0.085227 0.947486
+vt 0.091786 0.939266
+vt 0.083512 0.905424
+vt 0.082798 0.900343
+vt 0.094379 0.975973
+vt 0.101073 0.977488
+vt 0.103742 0.980883
+vt 0.097228 0.941504
+vt 0.098200 0.936825
+vt 0.100365 0.933088
+vt 0.033617 0.956379
+vt 0.033958 0.961797
+vt 0.028722 0.962167
+vt 0.033041 0.952082
+vt 0.098009 0.948566
+vt 0.051133 0.886379
+vt 0.042865 0.891045
+vt 0.041289 0.886379
+vt 0.051961 0.891760
+vt 0.044136 0.896798
+vt 0.023326 0.923727
+vt 0.019833 0.925489
+vt 0.098647 0.895948
+vt 0.097626 0.898150
+vt 0.092055 0.892972
+vt 0.091193 0.896648
+vt 0.082169 0.896413
+vt 0.081694 0.893185
+vt 0.071911 0.895947
+vt 0.071332 0.893399
+vt 0.091582 0.900216
+vt 0.034382 0.967209
+vt 0.034416 0.971545
+vt 0.054951 0.940419
+vt 0.046110 0.936962
+vt 0.046559 0.931088
+vt 0.045205 0.941803
+vt 0.033301 0.974257
+vt 0.031420 0.976206
+vt 0.061723 0.893936
+vt 0.061233 0.889889
+vt 0.052719 0.897329
+vt 0.031556 0.949553
+vt 0.029419 0.947888
+vt 0.046390 0.923138
+vt 0.045821 0.913909
+vt 0.054673 0.921912
+vt 0.084268 0.926121
+vt 0.084251 0.929383
+vt 0.086730 0.968757
+vt 0.065609 0.936629
+vt 0.066622 0.939319
+vt 0.045086 0.904692
+vt 0.068834 0.982264
+vt 0.069458 0.979458
+vt 0.063915 0.920012
+vt 0.026495 0.015853
+vt 0.033128 0.022486
+vt 0.026495 0.022486
+vt 0.037537 0.015853
+vt 0.033128 0.015853
+vt 0.039761 0.029119
+vt 0.033128 0.029119
+vt 0.026495 0.029119
+vt 0.026495 0.035752
+vt 0.039761 0.035752
+vt 0.033128 0.035752
+vt 0.033128 0.042386
+vt 0.026495 0.042386
+vt 0.033128 0.049019
+vt 0.026495 0.049019
+vt 0.039761 0.042386
+vt 0.037537 0.055652
+vt 0.033128 0.055652
+vt 0.026495 0.055652
+vt 0.026495 0.062285
+vt 0.037537 0.062285
+vt 0.033128 0.062285
+vt 0.033128 0.068918
+vt 0.026495 0.068918
+vt 0.013229 0.042386
+vt 0.019862 0.049019
+vt 0.013229 0.049019
+vt 0.019862 0.042386
+vt 0.019862 0.055652
+vt 0.013229 0.055652
+vt 0.046394 0.049019
+vt 0.039761 0.049019
+vt 0.053027 0.042386
+vt 0.046394 0.042386
+vt 0.053748 0.056327
+vt 0.046394 0.056875
+vt 0.039761 0.022486
+vt 0.053027 0.049019
+vt 0.043345 0.873754
+vt 0.057804 0.888212
+vt 0.057804 0.873754
+vt 0.067415 0.873754
+vt 0.072262 0.902670
+vt 0.072262 0.888212
+vt 0.043345 0.902670
+vt 0.043345 0.888212
+vt 0.043345 0.917128
+vt 0.057804 0.902670
+vt 0.057804 0.917128
+vt 0.072262 0.931587
+vt 0.072262 0.917128
+vt 0.057804 0.931587
+vt 0.043345 0.931587
+vt 0.057804 0.946045
+vt 0.067415 0.960503
+vt 0.072262 0.946045
+vt 0.043345 0.960503
+vt 0.043345 0.946045
+vt 0.043345 0.974962
+vt 0.057804 0.960503
+vt 0.067415 0.974962
+vt 0.057804 0.989420
+vt 0.057804 0.974962
+vt 0.014429 0.931587
+vt 0.028887 0.946045
+vt 0.028887 0.931587
+vt 0.014429 0.960503
+vt 0.014429 0.946045
+vt 0.086720 0.946045
+vt 0.086720 0.931587
+vt 0.101178 0.931587
+vt 0.102750 0.961976
+vt 0.101178 0.946045
+vt 0.033214 0.908776
+vt 0.043601 0.919163
+vt 0.033214 0.919163
+vt 0.050505 0.908776
+vt 0.043601 0.908776
+vt 0.053988 0.929550
+vt 0.043601 0.929550
+vt 0.033214 0.929550
+vt 0.033214 0.939937
+vt 0.043601 0.939937
+vt 0.053988 0.950323
+vt 0.043601 0.950323
+vt 0.033214 0.950323
+vt 0.043601 0.960710
+vt 0.033214 0.960710
+vt 0.050505 0.971097
+vt 0.043601 0.971097
+vt 0.033214 0.971097
+vt 0.033214 0.981484
+vt 0.050505 0.981484
+vt 0.043601 0.981484
+vt 0.043601 0.991871
+vt 0.033214 0.991871
+vt 0.012440 0.950323
+vt 0.022827 0.960710
+vt 0.012440 0.960710
+vt 0.022827 0.950323
+vt 0.022827 0.971097
+vt 0.012440 0.971097
+vt 0.064375 0.960710
+vt 0.053988 0.960710
+vt 0.074761 0.950323
+vt 0.064375 0.950323
+vt 0.075890 0.972155
+vt 0.064375 0.973013
+vt 0.064365 0.963028
+vt 0.067007 0.980166
+vt 0.061490 0.980166
+vt 0.038753 0.937605
+vt 0.089743 0.937605
+vt 0.984513 0.697236
+vt 0.109722 0.052739
+vt 0.114343 0.956117
+vt 0.029701 0.939065
+vt 0.037537 0.068918
+vt 0.067415 0.989420
+vt 0.043345 0.989420
+vt 0.028887 0.960503
+vt 0.086720 0.963170
+vt 0.053988 0.919163
+vt 0.053988 0.939937
+vt 0.050505 0.991871
+vt 0.074761 0.960710
+s 1
+usemtl penger_mat
+f 23/1/23 3/2/3 11/3/11
+f 22/4/22 2/5/2 25/6/25
+f 8/7/8 24/8/24 15/9/15
+f 3/2/3 30/10/30 9/11/9
+f 1/12/1 22/4/22 25/6/25
+f 2/5/2 24/8/24 19/9/19
+f 4/7/4 24/8/24 12/13/12
+f 3/2/3 20/14/20 11/3/11
+f 20/14/20 8/7/8 13/11/13
+f 7/2/7 20/14/20 13/11/13
+f 23/1/23 1/12/1 10/15/10
+f 21/10/21 6/5/6 16/6/16
+f 14/15/14 16/6/16 5/12/5
+f 8/7/8 21/10/21 13/11/13
+f 6/5/6 24/8/24 18/16/18
+f 30/10/30 2/5/2 19/9/19
+f 23/1/23 5/12/5 17/17/17
+f 7/2/7 23/1/23 11/3/11
+f 20/14/20 4/7/4 12/13/12
+f 25/6/25 10/15/10 1/12/1
+f 5/12/5 22/4/22 17/17/17
+f 6/5/6 22/4/22 16/6/16
+f 30/10/30 4/7/4 9/11/9
+f 7/2/7 21/10/21 14/15/14
+f 46/18/46 43/19/43 31/20/31
+f 45/21/45 42/22/42 51/23/51
+f 35/24/35 32/25/32 29/26/29
+f 46/18/46 52/27/52 49/28/49
+f 39/29/39 42/22/42 37/30/37
+f 45/21/45 44/31/44 38/32/38
+f 32/25/32 50/24/50 47/26/47
+f 46/18/46 40/33/40 48/34/48
+f 40/33/40 29/26/29 32/25/32
+f 28/18/28 40/33/40 31/20/31
+f 43/19/43 39/29/39 37/30/37
+f 41/27/41 27/21/27 35/24/35
+f 26/29/26 41/27/41 34/28/34
+f 41/27/41 29/26/29 33/34/33
+f 27/21/27 44/31/44 35/24/35
+f 52/27/52 45/21/45 51/23/51
+f 43/19/43 26/29/26 34/28/34
+f 43/19/43 28/18/28 31/20/31
+f 40/33/40 47/26/47 48/34/48
+f 39/29/39 52/27/52 51/23/51
+f 26/29/26 42/22/42 36/23/36
+f 42/22/42 27/21/27 36/23/36
+f 47/26/47 52/27/52 48/34/48
+f 28/18/28 41/27/41 33/34/33
+f 76/35/76 54/36/54 70/37/70
+f 74/38/74 53/39/53 69/40/69
+f 66/41/66 68/42/68 74/38/74
+f 55/43/55 72/44/72 63/45/63
+f 53/39/53 75/46/75 69/40/69
+f 66/47/66 63/45/63 72/44/72
+f 100/48/100 78/49/78 85/50/85
+f 54/36/54 74/38/74 70/37/70
+f 99/51/99 77/52/77 93/53/93
+f 72/44/72 56/54/56 64/55/64
+f 98/56/98 77/52/77 84/57/84
+f 61/58/61 60/59/60 54/36/54
+f 74/38/74 57/60/57 70/37/70
+f 56/54/56 76/61/76 64/55/64
+f 62/62/62 61/63/61 56/54/56
+f 96/64/96 79/65/79 87/66/87
+f 57/60/57 76/35/76 70/37/70
+f 65/67/65 67/68/67 73/69/73
+f 98/56/98 78/49/78 94/70/94
+f 83/71/83 84/57/84 77/52/77
+f 96/64/96 80/72/80 86/73/86
+f 84/57/84 85/50/85 78/49/78
+f 98/56/98 81/74/81 92/75/92
+f 85/76/85 86/73/86 80/72/80
+f 100/77/100 80/72/80 88/78/88
+f 83/79/83 86/73/86 95/80/95
+f 99/81/99 79/65/79 83/79/83
+f 82/82/82 96/64/96 89/83/89
+f 100/77/100 82/82/82 91/84/91
+f 60/59/60 59/85/59 53/39/53
+f 91/86/91 92/75/92 81/74/81
+f 100/48/100 81/74/81 94/70/94
+f 91/84/91 89/83/89 97/87/97
+f 58/88/58 72/44/72 64/55/64
+f 90/89/90 87/66/87 99/81/99
+f 66/41/66 69/40/69 75/46/75
+f 58/88/58 76/61/76 67/68/67
+f 66/47/66 65/67/65 73/69/73
+f 68/42/68 67/90/67 57/60/57
+f 75/91/75 55/43/55 63/45/63
+f 62/62/62 59/92/59 71/93/71
+f 113/94/113 247/95/247 234/96/234
+f 116/97/116 247/95/247 155/98/155
+f 235/99/235 164/100/164 247/95/247
+f 247/95/247 108/101/108 234/96/234
+f 125/102/125 248/103/248 174/104/174
+f 240/105/240 168/106/168 248/103/248
+f 248/103/248 107/107/107 239/108/239
+f 174/104/174 239/108/239 114/109/114
+f 113/94/113 249/110/249 155/98/155
+f 106/111/106 249/110/249 153/112/153
+f 152/113/152 154/114/154 249/110/249
+f 249/110/249 116/97/116 155/98/155
+f 111/115/111 250/116/250 220/117/220
+f 195/118/195 223/119/223 250/116/250
+f 223/119/223 169/120/169 250/116/250
+f 250/116/250 120/121/120 220/117/220
+f 206/122/206 182/123/182 131/124/131
+f 132/125/132 251/126/251 206/122/206
+f 189/127/189 205/128/205 251/126/251
+f 251/126/251 130/129/130 182/123/182
+f 126/130/126 252/131/252 175/132/175
+f 241/133/241 166/134/166 252/131/252
+f 166/134/166 240/105/240 252/131/252
+f 175/132/175 240/105/240 125/102/125
+f 227/135/227 230/136/230 149/137/149
+f 128/138/128 253/139/253 227/135/227
+f 232/140/232 216/141/216 253/139/253
+f 253/139/253 150/142/150 230/136/230
+f 164/100/164 157/143/157 108/101/108
+f 110/144/110 254/145/254 164/100/164
+f 254/145/254 136/146/136 222/147/222
+f 254/145/254 128/148/128 157/143/157
+f 218/149/218 211/150/211 142/151/142
+f 143/152/143 255/153/255 218/149/218
+f 198/154/198 221/155/221 255/153/255
+f 255/153/255 118/156/118 211/150/211
+f 210/157/210 245/158/245 139/159/139
+f 135/160/135 256/161/256 210/157/210
+f 237/162/237 228/163/228 256/161/256
+f 256/161/256 150/142/150 245/158/245
+f 138/164/138 257/165/257 217/166/217
+f 209/167/209 184/168/184 257/165/257
+f 257/165/257 124/169/124 208/170/208
+f 217/166/217 208/170/208 137/171/137
+f 144/172/144 258/173/258 179/174/179
+f 202/175/202 226/176/226 258/173/258
+f 258/173/258 148/177/148 229/178/229
+f 179/174/179 229/178/229 149/179/149
+f 125/102/125 259/180/259 185/181/185
+f 174/104/174 151/182/151 259/180/259
+f 259/180/259 105/183/105 171/184/171
+f 185/181/185 171/184/171 123/185/123
+f 119/186/119 260/187/260 165/188/165
+f 161/189/161 151/182/151 260/187/260
+f 260/187/260 114/109/114 163/190/163
+f 165/188/165 163/190/163 122/191/122
+f 186/192/186 225/193/225 145/194/145
+f 144/195/144 261/196/261 186/192/186
+f 224/197/224 200/198/200 261/196/261
+f 261/196/261 146/199/146 225/193/225
+f 129/200/129 262/201/262 204/202/204
+f 236/203/236 163/190/163 262/201/262
+f 262/201/262 114/109/114 239/108/239
+f 204/202/204 239/108/239 107/107/107
+f 177/204/177 183/205/183 135/160/135
+f 133/206/133 263/207/263 177/204/177
+f 263/207/263 132/125/132 199/208/199
+f 183/205/183 199/208/199 134/209/134
+f 156/210/156 152/113/152 106/111/106
+f 118/211/118 264/212/264 156/210/156
+f 264/212/264 120/213/120 158/214/158
+f 264/212/264 109/215/109 152/113/152
+f 183/205/183 237/162/237 135/160/135
+f 183/205/183 244/216/244 265/217/265
+f 265/217/265 146/199/146 200/198/200
+f 265/217/265 147/218/147 237/162/237
+f 109/215/109 266/219/266 154/114/154
+f 158/214/158 169/220/169 266/219/266
+f 266/219/266 121/221/121 159/222/159
+f 154/114/154 159/222/159 116/97/116
+f 180/223/180 236/224/236 129/225/129
+f 103/226/103 267/227/267 180/223/180
+f 242/228/242 201/229/201 267/227/267
+f 267/227/267 122/230/122 236/224/236
+f 215/231/215 210/157/210 139/159/139
+f 143/152/143 268/232/268 215/231/215
+f 212/233/212 177/204/177 268/232/268
+f 268/232/268 135/160/135 210/157/210
+f 112/234/112 269/235/269 243/236/243
+f 136/237/136 269/235/269 231/238/231
+f 233/239/233 223/119/223 269/235/269
+f 243/236/243 223/119/223 127/240/127
+f 115/241/115 270/242/270 197/243/197
+f 194/244/194 195/118/195 270/242/270
+f 270/242/270 111/115/111 193/245/193
+f 197/243/197 193/245/193 102/246/102
+f 165/247/165 203/248/203 119/249/119
+f 122/230/122 271/250/271 165/247/165
+f 201/229/201 196/251/196 271/250/271
+f 271/250/271 101/252/101 203/248/203
+f 204/202/204 219/253/219 129/200/129
+f 107/107/107 272/254/272 204/202/204
+f 168/106/168 162/255/162 272/254/272
+f 272/254/272 145/256/145 219/253/219
+f 178/257/178 238/258/238 115/241/115
+f 178/257/178 245/158/245 273/259/273
+f 245/158/245 216/141/216 273/259/273
+f 273/259/273 104/260/104 238/258/238
+f 126/130/126 274/261/274 184/168/184
+f 175/132/175 185/181/185 274/261/274
+f 185/181/185 172/262/172 274/261/274
+f 184/168/184 172/262/172 124/169/124
+f 193/245/193 221/155/221 102/246/102
+f 111/115/111 275/263/275 193/245/193
+f 220/117/220 167/264/167 275/263/275
+f 275/263/275 118/156/118 221/155/221
+f 232/140/232 207/265/207 104/260/104
+f 128/138/128 276/266/276 232/140/232
+f 222/267/222 231/238/231 276/266/276
+f 276/266/276 112/234/112 207/265/207
+f 134/209/134 277/268/277 244/216/244
+f 190/269/190 242/228/242 277/268/277
+f 277/268/277 103/226/103 214/270/214
+f 244/216/244 214/270/214 146/199/146
+f 115/241/115 278/271/278 194/244/194
+f 238/258/238 207/265/207 278/271/278
+f 278/271/278 112/234/112 243/236/243
+f 194/244/194 243/236/243 127/240/127
+f 142/272/142 279/273/279 213/274/213
+f 211/275/211 156/210/156 279/273/279
+f 279/273/279 106/111/106 173/276/173
+f 213/274/213 173/276/173 137/171/137
+f 110/144/110 280/277/280 192/278/192
+f 235/99/235 159/222/159 280/277/280
+f 280/277/280 121/221/121 233/279/233
+f 192/278/192 233/279/233 136/146/136
+f 170/280/170 161/189/161 119/186/119
+f 131/281/131 281/282/281 170/280/170
+f 187/283/187 171/184/171 281/282/281
+f 281/282/281 105/183/105 161/189/161
+f 131/281/131 282/284/282 187/283/187
+f 182/285/182 188/286/188 282/284/282
+f 282/284/282 124/169/124 172/262/172
+f 282/284/282 123/185/123 187/283/187
+f 134/209/134 283/287/283 190/269/190
+f 199/208/199 191/288/191 283/287/283
+f 283/287/283 101/252/101 196/251/196
+f 190/269/190 196/251/196 117/289/117
+f 149/179/149 284/290/284 227/291/227
+f 229/178/229 160/292/160 284/290/284
+f 284/290/284 108/101/108 157/143/157
+f 227/291/227 157/143/157 128/148/128
+f 119/249/119 285/293/285 170/294/170
+f 101/252/101 285/293/285 203/248/203
+f 285/293/285 132/125/132 206/122/206
+f 285/293/285 131/124/131 170/294/170
+f 130/295/130 286/296/286 188/286/188
+f 181/297/181 213/274/213 286/296/286
+f 286/296/286 137/171/137 208/170/208
+f 188/286/188 208/170/208 124/169/124
+f 129/225/129 287/298/287 180/223/180
+f 145/194/145 287/298/287 219/299/219
+f 287/298/287 146/199/146 214/270/214
+f 287/298/287 103/226/103 180/223/180
+f 113/94/113 288/300/288 176/301/176
+f 234/96/234 160/292/160 288/300/288
+f 288/300/288 148/177/148 246/302/246
+f 176/301/176 246/302/246 138/164/138
+f 145/256/145 289/303/289 186/304/186
+f 140/305/140 289/303/289 162/255/162
+f 289/303/289 141/306/141 202/175/202
+f 186/304/186 202/175/202 144/172/144
+f 197/243/197 178/257/178 115/241/115
+f 102/246/102 290/307/290 197/243/197
+f 198/154/198 215/231/215 290/307/290
+f 178/257/178 215/231/215 139/159/139
+f 179/308/179 224/197/224 144/195/144
+f 149/137/149 291/309/291 179/308/179
+f 230/136/230 228/163/228 291/309/291
+f 291/309/291 147/218/147 224/197/224
+f 113/94/113 292/310/292 153/112/153
+f 176/301/176 217/166/217 292/310/292
+f 292/310/292 137/171/137 173/276/173
+f 153/112/153 173/276/173 106/111/106
+f 205/128/205 181/311/181 130/129/130
+f 133/206/133 293/312/293 205/128/205
+f 212/233/212 218/149/218 293/312/293
+f 293/312/293 142/151/142 181/311/181
+f 138/164/138 294/313/294 209/167/209
+f 246/302/246 226/176/226 294/313/294
+f 294/313/294 141/306/141 241/133/241
+f 209/167/209 241/133/241 126/130/126
+f 307/314/307 441/315/441 349/316/349
+f 441/315/441 310/317/310 349/316/349
+f 441/315/441 304/318/304 429/319/429
+f 302/320/302 441/315/441 428/321/428
+f 319/322/319 442/323/442 434/324/434
+f 434/324/434 362/325/362 334/326/334
+f 442/323/442 301/327/301 362/325/362
+f 368/328/368 433/329/433 442/323/442
+f 307/314/307 443/330/443 347/331/347
+f 443/330/443 300/332/300 347/331/347
+f 443/330/443 303/333/303 346/334/346
+f 310/317/310 443/330/443 349/316/349
+f 305/335/305 444/336/444 389/337/389
+f 444/336/444 321/338/321 389/337/389
+f 363/339/363 417/340/417 444/336/444
+f 314/341/314 444/336/444 414/342/414
+f 376/343/376 400/344/400 325/345/325
+f 445/346/445 326/347/326 400/344/400
+f 399/348/399 383/349/383 445/346/445
+f 324/350/324 445/346/445 376/343/376
+f 320/351/320 446/352/446 435/353/435
+f 435/353/435 360/354/360 335/355/335
+f 434/324/434 360/354/360 446/352/446
+f 369/356/369 434/324/434 446/352/446
+f 424/357/424 421/358/421 343/359/343
+f 447/360/447 322/361/322 421/358/421
+f 410/362/410 426/363/426 447/360/447
+f 344/364/344 447/360/447 424/357/424
+f 351/365/351 358/366/358 302/320/302
+f 448/367/448 304/318/304 358/366/358
+f 448/367/448 330/368/330 386/369/386
+f 322/370/322 448/367/448 351/365/351
+f 405/371/405 412/372/412 336/373/336
+f 449/374/449 337/375/337 412/372/412
+f 415/376/415 392/377/392 449/374/449
+f 312/378/312 449/374/449 405/371/405
+f 439/379/439 404/380/404 333/381/333
+f 450/382/450 329/383/329 404/380/404
+f 422/384/422 431/385/431 450/382/450
+f 344/364/344 450/382/450 439/379/439
+f 332/386/332 451/387/451 403/388/403
+f 403/388/403 378/389/378 320/351/320
+f 451/387/451 318/390/318 378/389/378
+f 411/391/411 402/392/402 451/387/451
+f 338/393/338 452/394/452 396/395/396
+f 396/395/396 420/396/420 335/355/335
+f 452/394/452 342/397/342 420/396/420
+f 373/398/373 423/399/423 452/394/452
+f 319/322/319 453/400/453 368/328/368
+f 368/328/368 345/401/345 308/402/308
+f 453/400/453 299/403/299 345/401/345
+f 379/404/379 365/405/365 453/400/453
+f 313/406/313 454/407/454 355/408/355
+f 454/407/454 299/403/299 355/408/355
+f 454/407/454 308/402/308 345/401/345
+f 359/409/359 357/410/357 454/407/454
+f 419/411/419 380/412/380 339/413/339
+f 455/414/455 338/415/338 380/412/380
+f 394/416/394 418/417/418 455/414/455
+f 340/418/340 455/414/455 419/411/419
+f 323/419/323 456/420/456 430/421/430
+f 430/421/430 357/410/357 316/422/316
+f 456/420/456 308/402/308 357/410/357
+f 301/327/301 456/420/456 398/423/398
+f 377/424/377 371/425/371 329/383/329
+f 457/426/457 327/427/327 371/425/371
+f 457/426/457 326/347/326 383/349/383
+f 377/424/377 393/428/393 457/426/457
+f 346/334/346 350/429/350 300/332/300
+f 458/430/458 312/431/312 350/429/350
+f 458/430/458 314/432/314 361/433/361
+f 303/333/303 458/430/458 346/334/346
+f 431/385/431 377/424/377 329/383/329
+f 377/424/377 438/434/438 328/435/328
+f 459/436/459 340/418/340 438/434/438
+f 341/437/341 459/436/459 431/385/431
+f 303/333/303 460/438/460 352/439/352
+f 352/439/352 363/440/363 314/432/314
+f 460/438/460 315/441/315 363/440/363
+f 348/442/348 353/443/353 460/438/460
+f 430/444/430 374/445/374 323/446/323
+f 461/447/461 297/448/297 374/445/374
+f 395/449/395 436/450/436 461/447/461
+f 316/451/316 461/447/461 430/444/430
+f 404/380/404 409/452/409 333/381/333
+f 462/453/462 337/375/337 409/452/409
+f 371/425/371 406/454/406 462/453/462
+f 329/383/329 462/453/462 404/380/404
+f 306/455/306 463/456/463 425/457/425
+f 463/456/463 330/458/330 425/457/425
+f 417/340/417 427/459/427 463/456/463
+f 321/338/321 463/456/463 437/460/437
+f 309/461/309 464/462/464 388/463/388
+f 388/463/388 389/337/389 321/338/321
+f 464/462/464 305/335/305 389/337/389
+f 391/464/391 387/465/387 464/462/464
+f 397/466/397 359/467/359 313/468/313
+f 465/469/465 316/451/316 359/467/359
+f 390/470/390 395/449/395 465/469/465
+f 295/471/295 465/469/465 397/466/397
+f 413/472/413 398/423/398 323/419/323
+f 466/473/466 301/327/301 398/423/398
+f 356/474/356 362/325/362 466/473/466
+f 339/475/339 466/473/466 413/472/413
+f 432/476/432 372/477/372 309/461/309
+f 467/478/467 333/381/333 372/477/372
+f 410/362/410 439/379/439 467/478/467
+f 298/479/298 467/478/467 432/476/432
+f 320/351/320 468/480/468 369/356/369
+f 369/356/369 379/404/379 319/322/319
+f 366/481/366 379/404/379 468/480/468
+f 378/389/378 366/481/366 468/480/468
+f 415/376/415 387/465/387 296/482/296
+f 469/483/469 305/335/305 387/465/387
+f 361/484/361 414/342/414 469/483/469
+f 312/378/312 469/483/469 415/376/415
+f 401/485/401 426/363/426 298/479/298
+f 470/486/470 322/361/322 426/363/426
+f 425/457/425 416/487/416 470/486/470
+f 306/455/306 470/486/470 401/485/401
+f 328/435/328 471/488/471 384/489/384
+f 384/489/384 436/450/436 311/490/311
+f 471/488/471 297/448/297 436/450/436
+f 438/434/438 408/491/408 471/488/471
+f 309/461/309 472/492/472 432/476/432
+f 432/476/432 401/485/401 298/479/298
+f 472/492/472 306/455/306 401/485/401
+f 388/463/388 437/460/437 472/492/472
+f 336/493/336 473/494/473 405/495/405
+f 405/495/405 350/429/350 312/431/312
+f 473/494/473 300/332/300 350/429/350
+f 407/496/407 367/497/367 473/494/473
+f 304/318/304 474/498/474 429/319/429
+f 429/319/429 353/443/353 310/317/310
+f 474/498/474 315/441/315 353/443/353
+f 386/369/386 427/499/427 474/498/474
+f 355/408/355 364/500/364 313/406/313
+f 475/501/475 325/502/325 364/500/364
+f 365/405/365 381/503/381 475/501/475
+f 299/403/299 475/501/475 355/408/355
+f 325/502/325 476/504/476 376/505/376
+f 376/505/376 382/506/382 324/507/324
+f 476/504/476 318/390/318 382/506/382
+f 317/508/317 476/504/476 381/503/381
+f 328/435/328 477/509/477 393/428/393
+f 393/428/393 385/510/385 326/347/326
+f 477/509/477 295/471/295 385/510/385
+f 384/489/384 390/470/390 477/509/477
+f 343/511/343 478/512/478 423/399/423
+f 423/399/423 354/513/354 342/397/342
+f 478/512/478 302/320/302 354/513/354
+f 421/514/421 351/365/351 478/512/478
+f 313/468/313 479/515/479 397/466/397
+f 479/515/479 295/471/295 397/466/397
+f 479/515/479 326/347/326 385/510/385
+f 364/516/364 400/344/400 479/515/479
+f 324/507/324 480/517/480 375/518/375
+f 375/518/375 407/496/407 336/493/336
+f 480/517/480 331/519/331 407/496/407
+f 382/506/382 402/392/402 480/517/480
+f 323/446/323 481/520/481 413/521/413
+f 413/521/413 419/411/419 339/413/339
+f 481/520/481 340/418/340 419/411/419
+f 297/448/297 481/520/481 374/445/374
+f 307/314/307 482/522/482 428/321/428
+f 428/321/428 354/513/354 302/320/302
+f 482/522/482 342/397/342 354/513/354
+f 370/523/370 440/524/440 482/522/482
+f 339/475/339 483/525/483 356/474/356
+f 483/525/483 334/326/334 356/474/356
+f 483/525/483 335/355/335 360/354/360
+f 380/526/380 396/395/396 483/525/483
+f 372/477/372 391/464/391 309/461/309
+f 484/527/484 296/482/296 391/464/391
+f 409/452/409 392/377/392 484/527/484
+f 333/381/333 484/527/484 372/477/372
+f 418/417/418 373/528/373 338/415/338
+f 485/529/485 343/359/343 373/528/373
+f 422/384/422 424/357/424 485/529/485
+f 341/437/341 485/529/485 418/417/418
+f 307/314/307 486/530/486 370/523/370
+f 370/523/370 411/391/411 332/386/332
+f 486/530/486 331/519/331 411/391/411
+f 347/331/347 367/497/367 486/530/486
+f 375/531/375 399/348/399 324/350/324
+f 487/532/487 327/427/327 399/348/399
+f 412/372/412 406/454/406 487/532/487
+f 336/373/336 487/532/487 375/531/375
+f 332/386/332 488/533/488 440/524/440
+f 440/524/440 420/396/420 342/397/342
+f 488/533/488 335/355/335 420/396/420
+f 403/388/403 435/353/435 488/533/488
+f 489/534/489 509/535/509 497/536/497
+f 490/537/490 509/535/509 498/538/498
+f 509/535/509 492/539/492 500/540/500
+f 509/535/509 491/541/491 497/536/497
+f 500/540/500 501/542/501 491/541/491
+f 500/540/500 502/543/502 510/544/510
+f 502/543/502 503/545/503 510/544/510
+f 501/542/501 503/545/503 495/546/495
+f 495/546/495 511/547/511 504/548/504
+f 496/549/496 511/547/511 503/545/503
+f 511/547/511 494/550/494 506/551/506
+f 511/547/511 493/552/493 504/548/504
+f 506/551/506 507/553/507 493/552/493
+f 506/551/506 508/554/508 512/555/512
+f 508/554/508 498/556/498 512/555/512
+f 507/553/507 498/556/498 489/557/489
+f 491/558/491 513/559/513 497/560/497
+f 495/546/495 513/559/513 501/561/501
+f 513/559/513 493/552/493 507/562/507
+f 513/559/513 489/563/489 497/560/497
+f 496/549/496 514/564/514 505/565/505
+f 492/566/492 514/564/514 502/567/502
+f 514/564/514 490/568/490 508/569/508
+f 514/564/514 494/550/494 505/565/505
+f 515/534/515 535/535/535 524/538/524
+f 535/535/535 516/537/516 524/538/524
+f 535/535/535 518/539/518 525/570/525
+f 517/541/517 535/535/535 523/536/523
+f 527/542/527 526/540/526 517/541/517
+f 526/540/526 528/543/528 518/539/518
+f 529/545/529 528/543/528 536/544/536
+f 527/542/527 529/545/529 536/544/536
+f 521/546/521 537/547/537 529/545/529
+f 537/547/537 522/549/522 529/545/529
+f 537/547/537 520/550/520 531/565/531
+f 519/552/519 537/547/537 530/548/530
+f 533/553/533 532/551/532 519/552/519
+f 532/551/532 534/554/534 520/550/520
+f 524/556/524 534/554/534 538/555/538
+f 533/553/533 524/556/524 538/555/538
+f 517/558/517 539/559/513 527/561/527
+f 539/559/513 521/546/521 527/561/527
+f 539/559/513 519/552/519 530/548/530
+f 515/563/515 539/559/513 523/560/523
+f 522/549/522 540/564/539 528/567/528
+f 540/564/539 518/566/518 528/567/528
+f 540/564/539 516/568/516 525/571/525
+f 520/550/520 540/564/539 531/565/531
+f 541/572/540 561/573/560 550/574/549
+f 561/573/560 542/575/541 550/574/549
+f 561/573/560 544/576/543 551/577/550
+f 543/578/542 561/573/560 549/579/548
+f 553/580/552 552/581/551 543/578/542
+f 562/582/561 544/576/543 552/581/551
+f 562/582/561 548/583/547 554/584/553
+f 553/580/552 555/585/554 562/582/561
+f 547/586/546 563/587/562 555/585/554
+f 563/587/562 548/583/547 555/585/554
+f 563/587/562 546/588/545 557/589/556
+f 545/590/544 563/587/562 556/591/555
+f 559/592/558 558/593/557 545/590/544
+f 558/593/557 560/594/559 546/588/545
+f 550/595/549 560/594/559 564/596/563
+f 559/592/558 550/595/549 564/596/563
+f 543/597/542 565/598/564 553/599/552
+f 565/598/564 547/586/546 553/599/552
+f 565/598/564 545/590/544 556/591/555
+f 541/600/540 565/598/564 549/601/548
+f 548/583/547 566/602/565 554/603/553
+f 566/602/565 544/604/543 554/603/553
+f 566/602/565 542/605/541 551/606/550
+f 546/588/545 566/602/565 557/589/556
+f 567/607/566 587/608/586 575/609/574
+f 568/610/567 587/608/586 576/611/575
+f 587/608/586 570/612/569 578/613/577
+f 587/608/586 569/614/568 575/609/574
+f 578/613/577 579/615/578 569/614/568
+f 570/612/569 588/616/587 578/613/577
+f 588/616/587 574/617/573 581/618/580
+f 579/615/578 581/618/580 573/619/572
+f 573/619/572 589/620/588 582/621/581
+f 574/617/573 589/620/588 581/618/580
+f 589/620/588 572/622/571 584/623/583
+f 589/620/588 571/624/570 582/621/581
+f 584/623/583 585/625/584 571/624/570
+f 584/623/583 586/626/585 590/627/589
+f 586/626/585 576/628/575 590/627/589
+f 585/625/584 576/628/575 567/629/566
+f 569/630/568 591/631/564 575/632/574
+f 573/619/572 591/631/564 579/633/578
+f 591/631/564 571/624/570 585/634/584
+f 591/631/564 567/635/566 575/632/574
+f 574/617/573 592/636/590 583/637/582
+f 570/638/569 592/636/590 580/639/579
+f 592/636/590 568/640/567 586/641/585
+f 592/636/590 572/622/571 583/637/582
+f 90/642/90 93/53/93 98/56/98
+f 90/89/90 89/83/89 96/64/96
+f 90/642/90 92/75/92 97/643/97
+f 23/1/23 10/15/10 3/2/3
+f 22/4/22 18/16/18 2/5/2
+f 8/7/8 12/13/12 24/8/24
+f 3/2/3 10/15/10 30/10/30
+f 1/12/1 17/17/17 22/4/22
+f 2/5/2 18/16/18 24/8/24
+f 4/7/4 19/9/19 24/8/24
+f 3/2/3 9/11/9 20/14/20
+f 20/14/20 12/13/12 8/7/8
+f 7/2/7 11/3/11 20/14/20
+f 23/1/23 17/17/17 1/12/1
+f 21/10/21 15/9/15 6/5/6
+f 14/15/14 21/10/21 16/6/16
+f 8/7/8 15/9/15 21/10/21
+f 6/5/6 15/9/15 24/8/24
+f 30/10/30 25/6/25 2/5/2
+f 23/1/23 14/15/14 5/12/5
+f 7/2/7 14/15/14 23/1/23
+f 20/14/20 9/11/9 4/7/4
+f 25/6/25 30/10/30 10/15/10
+f 5/12/5 16/6/16 22/4/22
+f 6/5/6 18/16/18 22/4/22
+f 30/10/30 19/9/19 4/7/4
+f 7/2/7 13/11/13 21/10/21
+f 46/18/46 49/28/49 43/19/43
+f 45/21/45 38/32/38 42/22/42
+f 35/24/35 44/31/44 32/25/32
+f 46/18/46 48/34/48 52/27/52
+f 39/29/39 51/23/51 42/22/42
+f 45/21/45 50/24/50 44/31/44
+f 32/25/32 44/31/44 50/24/50
+f 46/18/46 31/20/31 40/33/40
+f 40/33/40 33/34/33 29/26/29
+f 28/18/28 33/34/33 40/33/40
+f 43/19/43 49/28/49 39/29/39
+f 41/27/41 36/23/36 27/21/27
+f 26/29/26 36/23/36 41/27/41
+f 41/27/41 35/24/35 29/26/29
+f 27/21/27 38/32/38 44/31/44
+f 52/27/52 50/24/50 45/21/45
+f 43/19/43 37/30/37 26/29/26
+f 43/19/43 34/28/34 28/18/28
+f 40/33/40 32/25/32 47/26/47
+f 39/29/39 49/28/49 52/27/52
+f 26/29/26 37/30/37 42/22/42
+f 42/22/42 38/32/38 27/21/27
+f 47/26/47 50/24/50 52/27/52
+f 28/18/28 34/28/34 41/27/41
+f 76/35/76 61/58/61 54/36/54
+f 74/38/74 60/59/60 53/39/53
+f 66/41/66 73/644/73 68/42/68
+f 55/43/55 62/62/62 72/44/72
+f 53/39/53 59/85/59 75/46/75
+f 66/47/66 75/91/75 63/45/63
+f 100/48/100 94/70/94 78/49/78
+f 54/36/54 60/59/60 74/38/74
+f 99/51/99 83/71/83 77/52/77
+f 72/44/72 62/62/62 56/54/56
+f 98/56/98 93/53/93 77/52/77
+f 61/58/61 71/645/71 60/59/60
+f 74/38/74 68/42/68 57/60/57
+f 56/54/56 61/63/61 76/61/76
+f 62/62/62 71/93/71 61/63/61
+f 96/64/96 86/73/86 79/65/79
+f 57/60/57 67/90/67 76/35/76
+f 65/67/65 58/88/58 67/68/67
+f 98/56/98 84/57/84 78/49/78
+f 83/71/83 95/646/95 84/57/84
+f 96/64/96 88/78/88 80/72/80
+f 84/57/84 95/646/95 85/50/85
+f 98/56/98 94/70/94 81/74/81
+f 85/76/85 95/80/95 86/73/86
+f 100/77/100 85/76/85 80/72/80
+f 83/79/83 79/65/79 86/73/86
+f 99/81/99 87/66/87 79/65/79
+f 82/82/82 88/78/88 96/64/96
+f 100/77/100 88/78/88 82/82/82
+f 60/59/60 71/645/71 59/85/59
+f 91/86/91 97/643/97 92/75/92
+f 100/48/100 91/86/91 81/74/81
+f 91/84/91 82/82/82 89/83/89
+f 58/88/58 65/67/65 72/44/72
+f 90/89/90 96/64/96 87/66/87
+f 66/41/66 74/38/74 69/40/69
+f 58/88/58 64/55/64 76/61/76
+f 66/47/66 72/44/72 65/67/65
+f 68/42/68 73/644/73 67/90/67
+f 75/91/75 59/92/59 55/43/55
+f 62/62/62 55/43/55 59/92/59
+f 113/94/113 155/98/155 247/95/247
+f 116/97/116 235/99/235 247/95/247
+f 235/99/235 110/144/110 164/100/164
+f 247/95/247 164/100/164 108/101/108
+f 125/102/125 240/105/240 248/103/248
+f 240/105/240 140/305/140 168/106/168
+f 248/103/248 168/106/168 107/107/107
+f 174/104/174 248/103/248 239/108/239
+f 113/94/113 153/112/153 249/110/249
+f 106/111/106 152/113/152 249/110/249
+f 152/113/152 109/215/109 154/114/154
+f 249/110/249 154/114/154 116/97/116
+f 111/115/111 195/118/195 250/116/250
+f 195/118/195 127/240/127 223/119/223
+f 223/119/223 121/647/121 169/120/169
+f 250/116/250 169/120/169 120/121/120
+f 206/122/206 251/126/251 182/123/182
+f 132/125/132 189/127/189 251/126/251
+f 189/127/189 133/206/133 205/128/205
+f 251/126/251 205/128/205 130/129/130
+f 126/130/126 241/133/241 252/131/252
+f 241/133/241 141/306/141 166/134/166
+f 166/134/166 140/305/140 240/105/240
+f 175/132/175 252/131/252 240/105/240
+f 227/135/227 253/139/253 230/136/230
+f 128/138/128 232/140/232 253/139/253
+f 232/140/232 104/260/104 216/141/216
+f 253/139/253 216/141/216 150/142/150
+f 164/100/164 254/145/254 157/143/157
+f 110/144/110 192/278/192 254/145/254
+f 254/145/254 192/278/192 136/146/136
+f 254/145/254 222/147/222 128/148/128
+f 218/149/218 255/153/255 211/150/211
+f 143/152/143 198/154/198 255/153/255
+f 198/154/198 102/246/102 221/155/221
+f 255/153/255 221/155/221 118/156/118
+f 210/157/210 256/161/256 245/158/245
+f 135/160/135 237/162/237 256/161/256
+f 237/162/237 147/218/147 228/163/228
+f 256/161/256 228/163/228 150/142/150
+f 138/164/138 209/167/209 257/165/257
+f 209/167/209 126/130/126 184/168/184
+f 257/165/257 184/168/184 124/169/124
+f 217/166/217 257/165/257 208/170/208
+f 144/172/144 202/175/202 258/173/258
+f 202/175/202 141/306/141 226/176/226
+f 258/173/258 226/176/226 148/177/148
+f 179/174/179 258/173/258 229/178/229
+f 125/102/125 174/104/174 259/180/259
+f 174/104/174 114/109/114 151/182/151
+f 259/180/259 151/182/151 105/183/105
+f 185/181/185 259/180/259 171/184/171
+f 119/186/119 161/189/161 260/187/260
+f 161/189/161 105/183/105 151/182/151
+f 260/187/260 151/182/151 114/109/114
+f 165/188/165 260/187/260 163/190/163
+f 186/192/186 261/196/261 225/193/225
+f 144/195/144 224/197/224 261/196/261
+f 224/197/224 147/218/147 200/198/200
+f 261/196/261 200/198/200 146/199/146
+f 129/200/129 236/203/236 262/201/262
+f 236/203/236 122/191/122 163/190/163
+f 262/201/262 163/190/163 114/109/114
+f 204/202/204 262/201/262 239/108/239
+f 177/204/177 263/207/263 183/205/183
+f 133/206/133 189/127/189 263/207/263
+f 263/207/263 189/127/189 132/125/132
+f 183/205/183 263/207/263 199/208/199
+f 156/210/156 264/212/264 152/113/152
+f 118/211/118 167/648/167 264/212/264
+f 264/212/264 167/648/167 120/213/120
+f 264/212/264 158/214/158 109/215/109
+f 183/205/183 265/217/265 237/162/237
+f 183/205/183 134/209/134 244/216/244
+f 265/217/265 244/216/244 146/199/146
+f 265/217/265 200/198/200 147/218/147
+f 109/215/109 158/214/158 266/219/266
+f 158/214/158 120/213/120 169/220/169
+f 266/219/266 169/220/169 121/221/121
+f 154/114/154 266/219/266 159/222/159
+f 180/223/180 267/227/267 236/224/236
+f 103/226/103 242/228/242 267/227/267
+f 242/228/242 117/289/117 201/229/201
+f 267/227/267 201/229/201 122/230/122
+f 215/231/215 268/232/268 210/157/210
+f 143/152/143 212/233/212 268/232/268
+f 212/233/212 133/206/133 177/204/177
+f 268/232/268 177/204/177 135/160/135
+f 112/234/112 231/238/231 269/235/269
+f 136/237/136 233/239/233 269/235/269
+f 233/239/233 121/647/121 223/119/223
+f 243/236/243 269/235/269 223/119/223
+f 115/241/115 194/244/194 270/242/270
+f 194/244/194 127/240/127 195/118/195
+f 270/242/270 195/118/195 111/115/111
+f 197/243/197 270/242/270 193/245/193
+f 165/247/165 271/250/271 203/248/203
+f 122/230/122 201/229/201 271/250/271
+f 201/229/201 117/289/117 196/251/196
+f 271/250/271 196/251/196 101/252/101
+f 204/202/204 272/254/272 219/253/219
+f 107/107/107 168/106/168 272/254/272
+f 168/106/168 140/305/140 162/255/162
+f 272/254/272 162/255/162 145/256/145
+f 178/257/178 273/259/273 238/258/238
+f 178/257/178 139/159/139 245/158/245
+f 245/158/245 150/142/150 216/141/216
+f 273/259/273 216/141/216 104/260/104
+f 126/130/126 175/132/175 274/261/274
+f 175/132/175 125/102/125 185/181/185
+f 185/181/185 123/185/123 172/262/172
+f 184/168/184 274/261/274 172/262/172
+f 193/245/193 275/263/275 221/155/221
+f 111/115/111 220/117/220 275/263/275
+f 220/117/220 120/121/120 167/264/167
+f 275/263/275 167/264/167 118/156/118
+f 232/140/232 276/266/276 207/265/207
+f 128/138/128 222/267/222 276/266/276
+f 222/267/222 136/237/136 231/238/231
+f 276/266/276 231/238/231 112/234/112
+f 134/209/134 190/269/190 277/268/277
+f 190/269/190 117/289/117 242/228/242
+f 277/268/277 242/228/242 103/226/103
+f 244/216/244 277/268/277 214/270/214
+f 115/241/115 238/258/238 278/271/278
+f 238/258/238 104/260/104 207/265/207
+f 278/271/278 207/265/207 112/234/112
+f 194/244/194 278/271/278 243/236/243
+f 142/272/142 211/275/211 279/273/279
+f 211/275/211 118/211/118 156/210/156
+f 279/273/279 156/210/156 106/111/106
+f 213/274/213 279/273/279 173/276/173
+f 110/144/110 235/99/235 280/277/280
+f 235/99/235 116/97/116 159/222/159
+f 280/277/280 159/222/159 121/221/121
+f 192/278/192 280/277/280 233/279/233
+f 170/280/170 281/282/281 161/189/161
+f 131/281/131 187/283/187 281/282/281
+f 187/283/187 123/185/123 171/184/171
+f 281/282/281 171/184/171 105/183/105
+f 131/281/131 182/285/182 282/284/282
+f 182/285/182 130/295/130 188/286/188
+f 282/284/282 188/286/188 124/169/124
+f 282/284/282 172/262/172 123/185/123
+f 134/209/134 199/208/199 283/287/283
+f 199/208/199 132/125/132 191/288/191
+f 283/287/283 191/288/191 101/252/101
+f 190/269/190 283/287/283 196/251/196
+f 149/179/149 229/178/229 284/290/284
+f 229/178/229 148/177/148 160/292/160
+f 284/290/284 160/292/160 108/101/108
+f 227/291/227 284/290/284 157/143/157
+f 119/249/119 203/248/203 285/293/285
+f 101/252/101 191/288/191 285/293/285
+f 285/293/285 191/288/191 132/125/132
+f 285/293/285 206/122/206 131/124/131
+f 130/295/130 181/297/181 286/296/286
+f 181/297/181 142/272/142 213/274/213
+f 286/296/286 213/274/213 137/171/137
+f 188/286/188 286/296/286 208/170/208
+f 129/225/129 219/299/219 287/298/287
+f 145/194/145 225/193/225 287/298/287
+f 287/298/287 225/193/225 146/199/146
+f 287/298/287 214/270/214 103/226/103
+f 113/94/113 234/96/234 288/300/288
+f 234/96/234 108/101/108 160/292/160
+f 288/300/288 160/292/160 148/177/148
+f 176/301/176 288/300/288 246/302/246
+f 145/256/145 162/255/162 289/303/289
+f 140/305/140 166/134/166 289/303/289
+f 289/303/289 166/134/166 141/306/141
+f 186/304/186 289/303/289 202/175/202
+f 197/243/197 290/307/290 178/257/178
+f 102/246/102 198/154/198 290/307/290
+f 198/154/198 143/152/143 215/231/215
+f 178/257/178 290/307/290 215/231/215
+f 179/308/179 291/309/291 224/197/224
+f 149/137/149 230/136/230 291/309/291
+f 230/136/230 150/142/150 228/163/228
+f 291/309/291 228/163/228 147/218/147
+f 113/94/113 176/301/176 292/310/292
+f 176/301/176 138/164/138 217/166/217
+f 292/310/292 217/166/217 137/171/137
+f 153/112/153 292/310/292 173/276/173
+f 205/128/205 293/312/293 181/311/181
+f 133/206/133 212/233/212 293/312/293
+f 212/233/212 143/152/143 218/149/218
+f 293/312/293 218/149/218 142/151/142
+f 138/164/138 246/302/246 294/313/294
+f 246/302/246 148/177/148 226/176/226
+f 294/313/294 226/176/226 141/306/141
+f 209/167/209 294/313/294 241/133/241
+f 307/314/307 428/321/428 441/315/441
+f 441/315/441 429/319/429 310/317/310
+f 441/315/441 358/366/358 304/318/304
+f 302/320/302 358/366/358 441/315/441
+f 319/322/319 368/328/368 442/323/442
+f 434/324/434 442/323/442 362/325/362
+f 442/323/442 433/329/433 301/327/301
+f 368/328/368 308/402/308 433/329/433
+f 307/314/307 349/316/349 443/330/443
+f 443/330/443 346/334/346 300/332/300
+f 443/330/443 348/442/348 303/333/303
+f 310/317/310 348/442/348 443/330/443
+f 305/335/305 414/342/414 444/336/444
+f 444/336/444 417/340/417 321/338/321
+f 363/339/363 315/649/315 417/340/417
+f 314/341/314 363/339/363 444/336/444
+f 376/343/376 445/346/445 400/344/400
+f 445/346/445 383/349/383 326/347/326
+f 399/348/399 327/427/327 383/349/383
+f 324/350/324 399/348/399 445/346/445
+f 320/351/320 369/356/369 446/352/446
+f 435/353/435 446/352/446 360/354/360
+f 434/324/434 334/326/334 360/354/360
+f 369/356/369 319/322/319 434/324/434
+f 424/357/424 447/360/447 421/358/421
+f 447/360/447 426/363/426 322/361/322
+f 410/362/410 298/479/298 426/363/426
+f 344/364/344 410/362/410 447/360/447
+f 351/365/351 448/367/448 358/366/358
+f 448/367/448 386/369/386 304/318/304
+f 448/367/448 416/650/416 330/368/330
+f 322/370/322 416/650/416 448/367/448
+f 405/371/405 449/374/449 412/372/412
+f 449/374/449 392/377/392 337/375/337
+f 415/376/415 296/482/296 392/377/392
+f 312/378/312 415/376/415 449/374/449
+f 439/379/439 450/382/450 404/380/404
+f 450/382/450 431/385/431 329/383/329
+f 422/384/422 341/437/341 431/385/431
+f 344/364/344 422/384/422 450/382/450
+f 332/386/332 411/391/411 451/387/451
+f 403/388/403 451/387/451 378/389/378
+f 451/387/451 402/392/402 318/390/318
+f 411/391/411 331/519/331 402/392/402
+f 338/393/338 373/398/373 452/394/452
+f 396/395/396 452/394/452 420/396/420
+f 452/394/452 423/399/423 342/397/342
+f 373/398/373 343/511/343 423/399/423
+f 319/322/319 379/404/379 453/400/453
+f 368/328/368 453/400/453 345/401/345
+f 453/400/453 365/405/365 299/403/299
+f 379/404/379 317/508/317 365/405/365
+f 313/406/313 359/409/359 454/407/454
+f 454/407/454 345/401/345 299/403/299
+f 454/407/454 357/410/357 308/402/308
+f 359/409/359 316/422/316 357/410/357
+f 419/411/419 455/414/455 380/412/380
+f 455/414/455 418/417/418 338/415/338
+f 394/416/394 341/437/341 418/417/418
+f 340/418/340 394/416/394 455/414/455
+f 323/419/323 398/423/398 456/420/456
+f 430/421/430 456/420/456 357/410/357
+f 456/420/456 433/329/433 308/402/308
+f 301/327/301 433/329/433 456/420/456
+f 377/424/377 457/426/457 371/425/371
+f 457/426/457 383/349/383 327/427/327
+f 457/426/457 393/428/393 326/347/326
+f 377/424/377 328/435/328 393/428/393
+f 346/334/346 458/430/458 350/429/350
+f 458/430/458 361/433/361 312/431/312
+f 458/430/458 352/439/352 314/432/314
+f 303/333/303 352/439/352 458/430/458
+f 431/385/431 459/436/459 377/424/377
+f 377/424/377 459/436/459 438/434/438
+f 459/436/459 394/416/394 340/418/340
+f 341/437/341 394/416/394 459/436/459
+f 303/333/303 348/442/348 460/438/460
+f 352/439/352 460/438/460 363/440/363
+f 460/438/460 353/443/353 315/441/315
+f 348/442/348 310/317/310 353/443/353
+f 430/444/430 461/447/461 374/445/374
+f 461/447/461 436/450/436 297/448/297
+f 395/449/395 311/490/311 436/450/436
+f 316/451/316 395/449/395 461/447/461
+f 404/380/404 462/453/462 409/452/409
+f 462/453/462 406/454/406 337/375/337
+f 371/425/371 327/427/327 406/454/406
+f 329/383/329 371/425/371 462/453/462
+f 306/455/306 437/460/437 463/456/463
+f 463/456/463 427/459/427 330/458/330
+f 417/340/417 315/649/315 427/459/427
+f 321/338/321 417/340/417 463/456/463
+f 309/461/309 391/464/391 464/462/464
+f 388/463/388 464/462/464 389/337/389
+f 464/462/464 387/465/387 305/335/305
+f 391/464/391 296/482/296 387/465/387
+f 397/466/397 465/469/465 359/467/359
+f 465/469/465 395/449/395 316/451/316
+f 390/470/390 311/490/311 395/449/395
+f 295/471/295 390/470/390 465/469/465
+f 413/472/413 466/473/466 398/423/398
+f 466/473/466 362/325/362 301/327/301
+f 356/474/356 334/326/334 362/325/362
+f 339/475/339 356/474/356 466/473/466
+f 432/476/432 467/478/467 372/477/372
+f 467/478/467 439/379/439 333/381/333
+f 410/362/410 344/364/344 439/379/439
+f 298/479/298 410/362/410 467/478/467
+f 320/351/320 378/389/378 468/480/468
+f 369/356/369 468/480/468 379/404/379
+f 366/481/366 317/508/317 379/404/379
+f 378/389/378 318/390/318 366/481/366
+f 415/376/415 469/483/469 387/465/387
+f 469/483/469 414/342/414 305/335/305
+f 361/484/361 314/341/314 414/342/414
+f 312/378/312 361/484/361 469/483/469
+f 401/485/401 470/486/470 426/363/426
+f 470/486/470 416/487/416 322/361/322
+f 425/457/425 330/458/330 416/487/416
+f 306/455/306 425/457/425 470/486/470
+f 328/435/328 438/434/438 471/488/471
+f 384/489/384 471/488/471 436/450/436
+f 471/488/471 408/491/408 297/448/297
+f 438/434/438 340/418/340 408/491/408
+f 309/461/309 388/463/388 472/492/472
+f 432/476/432 472/492/472 401/485/401
+f 472/492/472 437/460/437 306/455/306
+f 388/463/388 321/338/321 437/460/437
+f 336/493/336 407/496/407 473/494/473
+f 405/495/405 473/494/473 350/429/350
+f 473/494/473 367/497/367 300/332/300
+f 407/496/407 331/519/331 367/497/367
+f 304/318/304 386/369/386 474/498/474
+f 429/319/429 474/498/474 353/443/353
+f 474/498/474 427/499/427 315/441/315
+f 386/369/386 330/368/330 427/499/427
+f 355/408/355 475/501/475 364/500/364
+f 475/501/475 381/503/381 325/502/325
+f 365/405/365 317/508/317 381/503/381
+f 299/403/299 365/405/365 475/501/475
+f 325/502/325 381/503/381 476/504/476
+f 376/505/376 476/504/476 382/506/382
+f 476/504/476 366/481/366 318/390/318
+f 317/508/317 366/481/366 476/504/476
+f 328/435/328 384/489/384 477/509/477
+f 393/428/393 477/509/477 385/510/385
+f 477/509/477 390/470/390 295/471/295
+f 384/489/384 311/490/311 390/470/390
+f 343/511/343 421/514/421 478/512/478
+f 423/399/423 478/512/478 354/513/354
+f 478/512/478 351/365/351 302/320/302
+f 421/514/421 322/370/322 351/365/351
+f 313/468/313 364/516/364 479/515/479
+f 479/515/479 385/510/385 295/471/295
+f 479/515/479 400/344/400 326/347/326
+f 364/516/364 325/345/325 400/344/400
+f 324/507/324 382/506/382 480/517/480
+f 375/518/375 480/517/480 407/496/407
+f 480/517/480 402/392/402 331/519/331
+f 382/506/382 318/390/318 402/392/402
+f 323/446/323 374/445/374 481/520/481
+f 413/521/413 481/520/481 419/411/419
+f 481/520/481 408/491/408 340/418/340
+f 297/448/297 408/491/408 481/520/481
+f 307/314/307 370/523/370 482/522/482
+f 428/321/428 482/522/482 354/513/354
+f 482/522/482 440/524/440 342/397/342
+f 370/523/370 332/386/332 440/524/440
+f 339/475/339 380/526/380 483/525/483
+f 483/525/483 360/354/360 334/326/334
+f 483/525/483 396/395/396 335/355/335
+f 380/526/380 338/393/338 396/395/396
+f 372/477/372 484/527/484 391/464/391
+f 484/527/484 392/377/392 296/482/296
+f 409/452/409 337/375/337 392/377/392
+f 333/381/333 409/452/409 484/527/484
+f 418/417/418 485/529/485 373/528/373
+f 485/529/485 424/357/424 343/359/343
+f 422/384/422 344/364/344 424/357/424
+f 341/437/341 422/384/422 485/529/485
+f 307/314/307 347/331/347 486/530/486
+f 370/523/370 486/530/486 411/391/411
+f 486/530/486 367/497/367 331/519/331
+f 347/331/347 300/332/300 367/497/367
+f 375/531/375 487/532/487 399/348/399
+f 487/532/487 406/454/406 327/427/327
+f 412/372/412 337/375/337 406/454/406
+f 336/373/336 412/372/412 487/532/487
+f 332/386/332 403/388/403 488/533/488
+f 440/524/440 488/533/488 420/396/420
+f 488/533/488 435/353/435 335/355/335
+f 403/388/403 320/351/320 435/353/435
+f 489/534/489 498/538/498 509/535/509
+f 490/537/490 499/570/499 509/535/509
+f 509/535/509 499/570/499 492/539/492
+f 509/535/509 500/540/500 491/541/491
+f 500/540/500 510/544/510 501/542/501
+f 500/540/500 492/539/492 502/543/502
+f 502/543/502 496/549/496 503/545/503
+f 501/542/501 510/544/510 503/545/503
+f 495/546/495 503/545/503 511/547/511
+f 496/549/496 505/565/505 511/547/511
+f 511/547/511 505/565/505 494/550/494
+f 511/547/511 506/551/506 493/552/493
+f 506/551/506 512/555/512 507/553/507
+f 506/551/506 494/550/494 508/554/508
+f 508/554/508 490/651/490 498/556/498
+f 507/553/507 512/555/512 498/556/498
+f 491/558/491 501/561/501 513/559/513
+f 495/546/495 504/548/504 513/559/513
+f 513/559/513 504/548/504 493/552/493
+f 513/559/513 507/562/507 489/563/489
+f 496/549/496 502/567/502 514/564/514
+f 492/566/492 499/571/499 514/564/514
+f 514/564/514 499/571/499 490/568/490
+f 514/564/514 508/569/508 494/550/494
+f 515/534/515 523/536/523 535/535/535
+f 535/535/535 525/570/525 516/537/516
+f 535/535/535 526/540/526 518/539/518
+f 517/541/517 526/540/526 535/535/535
+f 527/542/527 536/544/536 526/540/526
+f 526/540/526 536/544/536 528/543/528
+f 529/545/529 522/549/522 528/543/528
+f 527/542/527 521/546/521 529/545/529
+f 521/546/521 530/548/530 537/547/537
+f 537/547/537 531/565/531 522/549/522
+f 537/547/537 532/551/532 520/550/520
+f 519/552/519 532/551/532 537/547/537
+f 533/553/533 538/555/538 532/551/532
+f 532/551/532 538/555/538 534/554/534
+f 524/556/524 516/651/516 534/554/534
+f 533/553/533 515/557/515 524/556/524
+f 517/558/517 523/560/523 539/559/513
+f 539/559/513 530/548/530 521/546/521
+f 539/559/513 533/562/533 519/552/519
+f 515/563/515 533/562/533 539/559/513
+f 522/549/522 531/565/531 540/564/539
+f 540/564/539 525/571/525 518/566/518
+f 540/564/539 534/569/534 516/568/516
+f 520/550/520 534/569/534 540/564/539
+f 541/572/540 549/579/548 561/573/560
+f 561/573/560 551/577/550 542/575/541
+f 561/573/560 552/581/551 544/576/543
+f 543/578/542 552/581/551 561/573/560
+f 553/580/552 562/582/561 552/581/551
+f 562/582/561 554/584/553 544/576/543
+f 562/582/561 555/585/554 548/583/547
+f 553/580/552 547/586/546 555/585/554
+f 547/586/546 556/591/555 563/587/562
+f 563/587/562 557/589/556 548/583/547
+f 563/587/562 558/593/557 546/588/545
+f 545/590/544 558/593/557 563/587/562
+f 559/592/558 564/596/563 558/593/557
+f 558/593/557 564/596/563 560/594/559
+f 550/595/549 542/652/541 560/594/559
+f 559/592/558 541/653/540 550/595/549
+f 543/597/542 549/601/548 565/598/564
+f 565/598/564 556/591/555 547/586/546
+f 565/598/564 559/654/558 545/590/544
+f 541/600/540 559/654/558 565/598/564
+f 548/583/547 557/589/556 566/602/565
+f 566/602/565 551/606/550 544/604/543
+f 566/602/565 560/655/559 542/605/541
+f 546/588/545 560/655/559 566/602/565
+f 567/607/566 576/611/575 587/608/586
+f 568/610/567 577/656/576 587/608/586
+f 587/608/586 577/656/576 570/612/569
+f 587/608/586 578/613/577 569/614/568
+f 578/613/577 588/616/587 579/615/578
+f 570/612/569 580/657/579 588/616/587
+f 588/616/587 580/657/579 574/617/573
+f 579/615/578 588/616/587 581/618/580
+f 573/619/572 581/618/580 589/620/588
+f 574/617/573 583/637/582 589/620/588
+f 589/620/588 583/637/582 572/622/571
+f 589/620/588 584/623/583 571/624/570
+f 584/623/583 590/627/589 585/625/584
+f 584/623/583 572/622/571 586/626/585
+f 586/626/585 568/658/567 576/628/575
+f 585/625/584 590/627/589 576/628/575
+f 569/630/568 579/633/578 591/631/564
+f 573/619/572 582/621/581 591/631/564
+f 591/631/564 582/621/581 571/624/570
+f 591/631/564 585/634/584 567/635/566
+f 574/617/573 580/639/579 592/636/590
+f 570/638/569 577/659/576 592/636/590
+f 592/636/590 577/659/576 568/640/567
+f 592/636/590 586/641/585 572/622/571
+f 90/642/90 99/51/99 93/53/93
+f 90/89/90 97/87/97 89/83/89
+f 90/642/90 98/56/98 92/75/92
diff --git a/src/cube.c b/src/cube.c
new file mode 100644
index 0000000..66723ac
--- /dev/null
+++ b/src/cube.c
@@ -0,0 +1,39 @@
+#include "cube.h"
+
+ViewModel createCube()
+{
+ float vertices[] = {
+ 1.0f, 1.0f, -1.0f,
+ 1.0f, -1.0f, -1.0f,
+ -1.0f, -1.0f, -1.0f,
+ -1.0f, 1.0f, -1.0f,
+
+ 1.0f, 1.0f, 1.0f,
+ 1.0f, -1.0f, 1.0f,
+ -1.0f, -1.0f, 1.0f,
+ -1.0f, 1.0f, 1.0f
+ };
+ unsigned int indices[] = {
+ 0, 1, 2,
+ 0, 2, 3,
+
+ 4, 5, 6,
+ 4, 6, 7,
+
+ 0, 4, 5,
+ 2, 6, 3,
+
+ 3, 7, 6,
+ 1, 5, 0,
+
+ 3, 7, 0,
+ 0, 4, 7,
+
+ 2, 6, 1,
+ 1, 5, 6
+ };
+
+ ViewModel model;
+ createViewModel(&model, 8, vertices, 38, indices);
+ return model;
+}
diff --git a/src/cube.h b/src/cube.h
new file mode 100644
index 0000000..1e932c8
--- /dev/null
+++ b/src/cube.h
@@ -0,0 +1,4 @@
+#pragma once
+#include "object.h"
+
+ViewModel createCube();
diff --git a/src/includes.h b/src/includes.h
new file mode 100644
index 0000000..efbc626
--- /dev/null
+++ b/src/includes.h
@@ -0,0 +1,28 @@
+#pragma once
+
+#include <stdio.h>
+#include <stddef.h>
+#include <math.h>
+
+#include <SDL3/SDL_init.h>
+#include <SDL3/SDL_video.h>
+#include <SDL3/SDL_events.h>
+#include <SDL3/SDL_iostream.h>
+#include <SDL3/SDL_time.h>
+#include <SDL3/SDL_timer.h>
+#include <SDL3/SDL_stdinc.h>
+#include <SDL3/SDL_thread.h>
+//#include <SDL3/SDL_image.h>
+
+#include <cglm/cglm.h>
+#include <cglm/mat4.h>
+#include <cglm/vec3.h>
+
+#include <glad/gl.h>
+
+#include <assimp/cimport.h>
+#include <assimp/scene.h>
+#include <assimp/mesh.h>
+#include <assimp/postprocess.h>
+
+#include "player.h"
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..eb655b7
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,152 @@
+#include "includes.h"
+#include "main.h"
+#include "shader.h"
+#include "object.h"
+#include "cube.h"
+
+inline void handleEvents(Game* game)
+{
+ SDL_Event event;
+ SDL_PollEvent(&event);
+ switch (event.type) {
+ case SDL_EVENT_QUIT:
+ game->running = 0;
+ break;
+ }
+}
+
+int initGame(Game* game)
+{
+ game->window_width = 600;
+ game->window_height = 400;
+
+ game->window = SDL_CreateWindow(
+ "OpenGL Test",
+ game->window_width,
+ game->window_height,
+ SDL_WINDOW_OPENGL
+ );
+
+ glm_vec3_zero(game->player.pos);
+
+ // OpenGL stuff starts here
+ SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
+ SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
+ SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
+ game->gpu = SDL_GL_CreateContext(game->window);
+
+ SDL_GL_MakeCurrent(game->window, game->gpu);
+
+ //VSYNC:
+// SDL_SetWindowSurfaceVSync(game->window, SDL_WINDOW_SURFACE_VSYNC_DISABLED);
+// SDL_GL_SetSwapInterval(0);
+
+ game->running = 1;
+
+ int version = gladLoadGL((GLADloadfunc)SDL_GL_GetProcAddress);
+ if (version == 0) {
+ return 1;
+ }
+
+ glEnable(GL_DEPTH_TEST);
+
+ return 0;
+}
+
+int killGame(Game* game)
+{
+ SDL_GL_DestroyContext(game->gpu);
+ SDL_DestroyWindow(game->window);
+ return 0;
+}
+
+void setupProjection(Game* game)
+{
+ glm_perspective(90.0f, ((float)game->window_width)/((float)game->window_height), 0.1f, 40.0f, game->projection);
+
+ glUniformMatrix4fv(game->projection_loc, 1, GL_FALSE, (float*)game->projection);
+}
+
+int main()
+{
+ Game game;
+ initGame(&game);
+
+ unsigned int vertex_shader, fragment_shader, shader_program;
+
+ vertex_shader = loadShader("../src/shaders/test.vert", GL_VERTEX_SHADER);
+ fragment_shader = loadShader("../src/shaders/test.frag", GL_FRAGMENT_SHADER);
+
+ shader_program = shaderProgram(vertex_shader, fragment_shader);
+
+ glClearColor(0.0f, 0.25f, 0.5f, 1.0f);
+
+// TODO: texture loading, will add when sdl 3.4
+//
+// float tex_coords[] = {
+// 1.0f, 1.0f,
+// 1.0f, 0.0f,
+// 0.0f, 0.0f,
+// 0.0f, 1.0f,
+// };
+//
+// glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+// glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
+//
+// float border_color[] = {1.0f, 1.0f, 1.0f, 1.0f};
+// glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, border_color);
+//
+// glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+// glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+
+ ViewModel cubeModel = createCube();
+
+ ViewModel pengerModel = loadViewModel("../assets/objects/penger.obj");
+
+ Object myCube;
+
+ Object penger;
+
+ createObject(&myCube, &cubeModel);
+
+ createObject(&penger, &pengerModel);
+
+ moveObject(&penger, (vec3){0.0f, -0.5f, -1.0f});
+
+ scaleObject(&penger, (vec3){1.0f, 1.0f, 1.0f});
+
+ game.transform_loc = glGetUniformLocation(shader_program, "model");
+ game.projection_loc = glGetUniformLocation(shader_program, "projection");
+
+ SDL_Time time;
+
+// Enable/disable wireframe rendering:
+ glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
+
+ glUseProgram(shader_program);
+
+ setupProjection(&game);
+
+ bindViewModel(&pengerModel);
+ while (game.running) {
+ for (int i=0;i<628;i++) {
+ glClear(GL_COLOR_BUFFER_BIT);
+ glClear(GL_DEPTH_BUFFER_BIT);
+
+ rotateObject(&penger, (float)i/100, (vec3){0.0f, 1.0f, 0.0f});
+ drawObject(&game, &penger);
+
+ SDL_GL_SwapWindow(game.window);
+
+ handleEvents(&game);
+ }
+
+ }
+
+ killViewModel(&pengerModel);
+ killViewModel(&cubeModel);
+ glDeleteShader(vertex_shader);
+ glDeleteShader(fragment_shader);
+ killGame(&game);
+ return 0;
+}
diff --git a/src/main.h b/src/main.h
new file mode 100644
index 0000000..389957b
--- /dev/null
+++ b/src/main.h
@@ -0,0 +1,26 @@
+#pragma once
+#include "includes.h"
+
+typedef struct {
+ SDL_Window *window;
+
+ int window_width;
+ int window_height;
+
+ mat4 projection;
+
+ SDL_GLContext gpu;
+
+ int transform_loc, projection_loc;
+
+ int running;
+
+ Player player;
+} Game;
+
+void handleEvents(Game* game);
+
+void setupProjection(float fov, Game* game);
+
+int initGame(Game* game);
+int killGame(Game* game);
diff --git a/src/object.c b/src/object.c
new file mode 100644
index 0000000..25d504f
--- /dev/null
+++ b/src/object.c
@@ -0,0 +1,109 @@
+#include "object.h"
+
+void createViewModel(ViewModel *model, int num_vertices, float *vert, int num_indices, unsigned int *indices)
+{
+ model->num_indices = num_indices;
+
+ glGenVertexArrays(1, &model->VAO);
+ glBindVertexArray(model->VAO);
+
+ glGenBuffers(1, &model->VBO);
+ glBindBuffer(GL_ARRAY_BUFFER, model->VBO);
+ glBufferData(GL_ARRAY_BUFFER, sizeof(float)*num_vertices*3, vert, GL_STATIC_DRAW);
+
+ glGenBuffers(1, &model->EBO);
+
+ glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, model->EBO);
+ glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned int)*num_indices, indices, GL_STATIC_DRAW);
+
+ glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);
+ glEnableVertexAttribArray(0);
+}
+
+void killViewModel(ViewModel *model)
+{
+ glDeleteVertexArrays(1, &model->VAO);
+ glDeleteBuffers(1, &model->VBO);
+ glDeleteBuffers(1, &model->EBO);
+}
+
+void bindViewModel(ViewModel *model)
+{
+ glBindVertexArray(model->VAO);
+ glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, model->EBO);
+}
+
+ViewModel loadViewModel(const char* filename)
+{
+ const struct aiScene* scene = aiImportFile(filename,
+ aiProcess_CalcTangentSpace |
+ aiProcess_Triangulate |
+ aiProcess_JoinIdenticalVertices |
+ aiProcess_SortByPType);
+
+ struct aiMesh *mesh = scene->mMeshes[0];
+
+ unsigned int *indices = malloc(mesh->mNumFaces*3*sizeof(unsigned int));
+ int index = 0;
+ for (unsigned int i=0;i<mesh->mNumFaces;i++) {
+ memcpy(&indices[index], mesh->mFaces[i].mIndices, 3*sizeof(unsigned int));
+ index+=3;
+ }
+
+ ViewModel model;
+ createViewModel(&model, mesh->mNumVertices, (float*)mesh->mVertices, mesh->mNumFaces*3, indices);
+ free(indices);
+ return model;
+}
+
+void createObject(Object *obj, ViewModel *model)
+{
+ obj->model = model;
+ glm_mat4_identity(obj->transform);
+
+ glm_vec3_zero(obj->pos);
+ glm_vec3_one(obj->size);
+
+ obj->rotation.angle = 0.0f;
+ glm_vec3_zero(obj->rotation.direction);
+}
+
+void moveObject(Object *obj, vec3 pos)
+{
+ glm_vec3_copy(
+ pos,
+ obj->pos
+ );
+ updateObjectTransform(obj);
+}
+
+void scaleObject(Object *obj, vec3 scale)
+{
+ glm_scale(obj->transform, scale);
+ updateObjectTransform(obj);
+}
+
+void rotateObject(Object *obj, float angle, vec3 direction)
+{
+ obj->rotation.angle = angle;
+ glm_vec3_copy(
+ direction,
+ obj->rotation.direction
+ );
+ updateObjectTransform(obj);
+}
+
+inline void updateObjectTransform(Object *obj)
+{
+ glm_mat4_identity(obj->transform);
+ glm_translate(obj->transform, obj->pos);
+ glm_rotate(obj->transform, obj->rotation.angle, obj->rotation.direction);
+ glm_scale(obj->transform, obj->size);
+}
+
+void drawObject(Game *game, Object *obj)
+{
+ glUniformMatrix4fv(game->transform_loc, 1, GL_FALSE, (float*)obj->transform);
+
+ glDrawElements(GL_TRIANGLES, obj->model->num_indices, GL_UNSIGNED_INT, 0);
+}
diff --git a/src/object.h b/src/object.h
new file mode 100644
index 0000000..b4cc06d
--- /dev/null
+++ b/src/object.h
@@ -0,0 +1,47 @@
+#pragma once
+#include "main.h"
+#include "includes.h"
+
+typedef struct {
+ float angle;
+ vec3 direction;
+} Rotation;
+
+typedef struct {
+ int num_indices;
+
+ unsigned int VAO, VBO, EBO;
+} ViewModel;
+
+typedef struct {
+ ViewModel *model;
+
+ vec3 pos, size;
+
+ Rotation rotation;
+
+ mat4 transform;
+} Object;
+
+void createViewModel(ViewModel *model, int num_vertices, float *vert, int num_indices, unsigned int *indices);
+
+void killViewModel(ViewModel *model);
+
+void bindViewModel(ViewModel *model);
+
+ViewModel loadViewModel(const char* filename);
+
+void createObject(Object *obj, ViewModel *model);
+
+
+void moveObject(Object *obj, vec3 pos);
+
+void scaleObject(Object *obj, vec3 scale);
+
+void rotateObject(Object *obj, float angle, vec3 direction);
+
+
+void updateObjectTransform(Object *obj);
+
+
+void drawObject(Game *game, Object *obj);
diff --git a/src/player.h b/src/player.h
new file mode 100644
index 0000000..f81760c
--- /dev/null
+++ b/src/player.h
@@ -0,0 +1,13 @@
+#pragma once
+
+typedef struct {
+ vec3 pos;
+ vec3 target;
+ vec3 direction;
+ vec3 up;
+} Camera;
+
+typedef struct {
+ vec3 pos;
+ Camera camera;
+} Player;
diff --git a/src/shader.c b/src/shader.c
new file mode 100644
index 0000000..022879e
--- /dev/null
+++ b/src/shader.c
@@ -0,0 +1,39 @@
+#include "shader.h"
+#include "includes.h"
+
+unsigned int loadShader(const char* filename, unsigned int shadertype)
+{
+ void* shader_source = SDL_LoadFile(filename, NULL);
+ unsigned int shader = glCreateShader(shadertype);
+ glShaderSource(shader, 1, (const char**)&shader_source, NULL);
+ glCompileShader(shader);
+ SDL_free(shader_source);
+
+ int success;
+
+ glGetShaderiv(shader, GL_COMPILE_STATUS, &success);
+ if (!success) {
+ printf("Couldn't compile shader\n");
+ return 0;
+ }
+
+ return shader;
+}
+
+unsigned int shaderProgram(unsigned int vertex_shader, unsigned int fragment_shader)
+{
+ unsigned int shader_program;
+ shader_program = glCreateProgram();
+ glAttachShader(shader_program, vertex_shader);
+ glAttachShader(shader_program, fragment_shader);
+ glLinkProgram(shader_program);
+
+ int success;
+ glGetProgramiv(shader_program, GL_LINK_STATUS, &success);
+ if (!success) {
+ printf("Couldn't link shader program\n");
+ return 0;
+ }
+
+ return shader_program;
+}
diff --git a/src/shader.h b/src/shader.h
new file mode 100644
index 0000000..3bb9421
--- /dev/null
+++ b/src/shader.h
@@ -0,0 +1,4 @@
+#pragma once
+
+unsigned int loadShader(const char* filename, unsigned int shadertype);
+unsigned int shaderProgram(unsigned int vertex_shader, unsigned int fragment_shader);
diff --git a/src/shaders/basic.frag b/src/shaders/basic.frag
new file mode 100644
index 0000000..00d2a13
--- /dev/null
+++ b/src/shaders/basic.frag
@@ -0,0 +1,6 @@
+#version 330 core
+out vec4 FragColor;
+void main()
+{
+ FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);
+}
diff --git a/src/shaders/basic.vert b/src/shaders/basic.vert
new file mode 100644
index 0000000..684ddbb
--- /dev/null
+++ b/src/shaders/basic.vert
@@ -0,0 +1,6 @@
+#version 330 core
+layout (location = 0) in vec3 aPos;
+void main()
+{
+ gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);
+}
diff --git a/src/shaders/test.frag b/src/shaders/test.frag
new file mode 100644
index 0000000..cd2ee4c
--- /dev/null
+++ b/src/shaders/test.frag
@@ -0,0 +1,10 @@
+#version 330 core
+
+out vec4 FragColor;
+
+in vec4 vertexColor;
+
+void main()
+{
+ FragColor = vertexColor;
+}
diff --git a/src/shaders/test.vert b/src/shaders/test.vert
new file mode 100644
index 0000000..851352d
--- /dev/null
+++ b/src/shaders/test.vert
@@ -0,0 +1,19 @@
+#version 330 core
+
+layout (location = 0) in vec3 aPos;
+
+uniform mat4 projection;
+uniform mat4 model;
+
+out vec4 vertexColor;
+
+void main()
+{
+ vec4 v = vec4(aPos, 1.0);
+ vec4 newPosition = model * v;
+ vec4 projectedPosition = projection * newPosition;
+ gl_Position = projectedPosition ;
+
+// gl_Position = u_mvp * vec4(aPos, 1.0);
+ vertexColor = vec4(0.0, 0.5, 0.0, 1.0);
+}