diff options
author | kartofen <mladenovnasko0@gmail.com> | 2023-11-25 15:35:01 +0200 |
---|---|---|
committer | kartofen <mladenovnasko0@gmail.com> | 2023-11-25 15:35:01 +0200 |
commit | 4323e172facadb0af33c3295e019fcd5d8547ca5 (patch) | |
tree | c0ec9a440c6a34edc8300fc870f69cb5c7b7a617 | |
parent | 1e436946514f3a0e9fe3d091394db6b86e06f033 (diff) |
depth image lets gooo
-rw-r--r-- | bin/shaders/shader1.frag.spv | bin | 572 -> 0 bytes | |||
-rw-r--r-- | bin/shaders/shader1.vert.spv | bin | 1696 -> 0 bytes | |||
-rwxr-xr-x | bin/test | bin | 338512 -> 0 bytes | |||
-rw-r--r-- | files/monkey.obj | 2901 | ||||
-rw-r--r-- | obj/common.d | 1 | ||||
-rw-r--r-- | obj/common.o | bin | 7488 -> 0 bytes | |||
-rw-r--r-- | obj/graphics.d | 1 | ||||
-rw-r--r-- | obj/graphics.o | bin | 203592 -> 0 bytes | |||
-rw-r--r-- | obj/main.d | 2 | ||||
-rw-r--r-- | obj/main.o | bin | 103008 -> 0 bytes | |||
-rw-r--r-- | obj/objload.d | 1 | ||||
-rw-r--r-- | obj/objload.o | bin | 15696 -> 0 bytes | |||
-rw-r--r-- | obj/window.d | 1 | ||||
-rw-r--r-- | obj/window.o | bin | 65720 -> 0 bytes | |||
-rw-r--r-- | src/common.h | 6 | ||||
-rw-r--r-- | src/graphics.c | 276 | ||||
-rw-r--r-- | src/graphics.h | 10 | ||||
-rw-r--r-- | src/main.c | 29 | ||||
-rw-r--r-- | src/objload.h | 3 |
19 files changed, 1697 insertions, 1534 deletions
diff --git a/bin/shaders/shader1.frag.spv b/bin/shaders/shader1.frag.spv Binary files differdeleted file mode 100644 index da37f7e..0000000 --- a/bin/shaders/shader1.frag.spv +++ /dev/null diff --git a/bin/shaders/shader1.vert.spv b/bin/shaders/shader1.vert.spv Binary files differdeleted file mode 100644 index 9c1a35a..0000000 --- a/bin/shaders/shader1.vert.spv +++ /dev/null diff --git a/bin/test b/bin/test Binary files differdeleted file mode 100755 index dadc9aa..0000000 --- a/bin/test +++ /dev/null diff --git a/files/monkey.obj b/files/monkey.obj index f980f0b..a104e0e 100644 --- a/files/monkey.obj +++ b/files/monkey.obj @@ -1,1455 +1,514 @@ -# Blender 3.6.5 +# Blender v3.6.5 OBJ File: '' # www.blender.org mtllib untitled.mtl o Suzanne -v 0.437500 0.164062 0.765625 -v -0.437500 0.164062 0.765625 -v 0.500000 0.093750 0.687500 -v -0.500000 0.093750 0.687500 -v 0.546875 0.054688 0.578125 -v -0.546875 0.054688 0.578125 -v 0.351562 -0.023438 0.617188 -v -0.351562 -0.023438 0.617188 -v 0.351562 0.031250 0.718750 -v -0.351562 0.031250 0.718750 -v 0.351562 0.132812 0.781250 -v -0.351562 0.132812 0.781250 -v 0.273438 0.164062 0.796875 -v -0.273438 0.164062 0.796875 -v 0.203125 0.093750 0.742188 -v -0.203125 0.093750 0.742188 -v 0.156250 0.054688 0.648438 -v -0.156250 0.054688 0.648438 -v 0.078125 0.242188 0.656250 -v -0.078125 0.242188 0.656250 -v 0.140625 0.242188 0.742188 -v -0.140625 0.242188 0.742188 -v 0.242188 0.242188 0.796875 -v -0.242188 0.242188 0.796875 -v 0.273438 0.328125 0.796875 -v -0.273438 0.328125 0.796875 -v 0.203125 0.390625 0.742188 -v -0.203125 0.390625 0.742188 -v 0.156250 0.437500 0.648438 -v -0.156250 0.437500 0.648438 -v 0.351562 0.515625 0.617188 -v -0.351562 0.515625 0.617188 -v 0.351562 0.453125 0.718750 -v -0.351562 0.453125 0.718750 -v 0.351562 0.359375 0.781250 -v -0.351562 0.359375 0.781250 -v 0.437500 0.328125 0.765625 -v -0.437500 0.328125 0.765625 -v 0.500000 0.390625 0.687500 -v -0.500000 0.390625 0.687500 -v 0.546875 0.437500 0.578125 -v -0.546875 0.437500 0.578125 -v 0.625000 0.242188 0.562500 -v -0.625000 0.242188 0.562500 -v 0.562500 0.242188 0.671875 -v -0.562500 0.242188 0.671875 -v 0.468750 0.242188 0.757812 -v -0.468750 0.242188 0.757812 -v 0.476562 0.242188 0.773438 -v -0.476562 0.242188 0.773438 -v 0.445312 0.335938 0.781250 -v -0.445312 0.335938 0.781250 -v 0.351562 0.375000 0.804688 -v -0.351562 0.375000 0.804688 -v 0.265625 0.335938 0.820312 -v -0.265625 0.335938 0.820312 -v 0.226562 0.242188 0.820312 -v -0.226562 0.242188 0.820312 -v 0.265625 0.156250 0.820312 -v -0.265625 0.156250 0.820312 -v 0.351562 0.242188 0.828125 -v -0.351562 0.242188 0.828125 -v 0.351562 0.117188 0.804688 -v -0.351562 0.117188 0.804688 -v 0.445312 0.156250 0.781250 -v -0.445312 0.156250 0.781250 -v 0.000000 0.429688 0.742188 -v 0.000000 0.351562 0.820312 -v 0.000000 -0.679688 0.734375 -v 0.000000 -0.320312 0.781250 -v 0.000000 -0.187500 0.796875 -v 0.000000 -0.773438 0.718750 -v 0.000000 0.406250 0.601562 -v 0.000000 0.570312 0.570312 -v 0.000000 0.898438 -0.546875 -v 0.000000 0.562500 -0.851562 -v 0.000000 0.070312 -0.828125 -v 0.000000 -0.382812 -0.351562 -v 0.203125 -0.187500 0.562500 -v -0.203125 -0.187500 0.562500 -v 0.312500 -0.437500 0.570312 -v -0.312500 -0.437500 0.570312 -v 0.351562 -0.695312 0.570312 -v -0.351562 -0.695312 0.570312 -v 0.367188 -0.890625 0.531250 -v -0.367188 -0.890625 0.531250 -v 0.328125 -0.945312 0.523438 -v -0.328125 -0.945312 0.523438 -v 0.179688 -0.968750 0.554688 -v -0.179688 -0.968750 0.554688 -v 0.000000 -0.984375 0.578125 -v 0.437500 -0.140625 0.531250 -v -0.437500 -0.140625 0.531250 -v 0.632812 -0.039062 0.539062 -v -0.632812 -0.039062 0.539062 -v 0.828125 0.148438 0.445312 -v -0.828125 0.148438 0.445312 -v 0.859375 0.429688 0.593750 -v -0.859375 0.429688 0.593750 -v 0.710938 0.484375 0.625000 -v -0.710938 0.484375 0.625000 -v 0.492188 0.601562 0.687500 -v -0.492188 0.601562 0.687500 -v 0.320312 0.757812 0.734375 -v -0.320312 0.757812 0.734375 -v 0.156250 0.718750 0.757812 -v -0.156250 0.718750 0.757812 -v 0.062500 0.492188 0.750000 -v -0.062500 0.492188 0.750000 -v 0.164062 0.414062 0.773438 -v -0.164062 0.414062 0.773438 -v 0.125000 0.304688 0.765625 -v -0.125000 0.304688 0.765625 -v 0.203125 0.093750 0.742188 -v -0.203125 0.093750 0.742188 -v 0.375000 0.015625 0.703125 -v -0.375000 0.015625 0.703125 -v 0.492188 0.062500 0.671875 -v -0.492188 0.062500 0.671875 -v 0.625000 0.187500 0.648438 -v -0.625000 0.187500 0.648438 -v 0.640625 0.296875 0.648438 -v -0.640625 0.296875 0.648438 -v 0.601562 0.375000 0.664062 -v -0.601562 0.375000 0.664062 -v 0.429688 0.437500 0.718750 -v -0.429688 0.437500 0.718750 -v 0.250000 0.468750 0.757812 -v -0.250000 0.468750 0.757812 -v 0.000000 -0.765625 0.734375 -v 0.109375 -0.718750 0.734375 -v -0.109375 -0.718750 0.734375 -v 0.117188 -0.835938 0.710938 -v -0.117188 -0.835938 0.710938 -v 0.062500 -0.882812 0.695312 -v -0.062500 -0.882812 0.695312 -v 0.000000 -0.890625 0.687500 -v 0.000000 -0.195312 0.750000 -v 0.000000 -0.140625 0.742188 -v 0.101562 -0.148438 0.742188 -v -0.101562 -0.148438 0.742188 -v 0.125000 -0.226562 0.750000 -v -0.125000 -0.226562 0.750000 -v 0.085938 -0.289062 0.742188 -v -0.085938 -0.289062 0.742188 -v 0.398438 -0.046875 0.671875 -v -0.398438 -0.046875 0.671875 -v 0.617188 0.054688 0.625000 -v -0.617188 0.054688 0.625000 -v 0.726562 0.203125 0.601562 -v -0.726562 0.203125 0.601562 -v 0.742188 0.375000 0.656250 -v -0.742188 0.375000 0.656250 -v 0.687500 0.414062 0.726562 -v -0.687500 0.414062 0.726562 -v 0.437500 0.546875 0.796875 -v -0.437500 0.546875 0.796875 -v 0.312500 0.640625 0.835938 -v -0.312500 0.640625 0.835938 -v 0.203125 0.617188 0.851562 -v -0.203125 0.617188 0.851562 -v 0.101562 0.429688 0.843750 -v -0.101562 0.429688 0.843750 -v 0.125000 -0.101562 0.812500 -v -0.125000 -0.101562 0.812500 -v 0.210938 -0.445312 0.710938 -v -0.210938 -0.445312 0.710938 -v 0.250000 -0.703125 0.687500 -v -0.250000 -0.703125 0.687500 -v 0.265625 -0.820312 0.664062 -v -0.265625 -0.820312 0.664062 -v 0.234375 -0.914062 0.632812 -v -0.234375 -0.914062 0.632812 -v 0.164062 -0.929688 0.632812 -v -0.164062 -0.929688 0.632812 -v 0.000000 -0.945312 0.640625 -v 0.000000 0.046875 0.726562 -v 0.000000 0.210938 0.765625 -v 0.328125 0.476562 0.742188 -v -0.328125 0.476562 0.742188 -v 0.164062 0.140625 0.750000 -v -0.164062 0.140625 0.750000 -v 0.132812 0.210938 0.757812 -v -0.132812 0.210938 0.757812 -v 0.117188 -0.687500 0.734375 -v -0.117188 -0.687500 0.734375 -v 0.078125 -0.445312 0.750000 -v -0.078125 -0.445312 0.750000 -v 0.000000 -0.445312 0.750000 -v 0.000000 -0.328125 0.742188 -v 0.093750 -0.273438 0.781250 -v -0.093750 -0.273438 0.781250 -v 0.132812 -0.226562 0.796875 -v -0.132812 -0.226562 0.796875 -v 0.109375 -0.132812 0.781250 -v -0.109375 -0.132812 0.781250 -v 0.039062 -0.125000 0.781250 -v -0.039062 -0.125000 0.781250 -v 0.000000 -0.203125 0.828125 -v 0.046875 -0.148438 0.812500 -v -0.046875 -0.148438 0.812500 -v 0.093750 -0.156250 0.812500 -v -0.093750 -0.156250 0.812500 -v 0.109375 -0.226562 0.828125 -v -0.109375 -0.226562 0.828125 -v 0.078125 -0.250000 0.804688 -v -0.078125 -0.250000 0.804688 -v 0.000000 -0.289062 0.804688 -v 0.257812 -0.312500 0.554688 -v -0.257812 -0.312500 0.554688 -v 0.164062 -0.242188 0.710938 -v -0.164062 -0.242188 0.710938 -v 0.179688 -0.312500 0.710938 -v -0.179688 -0.312500 0.710938 -v 0.234375 -0.250000 0.554688 -v -0.234375 -0.250000 0.554688 -v 0.000000 -0.875000 0.687500 -v 0.046875 -0.867188 0.687500 -v -0.046875 -0.867188 0.687500 -v 0.093750 -0.820312 0.710938 -v -0.093750 -0.820312 0.710938 -v 0.093750 -0.742188 0.726562 -v -0.093750 -0.742188 0.726562 -v 0.000000 -0.781250 0.656250 -v 0.093750 -0.750000 0.664062 -v -0.093750 -0.750000 0.664062 -v 0.093750 -0.812500 0.640625 -v -0.093750 -0.812500 0.640625 -v 0.046875 -0.851562 0.632812 -v -0.046875 -0.851562 0.632812 -v 0.000000 -0.859375 0.632812 -v 0.171875 0.218750 0.781250 -v -0.171875 0.218750 0.781250 -v 0.187500 0.156250 0.773438 -v -0.187500 0.156250 0.773438 -v 0.335938 0.429688 0.757812 -v -0.335938 0.429688 0.757812 -v 0.273438 0.421875 0.773438 -v -0.273438 0.421875 0.773438 -v 0.421875 0.398438 0.773438 -v -0.421875 0.398438 0.773438 -v 0.562500 0.351562 0.695312 -v -0.562500 0.351562 0.695312 -v 0.585938 0.289062 0.687500 -v -0.585938 0.289062 0.687500 -v 0.578125 0.195312 0.679688 -v -0.578125 0.195312 0.679688 -v 0.476562 0.101562 0.718750 -v -0.476562 0.101562 0.718750 -v 0.375000 0.062500 0.742188 -v -0.375000 0.062500 0.742188 -v 0.226562 0.109375 0.781250 -v -0.226562 0.109375 0.781250 -v 0.179688 0.296875 0.781250 -v -0.179688 0.296875 0.781250 -v 0.210938 0.375000 0.781250 -v -0.210938 0.375000 0.781250 -v 0.234375 0.359375 0.757812 -v -0.234375 0.359375 0.757812 -v 0.195312 0.296875 0.757812 -v -0.195312 0.296875 0.757812 -v 0.242188 0.125000 0.757812 -v -0.242188 0.125000 0.757812 -v 0.375000 0.085938 0.726562 -v -0.375000 0.085938 0.726562 -v 0.460938 0.117188 0.703125 -v -0.460938 0.117188 0.703125 -v 0.546875 0.210938 0.671875 -v -0.546875 0.210938 0.671875 -v 0.554688 0.281250 0.671875 -v -0.554688 0.281250 0.671875 -v 0.531250 0.335938 0.679688 -v -0.531250 0.335938 0.679688 -v 0.414062 0.390625 0.750000 -v -0.414062 0.390625 0.750000 -v 0.281250 0.398438 0.765625 -v -0.281250 0.398438 0.765625 -v 0.335938 0.406250 0.750000 -v -0.335938 0.406250 0.750000 -v 0.203125 0.171875 0.750000 -v -0.203125 0.171875 0.750000 -v 0.195312 0.226562 0.750000 -v -0.195312 0.226562 0.750000 -v 0.109375 0.460938 0.609375 -v -0.109375 0.460938 0.609375 -v 0.195312 0.664062 0.617188 -v -0.195312 0.664062 0.617188 -v 0.335938 0.687500 0.593750 -v -0.335938 0.687500 0.593750 -v 0.484375 0.554688 0.554688 -v -0.484375 0.554688 0.554688 -v 0.679688 0.453125 0.492188 -v -0.679688 0.453125 0.492188 -v 0.796875 0.406250 0.460938 -v -0.796875 0.406250 0.460938 -v 0.773438 0.164062 0.375000 -v -0.773438 0.164062 0.375000 -v 0.601562 0.000000 0.414062 -v -0.601562 0.000000 0.414062 -v 0.437500 -0.093750 0.468750 -v -0.437500 -0.093750 0.468750 -v 0.000000 0.898438 0.289062 -v 0.000000 0.984375 -0.078125 -v 0.000000 -0.195312 -0.671875 -v 0.000000 -0.460938 0.187500 -v 0.000000 -0.976562 0.460938 -v 0.000000 -0.804688 0.343750 -v 0.000000 -0.570312 0.320312 -v 0.000000 -0.484375 0.281250 -v 0.851562 0.234375 0.054688 -v -0.851562 0.234375 0.054688 -v 0.859375 0.320312 -0.046875 -v -0.859375 0.320312 -0.046875 -v 0.773438 0.265625 -0.437500 -v -0.773438 0.265625 -0.437500 -v 0.460938 0.437500 -0.703125 -v -0.460938 0.437500 -0.703125 -v 0.734375 -0.046875 0.070312 -v -0.734375 -0.046875 0.070312 -v 0.593750 -0.125000 -0.164062 -v -0.593750 -0.125000 -0.164062 -v 0.640625 -0.007812 -0.429688 -v -0.640625 -0.007812 -0.429688 -v 0.335938 0.054688 -0.664062 -v -0.335938 0.054688 -0.664062 -v 0.234375 -0.351562 0.406250 -v -0.234375 -0.351562 0.406250 -v 0.179688 -0.414062 0.257812 -v -0.179688 -0.414062 0.257812 -v 0.289062 -0.710938 0.382812 -v -0.289062 -0.710938 0.382812 -v 0.250000 -0.500000 0.390625 -v -0.250000 -0.500000 0.390625 -v 0.328125 -0.914062 0.398438 -v -0.328125 -0.914062 0.398438 -v 0.140625 -0.757812 0.367188 -v -0.140625 -0.757812 0.367188 -v 0.125000 -0.539062 0.359375 -v -0.125000 -0.539062 0.359375 -v 0.164062 -0.945312 0.437500 -v -0.164062 -0.945312 0.437500 -v 0.218750 -0.281250 0.429688 -v -0.218750 -0.281250 0.429688 -v 0.210938 -0.226562 0.468750 -v -0.210938 -0.226562 0.468750 -v 0.203125 -0.171875 0.500000 -v -0.203125 -0.171875 0.500000 -v 0.210938 -0.390625 0.164062 -v -0.210938 -0.390625 0.164062 -v 0.296875 -0.312500 -0.265625 -v -0.296875 -0.312500 -0.265625 -v 0.343750 -0.148438 -0.539062 -v -0.343750 -0.148438 -0.539062 -v 0.453125 0.867188 -0.382812 -v -0.453125 0.867188 -0.382812 -v 0.453125 0.929688 -0.070312 -v -0.453125 0.929688 -0.070312 -v 0.453125 0.851562 0.234375 -v -0.453125 0.851562 0.234375 -v 0.460938 0.523438 0.429688 -v -0.460938 0.523438 0.429688 -v 0.726562 0.406250 0.335938 -v -0.726562 0.406250 0.335938 -v 0.632812 0.453125 0.281250 -v -0.632812 0.453125 0.281250 -v 0.640625 0.703125 0.054688 -v -0.640625 0.703125 0.054688 -v 0.796875 0.562500 0.125000 -v -0.796875 0.562500 0.125000 -v 0.796875 0.617188 -0.117188 -v -0.796875 0.617188 -0.117188 -v 0.640625 0.750000 -0.195312 -v -0.640625 0.750000 -0.195312 -v 0.640625 0.679688 -0.445312 -v -0.640625 0.679688 -0.445312 -v 0.796875 0.539062 -0.359375 -v -0.796875 0.539062 -0.359375 -v 0.617188 0.328125 -0.585938 -v -0.617188 0.328125 -0.585938 -v 0.484375 0.023438 -0.546875 -v -0.484375 0.023438 -0.546875 -v 0.820312 0.328125 -0.203125 -v -0.820312 0.328125 -0.203125 -v 0.406250 -0.171875 0.148438 -v -0.406250 -0.171875 0.148438 -v 0.429688 -0.195312 -0.210938 -v -0.429688 -0.195312 -0.210938 -v 0.890625 0.406250 -0.234375 -v -0.890625 0.406250 -0.234375 -v 0.773438 -0.140625 -0.125000 -v -0.773438 -0.140625 -0.125000 -v 1.039062 -0.101562 -0.328125 -v -1.039062 -0.101562 -0.328125 -v 1.281250 0.054688 -0.429688 -v -1.281250 0.054688 -0.429688 -v 1.351562 0.320312 -0.421875 -v -1.351562 0.320312 -0.421875 -v 1.234375 0.507812 -0.421875 -v -1.234375 0.507812 -0.421875 -v 1.023438 0.476562 -0.312500 -v -1.023438 0.476562 -0.312500 -v 1.015625 0.414062 -0.289062 -v -1.015625 0.414062 -0.289062 -v 1.187500 0.437500 -0.390625 -v -1.187500 0.437500 -0.390625 -v 1.265625 0.289062 -0.406250 -v -1.265625 0.289062 -0.406250 -v 1.210938 0.078125 -0.406250 -v -1.210938 0.078125 -0.406250 -v 1.031250 -0.039062 -0.304688 -v -1.031250 -0.039062 -0.304688 -v 0.828125 -0.070312 -0.132812 -v -0.828125 -0.070312 -0.132812 -v 0.921875 0.359375 -0.218750 -v -0.921875 0.359375 -0.218750 -v 0.945312 0.304688 -0.289062 -v -0.945312 0.304688 -0.289062 -v 0.882812 -0.023438 -0.210938 -v -0.882812 -0.023438 -0.210938 -v 1.039062 0.000000 -0.367188 -v -1.039062 0.000000 -0.367188 -v 1.187500 0.093750 -0.445312 -v -1.187500 0.093750 -0.445312 -v 1.234375 0.250000 -0.445312 -v -1.234375 0.250000 -0.445312 -v 1.171875 0.359375 -0.437500 -v -1.171875 0.359375 -0.437500 -v 1.023438 0.343750 -0.359375 -v -1.023438 0.343750 -0.359375 -v 0.843750 0.289062 -0.210938 -v -0.843750 0.289062 -0.210938 -v 0.835938 0.171875 -0.273438 -v -0.835938 0.171875 -0.273438 -v 0.757812 0.093750 -0.273438 -v -0.757812 0.093750 -0.273438 -v 0.820312 0.085938 -0.273438 -v -0.820312 0.085938 -0.273438 -v 0.843750 0.015625 -0.273438 -v -0.843750 0.015625 -0.273438 -v 0.812500 -0.015625 -0.273438 -v -0.812500 -0.015625 -0.273438 -v 0.726562 0.000000 -0.070312 -v -0.726562 0.000000 -0.070312 -v 0.718750 -0.023438 -0.171875 -v -0.718750 -0.023438 -0.171875 -v 0.718750 0.039062 -0.187500 -v -0.718750 0.039062 -0.187500 -v 0.796875 0.203125 -0.210938 -v -0.796875 0.203125 -0.210938 -v 0.890625 0.242188 -0.265625 -v -0.890625 0.242188 -0.265625 -v 0.890625 0.234375 -0.320312 -v -0.890625 0.234375 -0.320312 -v 0.812500 -0.015625 -0.320312 -v -0.812500 -0.015625 -0.320312 -v 0.851562 0.015625 -0.320312 -v -0.851562 0.015625 -0.320312 -v 0.828125 0.078125 -0.320312 -v -0.828125 0.078125 -0.320312 -v 0.765625 0.093750 -0.320312 -v -0.765625 0.093750 -0.320312 -v 0.843750 0.171875 -0.320312 -v -0.843750 0.171875 -0.320312 -v 1.039062 0.328125 -0.414062 -v -1.039062 0.328125 -0.414062 -v 1.187500 0.343750 -0.484375 -v -1.187500 0.343750 -0.484375 -v 1.257812 0.242188 -0.492188 -v -1.257812 0.242188 -0.492188 -v 1.210938 0.085938 -0.484375 -v -1.210938 0.085938 -0.484375 -v 1.046875 0.000000 -0.421875 -v -1.046875 0.000000 -0.421875 -v 0.882812 -0.015625 -0.265625 -v -0.882812 -0.015625 -0.265625 -v 0.953125 0.289062 -0.343750 -v -0.953125 0.289062 -0.343750 -v 0.890625 0.109375 -0.328125 -v -0.890625 0.109375 -0.328125 -v 0.937500 0.062500 -0.335938 -v -0.937500 0.062500 -0.335938 -v 1.000000 0.125000 -0.367188 -v -1.000000 0.125000 -0.367188 -v 0.960938 0.171875 -0.351562 -v -0.960938 0.171875 -0.351562 -v 1.015625 0.234375 -0.375000 -v -1.015625 0.234375 -0.375000 -v 1.054688 0.187500 -0.382812 -v -1.054688 0.187500 -0.382812 -v 1.109375 0.210938 -0.390625 -v -1.109375 0.210938 -0.390625 -v 1.085938 0.273438 -0.390625 -v -1.085938 0.273438 -0.390625 -v 1.023438 0.437500 -0.484375 -v -1.023438 0.437500 -0.484375 -v 1.250000 0.468750 -0.546875 -v -1.250000 0.468750 -0.546875 -v 1.367188 0.296875 -0.500000 -v -1.367188 0.296875 -0.500000 -v 1.312500 0.054688 -0.531250 -v -1.312500 0.054688 -0.531250 -v 1.039062 -0.085938 -0.492188 -v -1.039062 -0.085938 -0.492188 -v 0.789062 -0.125000 -0.328125 -v -0.789062 -0.125000 -0.328125 -v 0.859375 0.382812 -0.382812 -v -0.859375 0.382812 -0.382812 -vn 0.6617 -0.2026 0.7219 -vn -0.6617 -0.2026 0.7219 -vn 0.8268 -0.3051 0.4725 -vn -0.8268 -0.3051 0.4725 -vn 0.4076 -0.7905 0.4570 -vn -0.4076 -0.7905 0.4570 -vn 0.3791 -0.5163 0.7679 -vn -0.3791 -0.5163 0.7679 -vn -0.0859 -0.5222 0.8485 -vn 0.0859 -0.5222 0.8485 -vn -0.2664 -0.8487 0.4570 -vn 0.2664 -0.8487 0.4570 -vn -0.7824 -0.3294 0.5285 -vn 0.7606 -0.3400 0.5531 -vn -0.4767 -0.1907 0.8581 -vn 0.4649 -0.1958 0.8634 -vn -0.4649 0.1958 0.8634 -vn 0.4649 0.1958 0.8634 -vn -0.7656 0.3223 0.5568 -vn 0.7683 0.3293 0.5488 -vn -0.2560 0.8073 0.5317 -vn 0.2487 0.8249 0.5076 -vn -0.0821 0.6023 0.7940 -vn 0.1017 0.5518 0.8277 -vn 0.3329 0.5231 0.7846 -vn -0.3861 0.5446 0.7445 -vn 0.4246 0.7711 0.4745 -vn -0.4059 0.7641 0.5014 -vn 0.8251 0.2968 0.4808 -vn -0.8299 0.2940 0.4742 -vn 0.6888 0.1868 0.7005 -vn -0.6617 0.2026 0.7219 -vn 0.8400 0.3436 -0.4200 -vn -0.7816 0.3058 -0.5437 -vn 0.2074 0.8296 -0.5185 -vn -0.2037 0.8146 -0.5431 -vn -0.4056 0.7605 -0.5070 -vn 0.4381 0.7988 -0.4123 -vn -0.8642 0.3143 -0.3928 -vn 0.7861 0.3276 -0.5241 -vn -0.7783 -0.3538 -0.5188 -vn 0.7782 -0.3538 -0.5188 -vn -0.4381 -0.7988 -0.4123 -vn 0.4381 -0.7988 -0.4123 -vn 0.2037 -0.8146 -0.5431 -vn -0.2037 -0.8146 -0.5431 -vn 0.7683 -0.3293 -0.5488 -vn -0.7683 -0.3293 -0.5488 -vn 0.4000 -0.0623 0.9144 -vn -0.4000 -0.0623 0.9144 -vn 0.3069 -0.1754 0.9354 -vn -0.3069 -0.1754 0.9354 -vn 0.0945 -0.1835 0.9785 -vn -0.0945 -0.1835 0.9785 -vn -0.0624 -0.0283 0.9977 -vn 0.0624 -0.0283 0.9977 -vn -0.0624 0.0260 0.9977 -vn 0.0624 0.0260 0.9977 -vn 0.0996 0.1729 0.9799 -vn -0.0996 0.1729 0.9799 -vn 0.3036 0.1656 0.9383 -vn -0.3036 0.1656 0.9383 -vn 0.4002 0.0572 0.9147 -vn -0.4002 0.0572 0.9147 -vn 0.1367 -0.8748 0.4648 -vn -0.1054 -0.8433 0.5270 -vn 0.2303 -0.8656 0.4447 -vn -0.1916 -0.8620 0.4693 -vn 0.5788 -0.5049 0.6404 -vn -0.5788 -0.5049 0.6404 -vn 0.7763 -0.0633 0.6272 -vn -0.7763 -0.0633 0.6272 -vn 0.7471 0.1132 0.6550 -vn -0.7471 0.1132 0.6550 -vn 0.3747 -0.8345 0.4040 -vn -0.3747 -0.8345 0.4040 -vn 0.3557 -0.7290 0.5848 -vn -0.4177 -0.5751 0.7034 -vn 0.6947 -0.4197 0.5841 -vn -0.6947 -0.4197 0.5841 -vn 0.7028 -0.3915 0.5939 -vn -0.5537 -0.2978 0.7777 -vn 0.3127 0.3425 0.8860 -vn -0.8227 0.3606 0.4395 -vn 0.5091 0.6482 0.5663 -vn -0.5041 0.6448 0.5745 -vn 0.5977 0.5565 0.5771 -vn -0.5977 0.5565 0.5771 -vn -0.0486 0.6560 0.7532 -vn 0.0371 0.6685 0.7428 -vn -0.7104 0.2715 0.6494 -vn 0.7386 0.3768 0.5590 -vn -0.6013 0.5262 0.6013 -vn 0.5774 0.5774 0.5774 -vn 0.5070 -0.6281 0.5903 -vn -0.5364 -0.3230 0.7797 -vn 0.2226 -0.4694 0.8545 -vn -0.2226 -0.4694 0.8545 -vn -0.0348 -0.5792 0.8144 -vn 0.1073 -0.5010 0.8588 -vn -0.0899 -0.7843 0.6138 -vn 0.0770 -0.5759 0.8139 -vn 0.0547 -0.1695 0.9840 -vn -0.0279 -0.8645 0.5019 -vn 0.4260 -0.0609 0.9027 -vn -0.1687 -0.3128 0.9347 -vn 0.3352 -0.1828 0.9243 -vn -0.4350 -0.1812 0.8820 -vn 0.3579 -0.3068 0.8819 -vn -0.3223 -0.2762 0.9054 -vn -0.0000 -0.4472 0.8944 -vn -0.1598 0.3903 0.9067 -vn 0.1598 0.3903 0.9067 -vn 0.6819 -0.2915 0.6709 -vn -0.1854 -0.4956 0.8485 -vn 0.0585 -0.0781 0.9952 -vn -0.0585 -0.0781 0.9952 -vn -0.0066 -0.2316 0.9728 -vn -0.0585 -0.0845 0.9947 -vn 0.1008 -0.7103 0.6966 -vn -0.1008 -0.7103 0.6966 -vn 0.1322 -0.5947 0.7930 -vn -0.1322 -0.5947 0.7930 -vn 0.3128 -0.1662 0.9352 -vn -0.3143 -0.3928 0.8642 -vn 0.3288 -0.0360 0.9437 -vn -0.3288 -0.0360 0.9437 -vn 0.3233 -0.0808 0.9429 -vn -0.3233 -0.0808 0.9429 -vn -0.0232 0.0511 0.9984 -vn -0.0000 0.0665 0.9978 -vn -0.0043 -0.0651 0.9979 -vn -0.0000 -0.0665 0.9978 -vn -0.0000 -0.0000 1.0000 -vn 0.8447 -0.5335 0.0445 -vn -0.8447 -0.5335 0.0445 -vn 0.9256 0.2492 -0.2848 -vn -0.9635 0.2141 -0.1606 -vn 0.0693 0.9004 -0.4294 -vn -0.1018 0.9165 -0.3870 -vn -1.0000 -0.0000 -0.0000 -vn 0.6905 0.5492 0.4708 -vn 0.4071 -0.8956 0.1791 -vn -0.4319 -0.8639 0.2592 -vn 0.2873 -0.5747 0.7663 -vn -0.2873 -0.5747 0.7663 -vn -0.6326 0.5353 0.5596 -vn 0.6326 0.5353 0.5596 -vn 0.0862 0.7759 0.6250 -vn -0.0862 0.7759 0.6250 -vn 0.7532 0.2870 0.5918 -vn -0.7639 0.2971 0.5729 -vn 0.3416 -0.5409 0.7686 -vn -0.3416 -0.5409 0.7686 -vn 0.0502 0.2343 0.9709 -vn -0.0375 0.2247 0.9737 -vn -0.1304 -0.6087 0.7826 -vn 0.1304 -0.6087 0.7826 -vn -0.5059 0.0716 0.8596 -vn 0.5059 0.0716 0.8596 -vn -0.5774 -0.5774 0.5774 -vn 0.5774 -0.5774 0.5774 -vn 0.5460 -0.4310 0.7184 -vn -0.3319 0.0738 0.9404 -vn 0.3231 0.0311 0.9459 -vn -0.2815 0.0662 0.9573 -vn 0.7357 0.3910 0.5531 -vn -0.8753 0.2059 0.4376 -vn 0.8480 0.3180 0.4240 -vn -0.8973 0.1994 0.3938 -vn 0.8505 0.3798 0.3638 -vn -0.8505 0.3798 0.3638 -vn 0.1783 -0.4161 0.8917 -vn -0.2524 -0.8655 0.4327 -vn -0.1296 -0.1945 0.9723 -vn 0.1296 -0.1945 0.9723 -vn -0.4472 -0.0000 0.8944 -vn 0.4472 -0.0000 0.8944 -vn -0.1582 0.9494 0.2713 -vn 0.1582 0.9494 0.2713 -vn -0.6463 0.7337 0.2096 -vn 0.6463 0.7337 0.2096 -vn 1.0000 -0.0000 -0.0000 -vn 0.3051 -0.9450 0.1181 -vn -0.3051 -0.9450 0.1181 -vn 0.0217 -0.3031 0.9527 -vn -0.0217 -0.3031 0.9527 -vn 0.1353 -0.3479 0.9277 -vn -0.1353 -0.3479 0.9277 -vn -0.4681 -0.2239 0.8548 -vn 0.4681 -0.2239 0.8548 -vn -0.2710 0.0271 0.9622 -vn 0.2710 0.0271 0.9622 -vn -0.1717 -0.0090 0.9851 -vn 0.2595 0.1038 0.9601 -vn -0.4332 -0.4874 0.7581 -vn 0.6684 -0.4595 0.5849 -vn -0.1599 -0.8797 0.4478 -vn 0.1599 -0.8797 0.4478 -vn 0.3900 -0.5895 0.7074 -vn -0.3900 -0.5895 0.7074 -vn 0.6547 -0.4589 0.6007 -vn -0.6547 -0.4589 0.6007 -vn 0.5378 -0.1144 0.8353 -vn -0.5378 -0.1144 0.8353 -vn 0.5657 0.1197 0.8159 -vn -0.5774 0.1155 0.8083 -vn 0.4082 0.4082 0.8165 -vn -0.5214 0.6574 0.5441 -vn 0.1796 0.7882 0.5886 -vn -0.1796 0.7882 0.5886 -vn 0.1881 0.3387 0.9219 -vn -0.1881 0.3387 0.9219 -vn -0.0870 0.2756 0.9573 -vn 0.0870 0.2756 0.9573 -vn 0.0829 -0.2902 0.9534 -vn -0.0829 -0.2902 0.9534 -vn 0.3015 -0.3015 0.9045 -vn -0.3015 -0.3015 0.9045 -vn -0.3766 -0.8339 0.4035 -vn 0.0631 -0.3156 0.9468 -vn 0.0823 -0.7822 0.6175 -vn 0.2016 -0.9071 0.3696 -vn -0.3707 -0.2851 0.8839 -vn 0.3707 -0.2851 0.8839 -vn -0.2692 -0.0577 0.9614 -vn 0.4568 0.0508 0.8881 -vn -0.2797 0.5245 0.8042 -vn 0.2797 0.5245 0.8042 -vn -0.0213 0.5546 0.8319 -vn 0.0487 0.6815 0.7302 -vn 0.3778 0.6342 0.6746 -vn -0.3378 0.5221 0.7831 -vn 0.4988 0.5300 0.6858 -vn -0.4988 0.5300 0.6858 -vn 0.5425 -0.3391 0.7686 -vn -0.5425 -0.3391 0.7686 -vn 0.8305 -0.0615 0.5536 -vn -0.8305 -0.0615 0.5536 -vn 0.7814 0.1116 0.6140 -vn -0.7814 0.1116 0.6140 -vn -0.4338 0.8888 -0.1481 -vn 0.4338 0.8888 -0.1481 -vn -0.8515 0.3744 -0.3670 -vn 0.8515 0.3744 -0.3670 -vn -0.2664 0.8710 -0.4127 -vn 0.2197 0.8626 -0.4557 -vn 0.5932 0.7445 -0.3063 -vn -0.5914 0.7489 -0.2991 -vn 0.3714 0.8685 -0.3284 -vn -0.3653 0.8833 -0.2938 -vn 0.2901 0.9141 -0.2833 -vn -0.2901 0.9141 -0.2833 -vn 0.8873 0.1343 -0.4412 -vn -0.7964 0.1323 -0.5901 -vn 0.5108 -0.6649 -0.5450 -vn -0.5108 -0.6649 -0.5450 -vn 0.3695 -0.8566 -0.3601 -vn -0.3695 -0.8566 -0.3601 -vn 0.3617 -0.3858 -0.8487 -vn -0.1649 -0.6644 -0.7289 -vn 0.1952 -0.0976 -0.9759 -vn -0.3011 -0.0125 -0.9535 -vn -0.0107 -0.5633 -0.8262 -vn -0.2562 -0.3112 -0.9152 -vn 0.1533 -0.9649 -0.2134 -vn -0.1533 -0.9649 -0.2134 -vn 0.1260 -0.9624 -0.2406 -vn -0.1260 -0.9624 -0.2406 -vn 0.9396 0.1573 -0.3041 -vn -0.9396 0.1573 -0.3041 -vn 0.9278 0.1838 -0.3246 -vn -0.9278 0.1838 -0.3246 -vn 0.2192 0.0766 -0.9727 -vn -0.2192 0.0766 -0.9727 -vn 0.1211 -0.0530 -0.9912 -vn 0.1497 -0.3635 -0.9195 -vn 0.9094 0.1371 -0.3927 -vn -0.3706 -0.6780 -0.6349 -vn 0.9202 0.1355 -0.3672 -vn -0.9202 0.1355 -0.3672 -vn 0.9173 0.3440 -0.2007 -vn -0.9457 0.2673 -0.1850 -vn 0.9004 0.3642 -0.2380 -vn -0.9337 0.2813 -0.2215 -vn 0.8945 0.4337 0.1084 -vn -0.9501 0.2455 -0.1922 -vn 0.1596 -0.9577 -0.2394 -vn -0.1835 -0.7864 -0.5898 -vn 0.3693 -0.4712 -0.8010 -vn -0.3727 -0.4759 -0.7966 -vn 0.2986 -0.8236 -0.4821 -vn -0.3263 -0.8342 -0.4446 -vn 0.2995 -0.9442 -0.1368 -vn -0.2995 -0.9442 -0.1368 -vn 0.3287 -0.9163 -0.2291 -vn -0.3287 -0.9163 -0.2291 -vn 0.8305 0.3333 -0.4463 -vn -0.8642 -0.4737 0.1696 -vn 0.9166 -0.3740 0.1414 -vn -0.9166 -0.3740 0.1414 -vn 0.2950 -0.0454 -0.9544 -vn -0.4189 -0.2265 -0.8793 -vn 0.1272 0.9658 0.2260 -vn -0.1119 0.9626 0.2468 -vn 0.1320 0.9750 -0.1788 -vn -0.1320 0.9750 -0.1788 -vn 0.3878 0.6192 -0.6828 -vn -0.3878 0.6192 -0.6828 -vn 0.4951 0.8618 -0.1100 -vn -0.4951 0.8618 -0.1100 -vn 0.2561 0.6447 0.7202 -vn -0.2561 0.6447 0.7202 -vn 0.5966 0.7888 0.1479 -vn -0.5966 0.7888 0.1479 -vn 0.7125 0.6755 -0.1900 -vn -0.7125 0.6755 -0.1900 -vn 0.7104 0.1364 -0.6904 -vn -0.6304 0.2517 -0.7343 -vn 0.6823 0.2318 -0.6933 -vn -0.6823 0.2318 -0.6933 -vn 0.6574 0.7254 -0.2040 -vn -0.6574 0.7254 -0.2040 -vn 0.7289 0.6729 0.1262 -vn -0.7289 0.6729 0.1262 -vn 0.7791 0.4074 0.4764 -vn -0.7791 0.4074 0.4764 -vn 0.3669 0.8840 -0.2898 -vn -0.3238 0.9434 -0.0720 -vn 0.2854 0.6237 0.7277 -vn -0.1548 0.5080 0.8473 -vn -0.1702 0.1097 -0.9793 -vn 0.1782 0.0891 -0.9800 -vn 0.2925 0.5674 0.7697 -vn -0.2925 0.5674 0.7697 -vn -0.1616 0.1847 0.9694 -vn 0.1616 0.1847 0.9694 -vn 0.8681 0.0893 -0.4883 -vn -0.9340 0.2255 0.2773 -vn 0.9276 0.0762 0.3657 -vn -0.9276 0.0762 0.3657 -vn 0.9750 0.2169 0.0490 -vn -0.9750 0.2169 0.0490 -vn 0.9817 -0.0304 -0.1882 -vn -0.9956 0.0893 -0.0288 -vn 0.7466 -0.6646 0.0285 -vn -0.6374 -0.7651 0.0915 -vn 0.3723 -0.9243 0.0847 -vn -0.3720 -0.9244 0.0845 -vn 0.3986 -0.8754 0.2734 -vn -0.3986 -0.8754 0.2734 -vn 0.6328 -0.7642 0.1247 -vn -0.6328 -0.7642 0.1247 -vn 0.7325 -0.6368 0.2407 -vn -0.7325 -0.6368 0.2407 -vn 0.2637 -0.4499 0.8533 -vn -0.2637 -0.4499 0.8533 -vn 0.5881 -0.3070 -0.7483 -vn -0.5236 -0.3290 -0.7859 -vn 0.4694 -0.2400 -0.8498 -vn -0.5396 -0.3343 -0.7727 -vn 0.4463 -0.8452 -0.2941 -vn -0.2144 -0.8341 -0.5082 -vn 0.6973 -0.6610 -0.2771 -vn -0.7365 -0.6154 -0.2808 -vn 0.4972 -0.4408 -0.7473 -vn -0.4972 -0.4408 -0.7473 -vn 0.3691 0.2855 0.8844 -vn -0.3244 0.4867 0.8111 -vn 0.4467 0.0975 0.8894 -vn -0.4467 0.0975 0.8894 -vn 0.3188 0.1993 0.9266 -vn -0.1817 -0.0079 0.9833 -vn 0.2076 -0.0836 0.9746 -vn -0.2925 -0.0758 0.9533 -vn 0.3398 0.0824 0.9369 -vn -0.5847 -0.2198 0.7809 -vn 0.5957 -0.3850 0.7049 -vn -0.5957 -0.3850 0.7049 -vn 0.4843 0.5580 0.6738 -vn -0.4843 0.5580 0.6738 -vn -0.2675 0.8318 0.4864 -vn 0.2675 0.8318 0.4864 -vn -0.8576 0.2223 0.4637 -vn 0.7885 0.2366 0.5677 -vn -0.5257 -0.3579 0.7717 -vn 0.5242 -0.3548 0.7742 -vn 0.4663 -0.5991 0.6509 -vn -0.4390 -0.5252 0.7290 -vn 0.7104 -0.4567 0.5356 -vn -0.7104 -0.4567 0.5356 -vn 0.7507 -0.6131 -0.2461 -vn -0.6302 -0.7658 0.1282 -vn -0.1788 0.2923 0.9395 -vn 0.2175 0.2733 0.9370 -vn 0.9042 -0.3578 -0.2332 -vn -0.9042 -0.3578 -0.2332 -vn 0.0400 0.3399 0.9396 -vn -0.0400 0.3399 0.9396 -vn 0.2734 0.9064 0.3221 -vn -0.2734 0.9064 0.3221 -vn 0.4480 -0.4480 0.7737 -vn -0.7177 0.1689 0.6755 -vn 0.5534 -0.5534 0.6225 -vn -0.9008 -0.4075 0.1501 -vn 0.5724 -0.3122 0.7582 -vn -0.5815 -0.5217 0.6243 -vn 0.5597 -0.5533 0.6169 -vn -0.6138 -0.2571 0.7465 -vn 0.9551 -0.1636 -0.2470 -vn -0.1712 -0.0934 0.9808 -vn 0.9227 -0.3765 -0.0825 -vn -0.8717 -0.4446 -0.2063 -vn 0.9972 -0.0181 -0.0725 -vn -0.9972 -0.0181 -0.0725 -vn 0.6895 -0.6644 0.2883 -vn -0.6895 -0.6644 0.2883 -vn 0.7815 -0.6176 0.0882 -vn -0.7930 -0.5947 0.1322 -vn 0.7022 -0.7022 0.1170 -vn -0.7022 -0.7022 0.1170 -vn 0.1240 0.9921 0.0207 -vn -0.2408 0.9631 -0.1204 -vn 0.9435 0.3145 0.1048 -vn -0.9251 0.3469 0.1542 -vn 0.6213 -0.7767 0.1036 -vn -0.6213 -0.7767 0.1036 -vn -0.0000 1.0000 -0.0000 -vn 0.6197 -0.6899 0.3742 -vn -0.6197 -0.6899 0.3742 -vn 0.2752 -0.8808 0.3853 -vn -0.2752 -0.8808 0.3853 -vn -0.7929 -0.5252 -0.3089 -vn 0.7929 -0.5252 -0.3089 -vn -0.8096 0.2429 -0.5343 -vn 0.8538 0.2328 -0.4657 -vn -0.5621 0.8231 -0.0803 -vn 0.5433 0.6985 -0.4657 -vn -0.0071 0.9899 0.1414 -vn 0.1096 0.9939 -0.0157 -vn 0.1046 0.0392 0.9937 -vn -0.1738 0.0097 0.9847 -vn 0.2461 0.0852 0.9655 -vn -0.4134 0.0413 0.9096 -vn 0.3009 0.0926 0.9491 -vn -0.3009 0.0926 0.9491 -vn 0.2104 0.0124 0.9775 -vn -0.1220 0.0458 0.9915 -vn -0.0099 0.3867 0.9221 -vn 0.0099 0.3867 0.9221 -vn 0.3787 -0.0364 0.9248 -vn -0.4244 -0.0320 0.9049 -vn 0.2530 -0.1897 0.9487 -vn -0.2570 0.0723 0.9637 -vn -0.4870 0.6088 0.6262 -vn 0.2981 0.7454 0.5963 -vn 0.6693 0.1802 0.7208 -vn -0.6693 0.1802 0.7208 -vn 0.4388 -0.2008 0.8759 -vn -0.4723 -0.1986 0.8588 -vn 0.5786 -0.1334 0.8046 -vn -0.2975 -0.4062 0.8640 -vn 0.5002 0.2833 0.8182 -vn -0.5002 0.2833 0.8182 -vn 0.2980 0.5802 0.7580 -vn -0.2980 0.5802 0.7580 -vn 0.0929 -0.9912 -0.0944 -vn -0.0929 -0.9912 -0.0944 -vn 0.4688 -0.8715 0.1442 -vn -0.4688 -0.8715 0.1442 -vn 0.9309 -0.2541 0.2624 -vn -0.9264 -0.2460 0.2851 -vn 0.8465 0.5291 -0.0595 -vn -0.8267 0.5627 -0.0035 -vn -0.2511 0.9439 -0.2145 -vn 0.2146 0.9243 -0.3157 -vn -0.4841 0.8743 -0.0361 -vn 0.4196 0.8851 -0.2012 -vn -0.5256 -0.0030 -0.8507 -vn 0.5470 -0.0144 -0.8370 -vn -0.1466 0.0104 -0.9891 -vn 0.1466 0.0104 -0.9891 -vn 0.4046 0.0266 -0.9141 -vn -0.4046 0.0266 -0.9141 -vn -0.8073 0.5901 0.0041 -vn 0.7330 0.6786 0.0472 -vn 0.4200 -0.2291 -0.8781 -vn -0.4200 -0.2291 -0.8781 -vn -0.0687 -0.9943 -0.0818 -vn 0.0687 -0.9943 -0.0818 -vn 0.6713 -0.1971 0.7145 -vn -0.6713 -0.1971 0.7145 -vn 0.8326 -0.3017 0.4646 -vn -0.8326 -0.3017 0.4646 -vn 0.4258 -0.7967 0.4290 -vn -0.4258 -0.7967 0.4290 -vn 0.3265 -0.4954 0.8050 -vn -0.3265 -0.4954 0.8050 -vn -0.0649 -0.5714 0.8181 -vn 0.0649 -0.5714 0.8181 -vn -0.2738 -0.8315 0.4834 -vn 0.2738 -0.8315 0.4834 -vn -0.7606 -0.3400 0.5531 -vn 0.7824 -0.3294 0.5285 -vn -0.4649 -0.1958 0.8634 -vn 0.4767 -0.1907 0.8581 -vn -0.4983 0.1812 0.8478 -vn 0.4983 0.1812 0.8478 -vn -0.7683 0.3293 0.5488 -vn 0.7656 0.3223 0.5568 -vn -0.2487 0.8249 0.5076 -vn 0.2560 0.8073 0.5317 -vn -0.1017 0.5518 0.8277 -vn 0.0821 0.6023 0.7940 -vn 0.3861 0.5446 0.7445 -vn -0.3329 0.5231 0.7846 -vn 0.4059 0.7641 0.5014 -vn -0.4246 0.7711 0.4745 -vn 0.8299 0.2940 0.4742 -vn -0.8251 0.2968 0.4808 -vn 0.6617 0.2026 0.7219 -vn -0.6888 0.1868 0.7005 -vn 0.7816 0.3058 -0.5437 -vn -0.8400 0.3436 -0.4200 -vn 0.2037 0.8146 -0.5431 -vn -0.2074 0.8296 -0.5185 -vn -0.4381 0.7988 -0.4123 -vn 0.4056 0.7605 -0.5070 -vn -0.7861 0.3276 -0.5241 -vn 0.8642 0.3143 -0.3928 -vn -0.8519 -0.3408 -0.3976 -vn 0.8519 -0.3408 -0.3976 -vn -0.4056 -0.7605 -0.5070 -vn 0.4056 -0.7605 -0.5070 -vn 0.2074 -0.8296 -0.5185 -vn -0.2074 -0.8296 -0.5185 -vn 0.8297 -0.3734 -0.4149 -vn -0.8297 -0.3734 -0.4149 -vn 0.1054 -0.8433 0.5270 -vn -0.1367 -0.8748 0.4648 -vn 0.1916 -0.8620 0.4693 -vn -0.2303 -0.8656 0.4447 -vn 0.5959 -0.4256 0.6810 -vn -0.5959 -0.4256 0.6810 -vn 0.7563 -0.0299 0.6535 -vn -0.7563 -0.0299 0.6535 -vn 0.8069 0.0689 0.5866 -vn -0.8069 0.0689 0.5866 -vn 0.2334 -0.7779 0.5834 -vn -0.2334 -0.7779 0.5834 -vn 0.4177 -0.5751 0.7034 -vn -0.3557 -0.7290 0.5848 -vn 0.6872 -0.4191 0.5934 -vn -0.6872 -0.4191 0.5934 -vn 0.5537 -0.2978 0.7777 -vn -0.7028 -0.3915 0.5939 -vn 0.8227 0.3606 0.4395 -vn -0.3127 0.3425 0.8860 -vn 0.5041 0.6448 0.5745 -vn -0.5091 0.6482 0.5663 -vn 0.6155 0.4924 0.6155 -vn -0.6155 0.4924 0.6155 -vn -0.0371 0.6685 0.7428 -vn 0.0486 0.6560 0.7532 -vn -0.7386 0.3768 0.5590 -vn 0.7104 0.2715 0.6494 -vn -0.5774 0.5774 0.5774 -vn 0.6013 0.5262 0.6013 -vn 0.5364 -0.3230 0.7797 -vn -0.5070 -0.6281 0.5903 -vn 0.2181 -0.4685 0.8561 -vn -0.2181 -0.4685 0.8561 -vn -0.1073 -0.5010 0.8588 -vn 0.0348 -0.5792 0.8144 -vn -0.0770 -0.5759 0.8139 -vn 0.0899 -0.7843 0.6138 -vn 0.0279 -0.8645 0.5019 -vn -0.0547 -0.1695 0.9840 -vn 0.1687 -0.3128 0.9347 -vn -0.4260 -0.0609 0.9027 -vn 0.4350 -0.1812 0.8820 -vn -0.3352 -0.1828 0.9243 -vn 0.3223 -0.2762 0.9054 -vn -0.3579 -0.3068 0.8819 -vn 0.4284 0.1494 0.8911 -vn -0.4284 0.1494 0.8911 -vn -0.0317 -0.1899 0.9813 -vn 0.0317 -0.1899 0.9813 -vn 0.1854 -0.4956 0.8485 -vn -0.6819 -0.2915 0.6709 -vn 0.2623 -0.3498 0.8994 -vn -0.2623 -0.3498 0.8994 -vn 0.0585 -0.0845 0.9947 -vn 0.0066 -0.2316 0.9728 -vn -0.0136 -0.6507 0.7592 -vn 0.0136 -0.6507 0.7592 -vn 0.2404 -0.5476 0.8014 -vn -0.2404 -0.5476 0.8014 -vn 0.3143 -0.3928 0.8642 -vn -0.3128 -0.1662 0.9352 -vn 0.2821 -0.0164 0.9592 -vn -0.2821 -0.0164 0.9592 -vn 0.3273 -0.1432 0.9340 -vn -0.3273 -0.1432 0.9340 -vn 0.0232 0.0511 0.9984 -vn 0.0043 -0.0651 0.9979 -vn 0.7826 -0.6087 -0.1304 -vn -0.7826 -0.6087 -0.1304 -vn 0.9635 0.2141 -0.1606 -vn -0.9256 0.2492 -0.2848 -vn 0.1018 0.9165 -0.3870 -vn -0.0693 0.9004 -0.4294 -vn -0.6905 0.5492 0.4708 -vn 0.4319 -0.8639 0.2592 -vn -0.4071 -0.8956 0.1791 -vn -0.6667 0.6667 0.3333 -vn 0.6667 0.6667 0.3333 -vn 0.1348 0.8086 0.5727 -vn -0.1348 0.8086 0.5727 -vn 0.7639 0.2971 0.5729 -vn -0.7532 0.2870 0.5918 -vn 0.4116 -0.8575 0.3087 -vn -0.4116 -0.8575 0.3087 -vn 0.0375 0.2247 0.9737 -vn -0.0502 0.2343 0.9709 -vn 0.1304 -0.2609 0.9565 -vn -0.1304 -0.2609 0.9565 -vn -0.0631 -0.8206 0.5681 -vn 0.0631 -0.8206 0.5681 -vn 0.7325 0.2817 0.6198 -vn -0.7325 0.2817 0.6198 -vn 0.3319 0.0738 0.9404 -vn -0.5460 -0.4310 0.7184 -vn 0.2815 0.0662 0.9573 -vn -0.3231 0.0311 0.9459 -vn 0.8753 0.2059 0.4376 -vn -0.7357 0.3910 0.5531 -vn 0.8973 0.1994 0.3938 -vn -0.8480 0.3180 0.4240 -vn 0.9586 0.0664 0.2767 -vn -0.9586 0.0664 0.2767 -vn 0.2524 -0.8655 0.4327 -vn -0.1783 -0.4161 0.8917 -vn -0.1751 -0.2043 0.9631 -vn 0.1751 -0.2043 0.9631 -vn -0.1219 -0.1829 0.9755 -vn 0.1219 -0.1829 0.9755 -vn -0.1562 0.3123 0.9370 -vn 0.1562 0.3123 0.9370 -vn -0.7238 0.6857 0.0762 -vn 0.7238 0.6857 0.0762 -vn 0.0478 -0.2870 0.9567 -vn -0.0478 -0.2870 0.9567 -vn -0.5488 -0.3293 0.7683 -vn 0.5488 -0.3293 0.7683 -vn -0.4945 -0.1130 0.8618 -vn 0.4945 -0.1130 0.8618 -vn -0.2595 0.1038 0.9601 -vn 0.1717 -0.0090 0.9851 -vn -0.6684 -0.4595 0.5849 -vn 0.4332 -0.4874 0.7581 -vn -0.1156 -0.6359 0.7631 -vn 0.1156 -0.6359 0.7631 -vn 0.4242 -0.6211 0.6590 -vn -0.4242 -0.6211 0.6590 -vn 0.4767 -0.3557 0.8039 -vn -0.4767 -0.3557 0.8039 -vn 0.5871 -0.0839 0.8052 -vn -0.5871 -0.0839 0.8052 -vn 0.5774 0.1155 0.8083 -vn -0.5657 0.1197 0.8159 -vn 0.5214 0.6574 0.5441 -vn -0.4082 0.4082 0.8165 -vn 0.3358 0.3478 0.8754 -vn -0.3358 0.3478 0.8754 -vn 0.1452 0.3774 0.9146 -vn -0.1452 0.3774 0.9146 -vn 0.0301 0.2306 0.9726 -vn -0.0301 0.2306 0.9726 -vn 0.4475 -0.4699 0.7608 -vn -0.4475 -0.4699 0.7608 -vn 0.2627 -0.2252 0.9382 -vn -0.2627 -0.2252 0.9382 -vn -0.0631 -0.3156 0.9468 -vn 0.3766 -0.8339 0.4035 -vn -0.2016 -0.9071 0.3696 -vn -0.0823 -0.7822 0.6175 -vn -0.3356 -0.2397 0.9110 -vn 0.3356 -0.2397 0.9110 -vn -0.4568 0.0508 0.8881 -vn 0.2692 -0.0577 0.9614 -vn -0.0247 0.4072 0.9130 -vn 0.0247 0.4072 0.9130 -vn -0.0487 0.6815 0.7302 -vn 0.0213 0.5546 0.8319 -vn 0.3378 0.5221 0.7831 -vn -0.3778 0.6342 0.6746 -vn 0.7895 -0.3158 0.5263 -vn -0.7895 -0.3158 0.5263 -vn 0.8070 -0.0807 0.5851 -vn -0.8070 -0.0807 0.5851 -vn 0.7868 0.1210 0.6052 -vn -0.7868 0.1210 0.6052 -vn -0.6357 0.6811 -0.3633 -vn 0.6357 0.6811 -0.3633 -vn -0.8507 0.3650 -0.3783 -vn 0.8507 0.3650 -0.3783 -vn -0.2197 0.8626 -0.4557 -vn 0.2664 0.8710 -0.4127 -vn 0.5914 0.7489 -0.2991 -vn -0.5932 0.7445 -0.3063 -vn 0.3653 0.8833 -0.2938 -vn -0.3714 0.8685 -0.3284 -vn 0.2760 0.9159 -0.2915 -vn -0.2760 0.9159 -0.2915 -vn 0.7964 0.1323 -0.5901 -vn -0.8873 0.1343 -0.4412 -vn 0.5442 -0.7524 -0.3712 -vn -0.5442 -0.7524 -0.3712 -vn 0.4027 -0.7323 -0.5492 -vn -0.4027 -0.7323 -0.5492 -vn 0.1649 -0.6644 -0.7289 -vn -0.3617 -0.3858 -0.8487 -vn 0.3011 -0.0125 -0.9535 -vn -0.1952 -0.0976 -0.9759 -vn 0.2562 -0.3112 -0.9152 -vn 0.0107 -0.5633 -0.8262 -vn 0.0779 -0.9948 -0.0663 -vn -0.0779 -0.9948 -0.0663 -vn 0.1094 -0.9718 -0.2089 -vn -0.1094 -0.9718 -0.2089 -vn 0.8150 -0.5621 -0.1405 -vn -0.8150 -0.5621 -0.1405 -vn 0.9358 0.1396 -0.3236 -vn -0.9358 0.1396 -0.3236 -vn 0.1132 -0.0274 -0.9932 -vn -0.1132 -0.0274 -0.9932 -vn -0.1497 -0.3635 -0.9195 -vn -0.1211 -0.0530 -0.9912 -vn 0.3706 -0.6780 -0.6349 -vn -0.9094 0.1371 -0.3927 -vn 0.9193 0.1393 -0.3682 -vn -0.9193 0.1393 -0.3682 -vn 0.9457 0.2673 -0.1850 -vn -0.9173 0.3440 -0.2007 -vn 0.9337 0.2813 -0.2215 -vn -0.9004 0.3642 -0.2380 -vn 0.9501 0.2455 -0.1922 -vn -0.8945 0.4337 0.1084 -vn 0.1835 -0.7864 -0.5898 -vn -0.1596 -0.9577 -0.2394 -vn 0.3727 -0.4759 -0.7966 -vn -0.3693 -0.4712 -0.8010 -vn 0.3263 -0.8342 -0.4446 -vn -0.2986 -0.8236 -0.4821 -vn 0.2620 -0.9574 -0.1217 -vn -0.2620 -0.9574 -0.1217 -vn 0.2996 -0.9443 -0.1362 -vn -0.2996 -0.9443 -0.1362 -vn 0.8642 -0.4737 0.1696 -vn -0.8305 0.3333 -0.4463 -vn 0.6869 -0.6358 0.3521 -vn -0.6869 -0.6358 0.3521 -vn 0.4189 -0.2265 -0.8793 -vn -0.2950 -0.0454 -0.9544 -vn 0.1119 0.9626 0.2468 -vn -0.1272 0.9658 0.2260 -vn 0.1208 0.9734 -0.1947 -vn -0.1208 0.9734 -0.1947 -vn 0.3140 0.5711 -0.7585 -vn -0.3140 0.5711 -0.7585 -vn 0.3231 0.9288 -0.1817 -vn -0.3231 0.9288 -0.1817 -vn 0.0452 0.7955 0.6043 -vn -0.0452 0.7955 0.6043 -vn 0.6144 0.7696 0.1738 -vn -0.6144 0.7696 0.1738 -vn 0.6935 0.6857 -0.2212 -vn -0.6935 0.6857 -0.2212 -vn 0.6304 0.2517 -0.7343 -vn -0.7104 0.1364 -0.6904 -vn 0.3179 0.5704 -0.7574 -vn -0.3179 0.5704 -0.7574 -vn 0.6289 0.7624 -0.1525 -vn -0.6289 0.7624 -0.1525 -vn 0.7088 0.6833 0.1752 -vn -0.7088 0.6833 0.1752 -vn 0.6885 0.3830 0.6158 -vn -0.6885 0.3830 0.6158 -vn 0.3238 0.9434 -0.0720 -vn -0.3669 0.8840 -0.2898 -vn 0.1548 0.5080 0.8473 -vn -0.2854 0.6237 0.7277 -vn -0.1782 0.0891 -0.9800 -vn 0.1702 0.1097 -0.9793 -vn -0.2638 0.9462 -0.1871 -vn 0.2638 0.9462 -0.1871 -vn 0.9340 0.2255 0.2773 -vn -0.8681 0.0893 -0.4883 -vn 0.9758 0.1241 0.1800 -vn -0.9758 0.1241 0.1800 -vn 0.9613 0.1472 -0.2330 -vn -0.9613 0.1472 -0.2330 -vn 0.9956 0.0893 -0.0288 -vn -0.9817 -0.0304 -0.1882 -vn 0.6374 -0.7651 0.0915 -vn -0.7466 -0.6646 0.0285 -vn 0.3720 -0.9244 0.0845 -vn -0.3723 -0.9243 0.0847 -vn 0.5281 -0.8354 0.1522 -vn -0.5281 -0.8354 0.1522 -vn 0.3070 -0.5237 0.7946 -vn -0.3070 -0.5237 0.7946 -vn 0.5236 -0.3290 -0.7859 -vn -0.5881 -0.3070 -0.7483 -vn 0.5396 -0.3343 -0.7727 -vn -0.4694 -0.2400 -0.8498 -vn 0.2144 -0.8341 -0.5082 -vn -0.4463 -0.8452 -0.2941 -vn 0.7365 -0.6154 -0.2808 -vn -0.6973 -0.6610 -0.2771 -vn 0.3244 0.4867 0.8111 -vn -0.3691 0.2855 0.8844 -vn 0.4649 0.2593 0.8465 -vn -0.4649 0.2593 0.8465 -vn 0.1817 -0.0079 0.9833 -vn -0.3188 0.1993 0.9266 -vn 0.2925 -0.0758 0.9533 -vn -0.2076 -0.0836 0.9746 -vn 0.5847 -0.2198 0.7809 -vn -0.3398 0.0824 0.9369 -vn 0.6509 -0.1939 0.7340 -vn -0.6509 -0.1939 0.7340 -vn 0.4075 0.7506 0.5201 -vn -0.4075 0.7506 0.5201 -vn -0.2655 0.8296 0.4911 -vn 0.2655 0.8296 0.4911 -vn -0.7885 0.2366 0.5677 -vn 0.8576 0.2223 0.4637 -vn -0.5242 -0.3548 0.7742 -vn 0.5257 -0.3579 0.7717 -vn 0.4390 -0.5252 0.7290 -vn -0.4663 -0.5991 0.6509 -vn 0.6888 -0.4428 0.5740 -vn -0.6888 -0.4428 0.5740 -vn 0.6302 -0.7658 0.1282 -vn -0.7507 -0.6131 -0.2461 -vn -0.2175 0.2733 0.9370 -vn 0.1788 0.2923 0.9395 -vn 0.9046 -0.3869 -0.1792 -vn -0.9046 -0.3869 -0.1792 -vn 0.1782 -0.0891 0.9800 -vn -0.1782 -0.0891 0.9800 -vn -0.2335 0.8972 0.3749 -vn 0.2335 0.8972 0.3749 -vn 0.7177 0.1689 0.6755 -vn -0.4480 -0.4480 0.7737 -vn 0.5313 0.5844 0.6134 -vn -0.5313 0.5844 0.6134 -vn 0.9008 -0.4075 0.1501 -vn -0.5534 -0.5534 0.6225 -vn 0.5815 -0.5217 0.6243 -vn -0.5724 -0.3122 0.7582 -vn 0.6138 -0.2571 0.7465 -vn -0.5597 -0.5533 0.6169 -vn 0.1712 -0.0934 0.9808 -vn -0.9551 -0.1636 -0.2470 -vn 0.8717 -0.4446 -0.2063 -vn -0.9227 -0.3765 -0.0825 -vn 0.7661 -0.6363 0.0909 -vn -0.7661 -0.6363 0.0909 -vn 0.7930 -0.5947 0.1322 -vn -0.7815 -0.6176 0.0882 -vn 0.2408 0.9631 -0.1204 -vn -0.1240 0.9921 0.0207 -vn 0.9251 0.3469 0.1542 -vn -0.9435 0.3145 0.1048 -vn 0.7071 -0.7071 -0.0000 -vn -0.7071 -0.7071 -0.0000 -vn -0.0157 0.9898 0.1414 -vn 0.0157 0.9898 0.1414 -vn 0.6266 -0.7211 0.2956 -vn -0.6266 -0.7211 0.2956 -vn 0.2714 -0.9022 0.3353 -vn -0.2714 -0.9022 0.3353 -vn -0.8651 -0.4853 -0.1266 -vn 0.8651 -0.4853 -0.1266 -vn -0.8538 0.2328 -0.4657 -vn 0.8096 0.2429 -0.5343 -vn -0.5433 0.6985 -0.4657 -vn 0.5621 0.8231 -0.0803 -vn -0.1096 0.9939 -0.0157 -vn 0.0071 0.9899 0.1414 -vn 0.1738 0.0097 0.9847 -vn -0.1046 0.0392 0.9937 -vn 0.4134 0.0413 0.9096 -vn -0.2461 0.0852 0.9655 -vn 0.3228 -0.0461 0.9453 -vn -0.3228 -0.0461 0.9453 -vn 0.1220 0.0458 0.9915 -vn -0.2104 0.0124 0.9775 -vn 0.5679 0.1916 0.8005 -vn -0.5679 0.1916 0.8005 -vn 0.4244 -0.0320 0.9049 -vn -0.3787 -0.0364 0.9248 -vn 0.2570 0.0723 0.9637 -vn -0.2530 -0.1897 0.9487 -vn 0.1351 -0.0225 0.9906 -vn -0.1351 -0.0225 0.9906 -vn -0.2981 0.7454 0.5963 -vn 0.4870 0.6088 0.6262 -vn 0.5571 -0.1486 0.8171 -vn -0.5571 -0.1486 0.8171 -vn 0.4723 -0.1986 0.8588 -vn -0.4388 -0.2008 0.8759 -vn 0.2975 -0.4062 0.8640 -vn -0.5786 -0.1334 0.8046 -vn 0.5771 0.2164 0.7875 -vn -0.5771 0.2164 0.7875 -vn 0.0931 -0.9932 -0.0692 -vn -0.0931 -0.9932 -0.0692 -vn 0.5161 -0.8527 -0.0812 -vn -0.5161 -0.8527 -0.0812 -vn 0.9264 -0.2460 0.2851 -vn -0.9309 -0.2541 0.2624 -vn 0.8267 0.5627 -0.0035 -vn -0.8465 0.5291 -0.0595 -vn -0.2146 0.9243 -0.3157 -vn 0.2511 0.9439 -0.2145 -vn -0.4196 0.8851 -0.2012 -vn 0.4841 0.8743 -0.0361 -vn -0.5470 -0.0144 -0.8370 -vn 0.5256 -0.0030 -0.8507 -vn -0.2556 -0.0749 -0.9639 -vn 0.2556 -0.0749 -0.9639 -vn -0.7330 0.6786 0.0472 -vn 0.8073 0.5901 0.0041 -vn 0.6844 -0.1711 -0.7088 -vn -0.6844 -0.1711 -0.7088 -vn -0.3604 -0.8283 -0.4290 -vn 0.3604 -0.8283 -0.4290 +v 0.437500 -0.765625 0.164062 +v -0.437500 -0.765625 0.164062 +v 0.500000 -0.687500 0.093750 +v -0.500000 -0.687500 0.093750 +v 0.546875 -0.578125 0.054687 +v -0.546875 -0.578125 0.054687 +v 0.351562 -0.617188 -0.023438 +v -0.351562 -0.617188 -0.023438 +v 0.351562 -0.718750 0.031250 +v -0.351562 -0.718750 0.031250 +v 0.351562 -0.781250 0.132812 +v -0.351562 -0.781250 0.132812 +v 0.273438 -0.796875 0.164062 +v -0.273438 -0.796875 0.164062 +v 0.203125 -0.742188 0.093750 +v -0.203125 -0.742188 0.093750 +v 0.156250 -0.648438 0.054687 +v -0.156250 -0.648438 0.054687 +v 0.078125 -0.656250 0.242187 +v -0.078125 -0.656250 0.242187 +v 0.140625 -0.742188 0.242187 +v -0.140625 -0.742188 0.242187 +v 0.242188 -0.796875 0.242187 +v -0.242188 -0.796875 0.242187 +v 0.273438 -0.796875 0.328125 +v -0.273438 -0.796875 0.328125 +v 0.203125 -0.742188 0.390625 +v -0.203125 -0.742188 0.390625 +v 0.156250 -0.648438 0.437500 +v -0.156250 -0.648438 0.437500 +v 0.351562 -0.617188 0.515625 +v -0.351562 -0.617188 0.515625 +v 0.351562 -0.718750 0.453125 +v -0.351562 -0.718750 0.453125 +v 0.351562 -0.781250 0.359375 +v -0.351562 -0.781250 0.359375 +v 0.437500 -0.765625 0.328125 +v -0.437500 -0.765625 0.328125 +v 0.500000 -0.687500 0.390625 +v -0.500000 -0.687500 0.390625 +v 0.546875 -0.578125 0.437500 +v -0.546875 -0.578125 0.437500 +v 0.625000 -0.562500 0.242187 +v -0.625000 -0.562500 0.242187 +v 0.562500 -0.671875 0.242187 +v -0.562500 -0.671875 0.242187 +v 0.468750 -0.757812 0.242187 +v -0.468750 -0.757812 0.242187 +v 0.476562 -0.773438 0.242187 +v -0.476562 -0.773438 0.242187 +v 0.445312 -0.781250 0.335937 +v -0.445312 -0.781250 0.335937 +v 0.351562 -0.804688 0.375000 +v -0.351562 -0.804688 0.375000 +v 0.265625 -0.820312 0.335937 +v -0.265625 -0.820312 0.335937 +v 0.226562 -0.820312 0.242187 +v -0.226562 -0.820312 0.242187 +v 0.265625 -0.820312 0.156250 +v -0.265625 -0.820312 0.156250 +v 0.351562 -0.828125 0.242187 +v -0.351562 -0.828125 0.242187 +v 0.351562 -0.804688 0.117187 +v -0.351562 -0.804688 0.117187 +v 0.445312 -0.781250 0.156250 +v -0.445312 -0.781250 0.156250 +v 0.000000 -0.742188 0.429687 +v 0.000000 -0.820312 0.351562 +v 0.000000 -0.734375 -0.679688 +v 0.000000 -0.781250 -0.320313 +v 0.000000 -0.796875 -0.187500 +v 0.000000 -0.718750 -0.773438 +v 0.000000 -0.601562 0.406250 +v 0.000000 -0.570312 0.570312 +v 0.000000 0.546875 0.898438 +v 0.000000 0.851562 0.562500 +v 0.000000 0.828125 0.070313 +v 0.000000 0.351563 -0.382812 +v 0.203125 -0.562500 -0.187500 +v -0.203125 -0.562500 -0.187500 +v 0.312500 -0.570312 -0.437500 +v -0.312500 -0.570312 -0.437500 +v 0.351562 -0.570312 -0.695312 +v -0.351562 -0.570312 -0.695312 +v 0.367188 -0.531250 -0.890625 +v -0.367188 -0.531250 -0.890625 +v 0.328125 -0.523437 -0.945312 +v -0.328125 -0.523437 -0.945312 +v 0.179688 -0.554687 -0.968750 +v -0.179688 -0.554687 -0.968750 +v 0.000000 -0.578125 -0.984375 +v 0.437500 -0.531250 -0.140625 +v -0.437500 -0.531250 -0.140625 +v 0.632812 -0.539062 -0.039063 +v -0.632812 -0.539062 -0.039063 +v 0.828125 -0.445312 0.148437 +v -0.828125 -0.445312 0.148437 +v 0.859375 -0.593750 0.429687 +v -0.859375 -0.593750 0.429687 +v 0.710938 -0.625000 0.484375 +v -0.710938 -0.625000 0.484375 +v 0.492188 -0.687500 0.601562 +v -0.492188 -0.687500 0.601562 +v 0.320312 -0.734375 0.757812 +v -0.320312 -0.734375 0.757812 +v 0.156250 -0.757813 0.718750 +v -0.156250 -0.757813 0.718750 +v 0.062500 -0.750000 0.492187 +v -0.062500 -0.750000 0.492187 +v 0.164062 -0.773438 0.414062 +v -0.164062 -0.773438 0.414062 +v 0.125000 -0.765625 0.304687 +v -0.125000 -0.765625 0.304687 +v 0.203125 -0.742188 0.093750 +v -0.203125 -0.742188 0.093750 +v 0.375000 -0.703125 0.015625 +v -0.375000 -0.703125 0.015625 +v 0.492188 -0.671875 0.062500 +v -0.492188 -0.671875 0.062500 +v 0.625000 -0.648438 0.187500 +v -0.625000 -0.648438 0.187500 +v 0.640625 -0.648438 0.296875 +v -0.640625 -0.648438 0.296875 +v 0.601562 -0.664062 0.375000 +v -0.601562 -0.664062 0.375000 +v 0.429688 -0.718750 0.437500 +v -0.429688 -0.718750 0.437500 +v 0.250000 -0.757812 0.468750 +v -0.250000 -0.757812 0.468750 +v 0.000000 -0.734375 -0.765625 +v 0.109375 -0.734375 -0.718750 +v -0.109375 -0.734375 -0.718750 +v 0.117188 -0.710937 -0.835938 +v -0.117188 -0.710937 -0.835938 +v 0.062500 -0.695312 -0.882813 +v -0.062500 -0.695312 -0.882813 +v 0.000000 -0.687500 -0.890625 +v 0.000000 -0.750000 -0.195313 +v 0.000000 -0.742188 -0.140625 +v 0.101562 -0.742188 -0.148438 +v -0.101562 -0.742188 -0.148438 +v 0.125000 -0.750000 -0.226563 +v -0.125000 -0.750000 -0.226563 +v 0.085938 -0.742188 -0.289063 +v -0.085938 -0.742188 -0.289063 +v 0.398438 -0.671875 -0.046875 +v -0.398438 -0.671875 -0.046875 +v 0.617188 -0.625000 0.054687 +v -0.617188 -0.625000 0.054687 +v 0.726562 -0.601562 0.203125 +v -0.726562 -0.601562 0.203125 +v 0.742188 -0.656250 0.375000 +v -0.742188 -0.656250 0.375000 +v 0.687500 -0.726562 0.414062 +v -0.687500 -0.726562 0.414062 +v 0.437500 -0.796875 0.546875 +v -0.437500 -0.796875 0.546875 +v 0.312500 -0.835938 0.640625 +v -0.312500 -0.835938 0.640625 +v 0.203125 -0.851562 0.617187 +v -0.203125 -0.851562 0.617187 +v 0.101562 -0.843750 0.429687 +v -0.101562 -0.843750 0.429687 +v 0.125000 -0.812500 -0.101563 +v -0.125000 -0.812500 -0.101563 +v 0.210938 -0.710938 -0.445313 +v -0.210938 -0.710938 -0.445313 +v 0.250000 -0.687500 -0.703125 +v -0.250000 -0.687500 -0.703125 +v 0.265625 -0.664062 -0.820312 +v -0.265625 -0.664062 -0.820312 +v 0.234375 -0.632812 -0.914062 +v -0.234375 -0.632812 -0.914062 +v 0.164062 -0.632812 -0.929688 +v -0.164062 -0.632812 -0.929688 +v 0.000000 -0.640625 -0.945312 +v 0.000000 -0.726562 0.046875 +v 0.000000 -0.765625 0.210937 +v 0.328125 -0.742188 0.476562 +v -0.328125 -0.742188 0.476562 +v 0.164062 -0.750000 0.140625 +v -0.164062 -0.750000 0.140625 +v 0.132812 -0.757812 0.210937 +v -0.132812 -0.757812 0.210937 +v 0.117188 -0.734375 -0.687500 +v -0.117188 -0.734375 -0.687500 +v 0.078125 -0.750000 -0.445313 +v -0.078125 -0.750000 -0.445313 +v 0.000000 -0.750000 -0.445313 +v 0.000000 -0.742188 -0.328125 +v 0.093750 -0.781250 -0.273438 +v -0.093750 -0.781250 -0.273438 +v 0.132812 -0.796875 -0.226563 +v -0.132812 -0.796875 -0.226563 +v 0.109375 -0.781250 -0.132813 +v -0.109375 -0.781250 -0.132813 +v 0.039062 -0.781250 -0.125000 +v -0.039062 -0.781250 -0.125000 +v 0.000000 -0.828125 -0.203125 +v 0.046875 -0.812500 -0.148438 +v -0.046875 -0.812500 -0.148438 +v 0.093750 -0.812500 -0.156250 +v -0.093750 -0.812500 -0.156250 +v 0.109375 -0.828125 -0.226563 +v -0.109375 -0.828125 -0.226563 +v 0.078125 -0.804688 -0.250000 +v -0.078125 -0.804688 -0.250000 +v 0.000000 -0.804688 -0.289063 +v 0.257812 -0.554688 -0.312500 +v -0.257812 -0.554688 -0.312500 +v 0.164062 -0.710938 -0.242188 +v -0.164062 -0.710938 -0.242188 +v 0.179688 -0.710938 -0.312500 +v -0.179688 -0.710938 -0.312500 +v 0.234375 -0.554688 -0.250000 +v -0.234375 -0.554688 -0.250000 +v 0.000000 -0.687500 -0.875000 +v 0.046875 -0.687500 -0.867188 +v -0.046875 -0.687500 -0.867188 +v 0.093750 -0.710937 -0.820313 +v -0.093750 -0.710937 -0.820313 +v 0.093750 -0.726562 -0.742188 +v -0.093750 -0.726562 -0.742188 +v 0.000000 -0.656250 -0.781250 +v 0.093750 -0.664062 -0.750000 +v -0.093750 -0.664062 -0.750000 +v 0.093750 -0.640625 -0.812500 +v -0.093750 -0.640625 -0.812500 +v 0.046875 -0.632812 -0.851562 +v -0.046875 -0.632812 -0.851562 +v 0.000000 -0.632812 -0.859375 +v 0.171875 -0.781250 0.218750 +v -0.171875 -0.781250 0.218750 +v 0.187500 -0.773438 0.156250 +v -0.187500 -0.773438 0.156250 +v 0.335938 -0.757812 0.429687 +v -0.335938 -0.757812 0.429687 +v 0.273438 -0.773438 0.421875 +v -0.273438 -0.773438 0.421875 +v 0.421875 -0.773438 0.398437 +v -0.421875 -0.773438 0.398437 +v 0.562500 -0.695312 0.351562 +v -0.562500 -0.695312 0.351562 +v 0.585938 -0.687500 0.289062 +v -0.585938 -0.687500 0.289062 +v 0.578125 -0.679688 0.195312 +v -0.578125 -0.679688 0.195312 +v 0.476562 -0.718750 0.101562 +v -0.476562 -0.718750 0.101562 +v 0.375000 -0.742188 0.062500 +v -0.375000 -0.742188 0.062500 +v 0.226562 -0.781250 0.109375 +v -0.226562 -0.781250 0.109375 +v 0.179688 -0.781250 0.296875 +v -0.179688 -0.781250 0.296875 +v 0.210938 -0.781250 0.375000 +v -0.210938 -0.781250 0.375000 +v 0.234375 -0.757812 0.359375 +v -0.234375 -0.757812 0.359375 +v 0.195312 -0.757812 0.296875 +v -0.195312 -0.757812 0.296875 +v 0.242188 -0.757812 0.125000 +v -0.242188 -0.757812 0.125000 +v 0.375000 -0.726562 0.085937 +v -0.375000 -0.726562 0.085937 +v 0.460938 -0.703125 0.117187 +v -0.460938 -0.703125 0.117187 +v 0.546875 -0.671875 0.210937 +v -0.546875 -0.671875 0.210937 +v 0.554688 -0.671875 0.281250 +v -0.554688 -0.671875 0.281250 +v 0.531250 -0.679688 0.335937 +v -0.531250 -0.679688 0.335937 +v 0.414062 -0.750000 0.390625 +v -0.414062 -0.750000 0.390625 +v 0.281250 -0.765625 0.398437 +v -0.281250 -0.765625 0.398437 +v 0.335938 -0.750000 0.406250 +v -0.335938 -0.750000 0.406250 +v 0.203125 -0.750000 0.171875 +v -0.203125 -0.750000 0.171875 +v 0.195312 -0.750000 0.226562 +v -0.195312 -0.750000 0.226562 +v 0.109375 -0.609375 0.460937 +v -0.109375 -0.609375 0.460937 +v 0.195312 -0.617188 0.664062 +v -0.195312 -0.617188 0.664062 +v 0.335938 -0.593750 0.687500 +v -0.335938 -0.593750 0.687500 +v 0.484375 -0.554688 0.554688 +v -0.484375 -0.554688 0.554688 +v 0.679688 -0.492188 0.453125 +v -0.679688 -0.492188 0.453125 +v 0.796875 -0.460938 0.406250 +v -0.796875 -0.460938 0.406250 +v 0.773438 -0.375000 0.164062 +v -0.773438 -0.375000 0.164062 +v 0.601562 -0.414062 -0.000000 +v -0.601562 -0.414062 -0.000000 +v 0.437500 -0.468750 -0.093750 +v -0.437500 -0.468750 -0.093750 +v 0.000000 -0.289063 0.898438 +v 0.000000 0.078125 0.984375 +v 0.000000 0.671875 -0.195312 +v 0.000000 -0.187500 -0.460938 +v 0.000000 -0.460937 -0.976562 +v 0.000000 -0.343750 -0.804688 +v 0.000000 -0.320312 -0.570312 +v 0.000000 -0.281250 -0.484375 +v 0.851562 -0.054688 0.234375 +v -0.851562 -0.054688 0.234375 +v 0.859375 0.046875 0.320312 +v -0.859375 0.046875 0.320312 +v 0.773438 0.437500 0.265625 +v -0.773438 0.437500 0.265625 +v 0.460938 0.703125 0.437500 +v -0.460938 0.703125 0.437500 +v 0.734375 -0.070312 -0.046875 +v -0.734375 -0.070312 -0.046875 +v 0.593750 0.164062 -0.125000 +v -0.593750 0.164062 -0.125000 +v 0.640625 0.429688 -0.007812 +v -0.640625 0.429688 -0.007812 +v 0.335938 0.664062 0.054688 +v -0.335938 0.664062 0.054688 +v 0.234375 -0.406250 -0.351563 +v -0.234375 -0.406250 -0.351563 +v 0.179688 -0.257812 -0.414062 +v -0.179688 -0.257812 -0.414062 +v 0.289062 -0.382812 -0.710938 +v -0.289062 -0.382812 -0.710938 +v 0.250000 -0.390625 -0.500000 +v -0.250000 -0.390625 -0.500000 +v 0.328125 -0.398437 -0.914062 +v -0.328125 -0.398437 -0.914062 +v 0.140625 -0.367187 -0.757812 +v -0.140625 -0.367187 -0.757812 +v 0.125000 -0.359375 -0.539062 +v -0.125000 -0.359375 -0.539062 +v 0.164062 -0.437500 -0.945312 +v -0.164062 -0.437500 -0.945312 +v 0.218750 -0.429688 -0.281250 +v -0.218750 -0.429688 -0.281250 +v 0.210938 -0.468750 -0.226563 +v -0.210938 -0.468750 -0.226563 +v 0.203125 -0.500000 -0.171875 +v -0.203125 -0.500000 -0.171875 +v 0.210938 -0.164062 -0.390625 +v -0.210938 -0.164062 -0.390625 +v 0.296875 0.265625 -0.312500 +v -0.296875 0.265625 -0.312500 +v 0.343750 0.539062 -0.148437 +v -0.343750 0.539062 -0.148437 +v 0.453125 0.382812 0.867188 +v -0.453125 0.382812 0.867188 +v 0.453125 0.070312 0.929688 +v -0.453125 0.070312 0.929688 +v 0.453125 -0.234375 0.851562 +v -0.453125 -0.234375 0.851562 +v 0.460938 -0.429688 0.523438 +v -0.460938 -0.429688 0.523438 +v 0.726562 -0.335938 0.406250 +v -0.726562 -0.335938 0.406250 +v 0.632812 -0.281250 0.453125 +v -0.632812 -0.281250 0.453125 +v 0.640625 -0.054688 0.703125 +v -0.640625 -0.054688 0.703125 +v 0.796875 -0.125000 0.562500 +v -0.796875 -0.125000 0.562500 +v 0.796875 0.117187 0.617188 +v -0.796875 0.117187 0.617188 +v 0.640625 0.195312 0.750000 +v -0.640625 0.195312 0.750000 +v 0.640625 0.445312 0.679688 +v -0.640625 0.445312 0.679688 +v 0.796875 0.359375 0.539062 +v -0.796875 0.359375 0.539062 +v 0.617188 0.585938 0.328125 +v -0.617188 0.585938 0.328125 +v 0.484375 0.546875 0.023438 +v -0.484375 0.546875 0.023438 +v 0.820312 0.203125 0.328125 +v -0.820312 0.203125 0.328125 +v 0.406250 -0.148437 -0.171875 +v -0.406250 -0.148437 -0.171875 +v 0.429688 0.210938 -0.195312 +v -0.429688 0.210938 -0.195312 +v 0.890625 0.234375 0.406250 +v -0.890625 0.234375 0.406250 +v 0.773438 0.125000 -0.140625 +v -0.773438 0.125000 -0.140625 +v 1.039062 0.328125 -0.101562 +v -1.039062 0.328125 -0.101562 +v 1.281250 0.429688 0.054688 +v -1.281250 0.429688 0.054688 +v 1.351562 0.421875 0.320313 +v -1.351562 0.421875 0.320313 +v 1.234375 0.421875 0.507812 +v -1.234375 0.421875 0.507812 +v 1.023438 0.312500 0.476562 +v -1.023438 0.312500 0.476562 +v 1.015625 0.289062 0.414062 +v -1.015625 0.289062 0.414062 +v 1.187500 0.390625 0.437500 +v -1.187500 0.390625 0.437500 +v 1.265625 0.406250 0.289063 +v -1.265625 0.406250 0.289063 +v 1.210938 0.406250 0.078125 +v -1.210938 0.406250 0.078125 +v 1.031250 0.304688 -0.039062 +v -1.031250 0.304688 -0.039062 +v 0.828125 0.132812 -0.070312 +v -0.828125 0.132812 -0.070312 +v 0.921875 0.218750 0.359375 +v -0.921875 0.218750 0.359375 +v 0.945312 0.289062 0.304688 +v -0.945312 0.289062 0.304688 +v 0.882812 0.210938 -0.023437 +v -0.882812 0.210938 -0.023437 +v 1.039062 0.367188 0.000000 +v -1.039062 0.367188 0.000000 +v 1.187500 0.445312 0.093750 +v -1.187500 0.445312 0.093750 +v 1.234375 0.445312 0.250000 +v -1.234375 0.445312 0.250000 +v 1.171875 0.437500 0.359375 +v -1.171875 0.437500 0.359375 +v 1.023438 0.359375 0.343750 +v -1.023438 0.359375 0.343750 +v 0.843750 0.210937 0.289062 +v -0.843750 0.210937 0.289062 +v 0.835938 0.273438 0.171875 +v -0.835938 0.273438 0.171875 +v 0.757812 0.273438 0.093750 +v -0.757812 0.273438 0.093750 +v 0.820312 0.273438 0.085938 +v -0.820312 0.273438 0.085938 +v 0.843750 0.273438 0.015625 +v -0.843750 0.273438 0.015625 +v 0.812500 0.273438 -0.015625 +v -0.812500 0.273438 -0.015625 +v 0.726562 0.070312 0.000000 +v -0.726562 0.070312 0.000000 +v 0.718750 0.171875 -0.023437 +v -0.718750 0.171875 -0.023437 +v 0.718750 0.187500 0.039063 +v -0.718750 0.187500 0.039063 +v 0.796875 0.210937 0.203125 +v -0.796875 0.210937 0.203125 +v 0.890625 0.265625 0.242188 +v -0.890625 0.265625 0.242188 +v 0.890625 0.320312 0.234375 +v -0.890625 0.320312 0.234375 +v 0.812500 0.320312 -0.015625 +v -0.812500 0.320312 -0.015625 +v 0.851562 0.320312 0.015625 +v -0.851562 0.320312 0.015625 +v 0.828125 0.320312 0.078125 +v -0.828125 0.320312 0.078125 +v 0.765625 0.320312 0.093750 +v -0.765625 0.320312 0.093750 +v 0.843750 0.320312 0.171875 +v -0.843750 0.320312 0.171875 +v 1.039062 0.414062 0.328125 +v -1.039062 0.414062 0.328125 +v 1.187500 0.484375 0.343750 +v -1.187500 0.484375 0.343750 +v 1.257812 0.492188 0.242188 +v -1.257812 0.492188 0.242188 +v 1.210938 0.484375 0.085938 +v -1.210938 0.484375 0.085938 +v 1.046875 0.421875 0.000000 +v -1.046875 0.421875 0.000000 +v 0.882812 0.265625 -0.015625 +v -0.882812 0.265625 -0.015625 +v 0.953125 0.343750 0.289063 +v -0.953125 0.343750 0.289063 +v 0.890625 0.328125 0.109375 +v -0.890625 0.328125 0.109375 +v 0.937500 0.335938 0.062500 +v -0.937500 0.335938 0.062500 +v 1.000000 0.367188 0.125000 +v -1.000000 0.367188 0.125000 +v 0.960938 0.351562 0.171875 +v -0.960938 0.351562 0.171875 +v 1.015625 0.375000 0.234375 +v -1.015625 0.375000 0.234375 +v 1.054688 0.382812 0.187500 +v -1.054688 0.382812 0.187500 +v 1.109375 0.390625 0.210938 +v -1.109375 0.390625 0.210938 +v 1.085938 0.390625 0.273438 +v -1.085938 0.390625 0.273438 +v 1.023438 0.484375 0.437500 +v -1.023438 0.484375 0.437500 +v 1.250000 0.546875 0.468750 +v -1.250000 0.546875 0.468750 +v 1.367188 0.500000 0.296875 +v -1.367188 0.500000 0.296875 +v 1.312500 0.531250 0.054688 +v -1.312500 0.531250 0.054688 +v 1.039062 0.492188 -0.085937 +v -1.039062 0.492188 -0.085937 +v 0.789062 0.328125 -0.125000 +v -0.789062 0.328125 -0.125000 +v 0.859375 0.382812 0.382813 +v -0.859375 0.382812 0.382813 vt 0.890955 0.590063 vt 0.860081 0.560115 vt 0.904571 0.559404 @@ -2006,7 +1065,949 @@ vt 0.755700 0.418603 vt 0.825107 0.209762 vt 0.488870 0.770464 vt 0.834578 0.206879 -s 0 +vn 0.6617 -0.7219 -0.2026 +vn -0.6617 -0.7219 -0.2026 +vn 0.8268 -0.4725 -0.3051 +vn -0.8268 -0.4725 -0.3051 +vn 0.4076 -0.4570 -0.7905 +vn -0.4076 -0.4570 -0.7905 +vn 0.3791 -0.7679 -0.5163 +vn -0.3791 -0.7679 -0.5163 +vn -0.0859 -0.8485 -0.5222 +vn 0.0859 -0.8485 -0.5222 +vn -0.2664 -0.4570 -0.8487 +vn 0.2664 -0.4570 -0.8487 +vn -0.7824 -0.5285 -0.3294 +vn 0.7606 -0.5531 -0.3400 +vn -0.4767 -0.8581 -0.1907 +vn 0.4649 -0.8634 -0.1958 +vn -0.4649 -0.8634 0.1958 +vn 0.4649 -0.8634 0.1958 +vn -0.7656 -0.5568 0.3223 +vn 0.7683 -0.5488 0.3293 +vn -0.2560 -0.5317 0.8073 +vn 0.2487 -0.5076 0.8249 +vn -0.0821 -0.7940 0.6023 +vn 0.1017 -0.8277 0.5518 +vn 0.3329 -0.7846 0.5231 +vn -0.3861 -0.7445 0.5446 +vn 0.4246 -0.4745 0.7711 +vn -0.4059 -0.5014 0.7641 +vn 0.8251 -0.4808 0.2968 +vn -0.8299 -0.4742 0.2940 +vn 0.6888 -0.7005 0.1868 +vn -0.6617 -0.7219 0.2026 +vn 0.8400 0.4200 0.3436 +vn -0.7816 0.5437 0.3058 +vn 0.2074 0.5185 0.8296 +vn -0.2037 0.5431 0.8146 +vn -0.4056 0.5070 0.7605 +vn 0.4381 0.4123 0.7988 +vn -0.8642 0.3928 0.3143 +vn 0.7861 0.5241 0.3276 +vn -0.7782 0.5188 -0.3537 +vn 0.7782 0.5188 -0.3537 +vn -0.4381 0.4123 -0.7988 +vn 0.4381 0.4123 -0.7988 +vn 0.2037 0.5431 -0.8146 +vn -0.2037 0.5431 -0.8146 +vn 0.7683 0.5488 -0.3293 +vn -0.7683 0.5488 -0.3293 +vn 0.4000 -0.9144 -0.0623 +vn -0.4000 -0.9144 -0.0623 +vn 0.3069 -0.9354 -0.1754 +vn -0.3069 -0.9354 -0.1754 +vn 0.0945 -0.9785 -0.1835 +vn -0.0945 -0.9785 -0.1835 +vn -0.0624 -0.9977 -0.0283 +vn 0.0624 -0.9977 -0.0283 +vn -0.0624 -0.9977 0.0260 +vn 0.0624 -0.9977 0.0260 +vn 0.0996 -0.9799 0.1729 +vn -0.0996 -0.9799 0.1729 +vn 0.3036 -0.9383 0.1656 +vn -0.3036 -0.9383 0.1656 +vn 0.4002 -0.9147 0.0572 +vn -0.4002 -0.9147 0.0572 +vn 0.1367 -0.4648 -0.8748 +vn -0.1054 -0.5270 -0.8433 +vn 0.2303 -0.4447 -0.8656 +vn -0.1916 -0.4693 -0.8620 +vn 0.5788 -0.6404 -0.5049 +vn -0.5788 -0.6404 -0.5049 +vn 0.7763 -0.6272 -0.0633 +vn -0.7763 -0.6272 -0.0633 +vn 0.7471 -0.6550 0.1132 +vn -0.7471 -0.6550 0.1132 +vn 0.3747 -0.4040 -0.8345 +vn -0.3747 -0.4040 -0.8345 +vn 0.3557 -0.5848 -0.7290 +vn -0.4177 -0.7034 -0.5751 +vn 0.6947 -0.5841 -0.4197 +vn -0.6947 -0.5841 -0.4197 +vn 0.7028 -0.5939 -0.3915 +vn -0.5537 -0.7777 -0.2978 +vn 0.3127 -0.8860 0.3425 +vn -0.8227 -0.4395 0.3606 +vn 0.5091 -0.5663 0.6482 +vn -0.5041 -0.5745 0.6448 +vn 0.5977 -0.5771 0.5565 +vn -0.5977 -0.5771 0.5565 +vn -0.0486 -0.7532 0.6560 +vn 0.0371 -0.7428 0.6685 +vn -0.7104 -0.6494 0.2715 +vn 0.7386 -0.5590 0.3768 +vn -0.6013 -0.6013 0.5262 +vn 0.5774 -0.5774 0.5774 +vn 0.5070 -0.5903 -0.6281 +vn -0.5364 -0.7797 -0.3230 +vn 0.2226 -0.8545 -0.4694 +vn -0.2226 -0.8545 -0.4694 +vn -0.0348 -0.8144 -0.5792 +vn 0.1073 -0.8588 -0.5010 +vn -0.0899 -0.6138 -0.7843 +vn 0.0770 -0.8139 -0.5759 +vn 0.0547 -0.9840 -0.1695 +vn -0.0279 -0.5019 -0.8645 +vn 0.4260 -0.9027 -0.0609 +vn -0.1687 -0.9347 -0.3128 +vn 0.3352 -0.9243 -0.1828 +vn -0.4350 -0.8820 -0.1812 +vn 0.3579 -0.8819 -0.3068 +vn -0.3223 -0.9054 -0.2762 +vn 0.0000 -0.8944 -0.4472 +vn -0.1598 -0.9067 0.3903 +vn 0.1598 -0.9067 0.3903 +vn 0.6819 -0.6709 -0.2915 +vn -0.1854 -0.8485 -0.4956 +vn 0.0585 -0.9952 -0.0781 +vn -0.0585 -0.9952 -0.0781 +vn -0.0066 -0.9728 -0.2316 +vn -0.0585 -0.9947 -0.0845 +vn 0.1008 -0.6966 -0.7103 +vn -0.1008 -0.6966 -0.7103 +vn 0.1322 -0.7930 -0.5947 +vn -0.1322 -0.7930 -0.5947 +vn 0.3128 -0.9352 -0.1662 +vn -0.3143 -0.8642 -0.3928 +vn 0.3288 -0.9437 -0.0360 +vn -0.3288 -0.9437 -0.0360 +vn 0.3233 -0.9429 -0.0808 +vn -0.3233 -0.9429 -0.0808 +vn -0.0232 -0.9984 0.0511 +vn 0.0000 -0.9978 0.0665 +vn -0.0043 -0.9979 -0.0651 +vn 0.0000 -0.9978 -0.0665 +vn 0.0000 -1.0000 -0.0000 +vn 0.8447 -0.0445 -0.5335 +vn -0.8447 -0.0445 -0.5335 +vn 0.9256 0.2848 0.2492 +vn -0.9635 0.1606 0.2141 +vn 0.0693 0.4294 0.9004 +vn -0.1018 0.3870 0.9165 +vn -1.0000 0.0000 0.0000 +vn 0.6905 -0.4708 0.5492 +vn 0.4071 -0.1791 -0.8956 +vn -0.4319 -0.2592 -0.8639 +vn 0.2873 -0.7663 -0.5747 +vn -0.2873 -0.7663 -0.5747 +vn -0.6326 -0.5596 0.5353 +vn 0.6326 -0.5596 0.5353 +vn 0.0862 -0.6250 0.7759 +vn -0.0862 -0.6250 0.7759 +vn 0.7532 -0.5918 0.2870 +vn -0.7639 -0.5729 0.2971 +vn 0.3416 -0.7686 -0.5409 +vn -0.3416 -0.7686 -0.5409 +vn 0.0502 -0.9709 0.2343 +vn -0.0375 -0.9737 0.2247 +vn -0.1304 -0.7826 -0.6087 +vn 0.1304 -0.7826 -0.6087 +vn -0.5059 -0.8596 0.0716 +vn 0.5059 -0.8596 0.0716 +vn -0.5774 -0.5774 -0.5774 +vn 0.5774 -0.5774 -0.5774 +vn 0.5460 -0.7184 -0.4310 +vn -0.3319 -0.9404 0.0738 +vn 0.3231 -0.9459 0.0311 +vn -0.2815 -0.9573 0.0662 +vn 0.7357 -0.5531 0.3910 +vn -0.8753 -0.4376 0.2059 +vn 0.8480 -0.4240 0.3180 +vn -0.8973 -0.3938 0.1994 +vn 0.8505 -0.3638 0.3798 +vn -0.8505 -0.3638 0.3798 +vn 0.1783 -0.8917 -0.4161 +vn -0.2524 -0.4327 -0.8655 +vn -0.1296 -0.9723 -0.1945 +vn 0.1296 -0.9723 -0.1945 +vn -0.4472 -0.8944 0.0000 +vn 0.4472 -0.8944 0.0000 +vn -0.1582 -0.2713 0.9494 +vn 0.1582 -0.2713 0.9494 +vn -0.6463 -0.2096 0.7337 +vn 0.6463 -0.2096 0.7337 +vn 1.0000 0.0000 0.0000 +vn 0.3051 -0.1181 -0.9450 +vn -0.3051 -0.1181 -0.9450 +vn 0.0217 -0.9527 -0.3031 +vn -0.0217 -0.9527 -0.3031 +vn 0.1353 -0.9277 -0.3479 +vn -0.1353 -0.9277 -0.3479 +vn -0.4681 -0.8548 -0.2239 +vn 0.4681 -0.8548 -0.2239 +vn -0.2710 -0.9622 0.0271 +vn 0.2710 -0.9622 0.0271 +vn -0.1717 -0.9851 -0.0090 +vn 0.2595 -0.9601 0.1038 +vn -0.4332 -0.7581 -0.4874 +vn 0.6684 -0.5849 -0.4595 +vn -0.1599 -0.4478 -0.8797 +vn 0.1599 -0.4478 -0.8797 +vn 0.3900 -0.7074 -0.5895 +vn -0.3900 -0.7074 -0.5895 +vn 0.6547 -0.6007 -0.4589 +vn -0.6547 -0.6007 -0.4589 +vn 0.5378 -0.8353 -0.1144 +vn -0.5378 -0.8353 -0.1144 +vn 0.5657 -0.8159 0.1197 +vn -0.5774 -0.8083 0.1155 +vn 0.4082 -0.8165 0.4082 +vn -0.5214 -0.5441 0.6574 +vn 0.1796 -0.5886 0.7882 +vn -0.1796 -0.5886 0.7882 +vn 0.1881 -0.9219 0.3387 +vn -0.1881 -0.9219 0.3387 +vn -0.0870 -0.9573 0.2756 +vn 0.0870 -0.9573 0.2756 +vn 0.0829 -0.9534 -0.2902 +vn -0.0829 -0.9534 -0.2902 +vn 0.3015 -0.9045 -0.3015 +vn -0.3015 -0.9045 -0.3015 +vn -0.3766 -0.4035 -0.8339 +vn 0.0631 -0.9468 -0.3156 +vn 0.0823 -0.6175 -0.7822 +vn 0.2016 -0.3696 -0.9071 +vn -0.3707 -0.8839 -0.2851 +vn 0.3707 -0.8839 -0.2851 +vn -0.2692 -0.9614 -0.0577 +vn 0.4568 -0.8881 0.0508 +vn -0.2797 -0.8042 0.5245 +vn 0.2797 -0.8042 0.5245 +vn -0.0213 -0.8319 0.5546 +vn 0.0487 -0.7302 0.6815 +vn 0.3778 -0.6746 0.6342 +vn -0.3378 -0.7831 0.5221 +vn 0.4988 -0.6858 0.5300 +vn -0.4988 -0.6858 0.5300 +vn 0.5425 -0.7686 -0.3391 +vn -0.5425 -0.7686 -0.3391 +vn 0.8305 -0.5536 -0.0615 +vn -0.8305 -0.5536 -0.0615 +vn 0.7814 -0.6140 0.1116 +vn -0.7814 -0.6140 0.1116 +vn -0.4338 0.1481 0.8888 +vn 0.4338 0.1481 0.8888 +vn -0.8515 0.3670 0.3744 +vn 0.8515 0.3670 0.3744 +vn -0.2664 0.4127 0.8710 +vn 0.2197 0.4557 0.8626 +vn 0.5932 0.3063 0.7445 +vn -0.5914 0.2991 0.7489 +vn 0.3714 0.3284 0.8685 +vn -0.3653 0.2938 0.8833 +vn 0.2901 0.2833 0.9141 +vn -0.2901 0.2833 0.9141 +vn 0.8873 0.4412 0.1343 +vn -0.7964 0.5901 0.1323 +vn 0.5108 0.5450 -0.6649 +vn -0.5108 0.5450 -0.6649 +vn 0.3695 0.3601 -0.8566 +vn -0.3695 0.3601 -0.8566 +vn 0.3617 0.8487 -0.3858 +vn -0.1649 0.7289 -0.6644 +vn 0.1952 0.9759 -0.0976 +vn -0.3011 0.9535 -0.0125 +vn -0.0107 0.8262 -0.5633 +vn -0.2562 0.9152 -0.3112 +vn 0.1533 0.2134 -0.9649 +vn -0.1533 0.2134 -0.9649 +vn 0.1260 0.2406 -0.9624 +vn -0.1260 0.2406 -0.9624 +vn 0.9396 0.3041 0.1573 +vn -0.9396 0.3041 0.1573 +vn 0.9278 0.3246 0.1838 +vn -0.9278 0.3246 0.1838 +vn 0.2192 0.9727 0.0766 +vn -0.2192 0.9727 0.0766 +vn 0.1211 0.9912 -0.0530 +vn 0.1497 0.9195 -0.3635 +vn 0.9094 0.3927 0.1371 +vn -0.3706 0.6349 -0.6780 +vn 0.9202 0.3672 0.1355 +vn -0.9202 0.3672 0.1355 +vn 0.9173 0.2007 0.3440 +vn -0.9457 0.1850 0.2673 +vn 0.9004 0.2380 0.3642 +vn -0.9337 0.2215 0.2813 +vn 0.8945 -0.1084 0.4337 +vn -0.9501 0.1922 0.2455 +vn 0.1596 0.2394 -0.9577 +vn -0.1835 0.5898 -0.7864 +vn 0.3693 0.8010 -0.4712 +vn -0.3727 0.7966 -0.4759 +vn 0.2986 0.4821 -0.8236 +vn -0.3263 0.4446 -0.8342 +vn 0.2995 0.1368 -0.9442 +vn -0.2995 0.1368 -0.9442 +vn 0.3287 0.2291 -0.9163 +vn -0.3287 0.2291 -0.9163 +vn 0.8305 0.4463 0.3333 +vn -0.8642 -0.1696 -0.4737 +vn 0.9166 -0.1414 -0.3740 +vn -0.9166 -0.1414 -0.3740 +vn 0.2950 0.9544 -0.0454 +vn -0.4189 0.8793 -0.2265 +vn 0.1272 -0.2260 0.9658 +vn -0.1119 -0.2468 0.9626 +vn 0.1320 0.1788 0.9750 +vn -0.1320 0.1788 0.9750 +vn 0.3878 0.6828 0.6192 +vn -0.3878 0.6828 0.6192 +vn 0.4951 0.1100 0.8618 +vn -0.4951 0.1100 0.8618 +vn 0.2561 -0.7202 0.6447 +vn -0.2561 -0.7202 0.6447 +vn 0.5966 -0.1479 0.7888 +vn -0.5966 -0.1479 0.7888 +vn 0.7125 0.1900 0.6755 +vn -0.7125 0.1900 0.6755 +vn 0.7104 0.6904 0.1364 +vn -0.6304 0.7343 0.2517 +vn 0.6823 0.6933 0.2318 +vn -0.6823 0.6933 0.2318 +vn 0.6574 0.2040 0.7254 +vn -0.6574 0.2040 0.7254 +vn 0.7289 -0.1262 0.6729 +vn -0.7289 -0.1262 0.6729 +vn 0.7791 -0.4764 0.4074 +vn -0.7791 -0.4764 0.4074 +vn 0.3669 0.2898 0.8840 +vn -0.3238 0.0720 0.9434 +vn 0.2854 -0.7277 0.6237 +vn -0.1548 -0.8473 0.5080 +vn -0.1702 0.9793 0.1097 +vn 0.1782 0.9800 0.0891 +vn 0.2925 -0.7697 0.5674 +vn -0.2925 -0.7697 0.5674 +vn -0.1616 -0.9694 0.1847 +vn 0.1616 -0.9694 0.1847 +vn 0.8681 0.4883 0.0893 +vn -0.9340 -0.2773 0.2255 +vn 0.9276 -0.3657 0.0762 +vn -0.9276 -0.3657 0.0762 +vn 0.9750 -0.0490 0.2169 +vn -0.9750 -0.0490 0.2169 +vn 0.9817 0.1882 -0.0304 +vn -0.9956 0.0288 0.0893 +vn 0.7466 -0.0285 -0.6646 +vn -0.6374 -0.0915 -0.7651 +vn 0.3723 -0.0847 -0.9243 +vn -0.3720 -0.0845 -0.9244 +vn 0.3986 -0.2734 -0.8754 +vn -0.3986 -0.2734 -0.8754 +vn 0.6328 -0.1247 -0.7642 +vn -0.6328 -0.1247 -0.7642 +vn 0.7325 -0.2407 -0.6368 +vn -0.7325 -0.2407 -0.6368 +vn 0.2637 -0.8533 -0.4499 +vn -0.2637 -0.8533 -0.4499 +vn 0.5881 0.7483 -0.3070 +vn -0.5236 0.7859 -0.3290 +vn 0.4694 0.8498 -0.2400 +vn -0.5396 0.7727 -0.3343 +vn 0.4463 0.2941 -0.8452 +vn -0.2144 0.5082 -0.8341 +vn 0.6973 0.2771 -0.6610 +vn -0.7365 0.2808 -0.6154 +vn 0.4972 0.7473 -0.4408 +vn -0.4972 0.7473 -0.4408 +vn 0.3691 -0.8844 0.2855 +vn -0.3244 -0.8111 0.4867 +vn 0.4467 -0.8894 0.0975 +vn -0.4467 -0.8894 0.0975 +vn 0.3188 -0.9266 0.1993 +vn -0.1817 -0.9833 -0.0079 +vn 0.2076 -0.9746 -0.0836 +vn -0.2925 -0.9533 -0.0758 +vn 0.3398 -0.9369 0.0824 +vn -0.5847 -0.7809 -0.2198 +vn 0.5957 -0.7049 -0.3850 +vn -0.5957 -0.7049 -0.3850 +vn 0.4843 -0.6738 0.5580 +vn -0.4843 -0.6738 0.5580 +vn -0.2675 -0.4864 0.8318 +vn 0.2675 -0.4864 0.8318 +vn -0.8576 -0.4638 0.2223 +vn 0.7885 -0.5677 0.2366 +vn -0.5257 -0.7717 -0.3579 +vn 0.5242 -0.7742 -0.3548 +vn 0.4663 -0.6509 -0.5991 +vn -0.4390 -0.7290 -0.5252 +vn 0.7104 -0.5356 -0.4567 +vn -0.7104 -0.5356 -0.4567 +vn 0.7507 0.2461 -0.6131 +vn -0.6302 -0.1282 -0.7658 +vn -0.1788 -0.9395 0.2923 +vn 0.2175 -0.9370 0.2733 +vn 0.9042 0.2332 -0.3578 +vn -0.9042 0.2332 -0.3578 +vn 0.0400 -0.9396 0.3399 +vn -0.0400 -0.9396 0.3399 +vn 0.2734 -0.3221 0.9064 +vn -0.2734 -0.3221 0.9064 +vn 0.4480 -0.7737 -0.4480 +vn -0.7177 -0.6755 0.1689 +vn 0.5534 -0.6225 -0.5534 +vn -0.9008 -0.1501 -0.4075 +vn 0.5724 -0.7582 -0.3122 +vn -0.5815 -0.6243 -0.5217 +vn 0.5597 -0.6169 -0.5533 +vn -0.6138 -0.7465 -0.2571 +vn 0.9551 0.2470 -0.1636 +vn -0.1712 -0.9808 -0.0934 +vn 0.9227 0.0825 -0.3765 +vn -0.8717 0.2063 -0.4446 +vn 0.9972 0.0725 -0.0181 +vn -0.9972 0.0725 -0.0181 +vn 0.6895 -0.2883 -0.6644 +vn -0.6895 -0.2883 -0.6644 +vn 0.7815 -0.0882 -0.6176 +vn -0.7930 -0.1322 -0.5947 +vn 0.7022 -0.1170 -0.7022 +vn -0.7022 -0.1170 -0.7022 +vn 0.1240 -0.0207 0.9921 +vn -0.2408 0.1204 0.9631 +vn 0.9435 -0.1048 0.3145 +vn -0.9251 -0.1542 0.3469 +vn 0.6213 -0.1036 -0.7767 +vn -0.6213 -0.1036 -0.7767 +vn 0.0000 -0.0000 1.0000 +vn 0.6197 -0.3742 -0.6899 +vn -0.6197 -0.3742 -0.6899 +vn 0.2752 -0.3853 -0.8808 +vn -0.2752 -0.3853 -0.8808 +vn -0.7929 0.3089 -0.5252 +vn 0.7929 0.3089 -0.5252 +vn -0.8096 0.5343 0.2429 +vn 0.8538 0.4657 0.2328 +vn -0.5621 0.0803 0.8231 +vn 0.5433 0.4657 0.6985 +vn -0.0071 -0.1414 0.9899 +vn 0.1096 0.0157 0.9939 +vn 0.1046 -0.9937 0.0392 +vn -0.1738 -0.9847 0.0097 +vn 0.2461 -0.9655 0.0852 +vn -0.4134 -0.9096 0.0413 +vn 0.3009 -0.9491 0.0926 +vn -0.3009 -0.9491 0.0926 +vn 0.2104 -0.9775 0.0124 +vn -0.1220 -0.9915 0.0458 +vn -0.0099 -0.9221 0.3867 +vn 0.0099 -0.9221 0.3867 +vn 0.3787 -0.9248 -0.0364 +vn -0.4244 -0.9049 -0.0320 +vn 0.2530 -0.9487 -0.1897 +vn -0.2570 -0.9637 0.0723 +vn -0.4870 -0.6262 0.6088 +vn 0.2981 -0.5963 0.7454 +vn 0.6693 -0.7208 0.1802 +vn -0.6693 -0.7208 0.1802 +vn 0.4388 -0.8759 -0.2008 +vn -0.4723 -0.8588 -0.1986 +vn 0.5786 -0.8046 -0.1334 +vn -0.2975 -0.8640 -0.4062 +vn 0.5002 -0.8182 0.2833 +vn -0.5002 -0.8182 0.2833 +vn 0.2980 -0.7580 0.5802 +vn -0.2980 -0.7580 0.5802 +vn 0.0929 0.0944 -0.9912 +vn -0.0929 0.0944 -0.9912 +vn 0.4688 -0.1442 -0.8715 +vn -0.4688 -0.1442 -0.8715 +vn 0.9309 -0.2624 -0.2541 +vn -0.9264 -0.2850 -0.2460 +vn 0.8465 0.0595 0.5291 +vn -0.8267 0.0035 0.5627 +vn -0.2511 0.2145 0.9439 +vn 0.2146 0.3157 0.9243 +vn -0.4841 0.0361 0.8743 +vn 0.4196 0.2012 0.8851 +vn -0.5256 0.8507 -0.0030 +vn 0.5470 0.8370 -0.0144 +vn -0.1466 0.9891 0.0104 +vn 0.1466 0.9891 0.0104 +vn 0.4046 0.9141 0.0266 +vn -0.4046 0.9141 0.0266 +vn -0.8073 -0.0041 0.5901 +vn 0.7330 -0.0472 0.6786 +vn 0.4200 0.8781 -0.2291 +vn -0.4200 0.8781 -0.2291 +vn -0.0687 0.0818 -0.9943 +vn 0.0687 0.0818 -0.9943 +vn 0.6713 -0.7145 -0.1971 +vn -0.6713 -0.7145 -0.1971 +vn 0.8326 -0.4646 -0.3017 +vn -0.8326 -0.4646 -0.3017 +vn 0.4258 -0.4290 -0.7967 +vn -0.4258 -0.4290 -0.7967 +vn 0.3265 -0.8050 -0.4954 +vn -0.3265 -0.8050 -0.4954 +vn -0.0649 -0.8181 -0.5714 +vn 0.0649 -0.8181 -0.5714 +vn -0.2738 -0.4834 -0.8315 +vn 0.2738 -0.4834 -0.8315 +vn -0.7606 -0.5531 -0.3400 +vn 0.7824 -0.5285 -0.3294 +vn -0.4649 -0.8634 -0.1958 +vn 0.4767 -0.8581 -0.1907 +vn -0.4983 -0.8478 0.1812 +vn 0.4983 -0.8478 0.1812 +vn -0.7683 -0.5488 0.3293 +vn 0.7656 -0.5568 0.3223 +vn -0.2487 -0.5076 0.8249 +vn 0.2560 -0.5317 0.8073 +vn -0.1017 -0.8277 0.5518 +vn 0.0821 -0.7940 0.6023 +vn 0.3861 -0.7445 0.5446 +vn -0.3329 -0.7846 0.5231 +vn 0.4059 -0.5014 0.7641 +vn -0.4246 -0.4745 0.7711 +vn 0.8299 -0.4742 0.2940 +vn -0.8251 -0.4808 0.2968 +vn 0.6617 -0.7219 0.2026 +vn -0.6888 -0.7005 0.1868 +vn 0.7816 0.5437 0.3058 +vn -0.8400 0.4200 0.3436 +vn 0.2037 0.5431 0.8146 +vn -0.2074 0.5185 0.8296 +vn -0.4381 0.4123 0.7988 +vn 0.4056 0.5070 0.7605 +vn -0.7861 0.5241 0.3276 +vn 0.8642 0.3928 0.3143 +vn -0.8519 0.3976 -0.3408 +vn 0.8519 0.3976 -0.3408 +vn -0.4056 0.5070 -0.7605 +vn 0.4056 0.5070 -0.7605 +vn 0.2074 0.5185 -0.8296 +vn -0.2074 0.5185 -0.8296 +vn 0.8297 0.4149 -0.3734 +vn -0.8297 0.4149 -0.3734 +vn 0.1054 -0.5270 -0.8433 +vn -0.1367 -0.4648 -0.8748 +vn 0.1916 -0.4693 -0.8620 +vn -0.2303 -0.4447 -0.8656 +vn 0.5959 -0.6810 -0.4256 +vn -0.5959 -0.6810 -0.4256 +vn 0.7563 -0.6535 -0.0299 +vn -0.7563 -0.6535 -0.0299 +vn 0.8069 -0.5866 0.0689 +vn -0.8069 -0.5866 0.0689 +vn 0.2334 -0.5834 -0.7779 +vn -0.2334 -0.5834 -0.7779 +vn 0.4177 -0.7034 -0.5751 +vn -0.3557 -0.5848 -0.7290 +vn 0.6872 -0.5934 -0.4191 +vn -0.6872 -0.5934 -0.4191 +vn 0.5537 -0.7777 -0.2978 +vn -0.7028 -0.5939 -0.3915 +vn 0.8227 -0.4395 0.3606 +vn -0.3127 -0.8860 0.3425 +vn 0.5041 -0.5745 0.6448 +vn -0.5091 -0.5663 0.6482 +vn 0.6155 -0.6155 0.4924 +vn -0.6155 -0.6155 0.4924 +vn -0.0371 -0.7428 0.6685 +vn 0.0486 -0.7532 0.6560 +vn -0.7386 -0.5590 0.3768 +vn 0.7104 -0.6494 0.2715 +vn -0.5774 -0.5774 0.5774 +vn 0.6013 -0.6013 0.5262 +vn 0.5364 -0.7797 -0.3230 +vn -0.5070 -0.5903 -0.6281 +vn 0.2181 -0.8561 -0.4685 +vn -0.2181 -0.8561 -0.4685 +vn -0.1073 -0.8588 -0.5010 +vn 0.0348 -0.8144 -0.5792 +vn -0.0770 -0.8139 -0.5759 +vn 0.0899 -0.6138 -0.7843 +vn 0.0279 -0.5019 -0.8645 +vn -0.0547 -0.9840 -0.1695 +vn 0.1687 -0.9347 -0.3128 +vn -0.4260 -0.9027 -0.0609 +vn 0.4350 -0.8820 -0.1812 +vn -0.3352 -0.9243 -0.1828 +vn 0.3223 -0.9054 -0.2762 +vn -0.3579 -0.8819 -0.3068 +vn 0.4284 -0.8911 0.1494 +vn -0.4284 -0.8911 0.1494 +vn -0.0317 -0.9813 -0.1899 +vn 0.0317 -0.9813 -0.1899 +vn 0.1854 -0.8485 -0.4956 +vn -0.6819 -0.6709 -0.2915 +vn 0.2623 -0.8994 -0.3498 +vn -0.2623 -0.8994 -0.3498 +vn 0.0585 -0.9947 -0.0845 +vn 0.0066 -0.9728 -0.2316 +vn -0.0136 -0.7592 -0.6507 +vn 0.0136 -0.7592 -0.6507 +vn 0.2404 -0.8014 -0.5476 +vn -0.2404 -0.8014 -0.5476 +vn 0.3143 -0.8642 -0.3928 +vn -0.3128 -0.9352 -0.1662 +vn 0.2821 -0.9592 -0.0164 +vn -0.2821 -0.9592 -0.0164 +vn 0.3273 -0.9340 -0.1432 +vn -0.3273 -0.9340 -0.1432 +vn 0.0232 -0.9984 0.0511 +vn 0.0043 -0.9979 -0.0651 +vn 0.7826 0.1304 -0.6087 +vn -0.7826 0.1304 -0.6087 +vn 0.9635 0.1606 0.2141 +vn -0.9256 0.2848 0.2492 +vn 0.1018 0.3870 0.9165 +vn -0.0693 0.4294 0.9004 +vn -0.6905 -0.4708 0.5492 +vn 0.4319 -0.2592 -0.8639 +vn -0.4071 -0.1791 -0.8956 +vn -0.6667 -0.3333 0.6667 +vn 0.6667 -0.3333 0.6667 +vn 0.1348 -0.5727 0.8086 +vn -0.1348 -0.5727 0.8086 +vn 0.7639 -0.5729 0.2971 +vn -0.7532 -0.5918 0.2870 +vn 0.4116 -0.3087 -0.8575 +vn -0.4116 -0.3087 -0.8575 +vn 0.0375 -0.9737 0.2247 +vn -0.0502 -0.9709 0.2343 +vn 0.1304 -0.9565 -0.2609 +vn -0.1304 -0.9565 -0.2609 +vn -0.0631 -0.5681 -0.8206 +vn 0.0631 -0.5681 -0.8206 +vn 0.7325 -0.6198 0.2817 +vn -0.7325 -0.6198 0.2817 +vn 0.3319 -0.9404 0.0738 +vn -0.5460 -0.7184 -0.4310 +vn 0.2815 -0.9573 0.0662 +vn -0.3231 -0.9459 0.0311 +vn 0.8753 -0.4376 0.2059 +vn -0.7357 -0.5531 0.3910 +vn 0.8973 -0.3938 0.1994 +vn -0.8480 -0.4240 0.3180 +vn 0.9586 -0.2767 0.0664 +vn -0.9586 -0.2767 0.0664 +vn 0.2524 -0.4327 -0.8655 +vn -0.1783 -0.8917 -0.4161 +vn -0.1751 -0.9631 -0.2043 +vn 0.1751 -0.9631 -0.2043 +vn -0.1219 -0.9755 -0.1829 +vn 0.1219 -0.9755 -0.1829 +vn -0.1562 -0.9370 0.3123 +vn 0.1562 -0.9370 0.3123 +vn -0.7238 -0.0762 0.6857 +vn 0.7238 -0.0762 0.6857 +vn 0.0478 -0.9567 -0.2870 +vn -0.0478 -0.9567 -0.2870 +vn -0.5488 -0.7683 -0.3293 +vn 0.5488 -0.7683 -0.3293 +vn -0.4945 -0.8618 -0.1130 +vn 0.4945 -0.8618 -0.1130 +vn -0.2595 -0.9601 0.1038 +vn 0.1717 -0.9851 -0.0090 +vn -0.6684 -0.5849 -0.4595 +vn 0.4332 -0.7581 -0.4874 +vn -0.1156 -0.7631 -0.6359 +vn 0.1156 -0.7631 -0.6359 +vn 0.4242 -0.6590 -0.6211 +vn -0.4242 -0.6590 -0.6211 +vn 0.4767 -0.8039 -0.3557 +vn -0.4767 -0.8039 -0.3557 +vn 0.5871 -0.8052 -0.0839 +vn -0.5871 -0.8052 -0.0839 +vn 0.5774 -0.8083 0.1155 +vn -0.5657 -0.8159 0.1197 +vn 0.5214 -0.5441 0.6574 +vn -0.4082 -0.8165 0.4082 +vn 0.3358 -0.8754 0.3478 +vn -0.3358 -0.8754 0.3478 +vn 0.1452 -0.9146 0.3774 +vn -0.1452 -0.9146 0.3774 +vn 0.0301 -0.9726 0.2306 +vn -0.0301 -0.9726 0.2306 +vn 0.4475 -0.7608 -0.4699 +vn -0.4475 -0.7608 -0.4699 +vn 0.2627 -0.9382 -0.2252 +vn -0.2627 -0.9382 -0.2252 +vn -0.0631 -0.9468 -0.3156 +vn 0.3766 -0.4035 -0.8339 +vn -0.2016 -0.3696 -0.9071 +vn -0.0823 -0.6175 -0.7822 +vn -0.3356 -0.9110 -0.2397 +vn 0.3356 -0.9110 -0.2397 +vn -0.4568 -0.8881 0.0508 +vn 0.2692 -0.9614 -0.0577 +vn -0.0247 -0.9130 0.4072 +vn 0.0247 -0.9130 0.4072 +vn -0.0487 -0.7302 0.6815 +vn 0.0213 -0.8319 0.5546 +vn 0.3378 -0.7831 0.5221 +vn -0.3778 -0.6746 0.6342 +vn 0.7895 -0.5263 -0.3158 +vn -0.7895 -0.5263 -0.3158 +vn 0.8070 -0.5851 -0.0807 +vn -0.8070 -0.5851 -0.0807 +vn 0.7868 -0.6052 0.1210 +vn -0.7868 -0.6052 0.1210 +vn -0.6357 0.3633 0.6811 +vn 0.6357 0.3633 0.6811 +vn -0.8507 0.3783 0.3650 +vn 0.8507 0.3783 0.3650 +vn -0.2197 0.4557 0.8626 +vn 0.2664 0.4127 0.8710 +vn 0.5914 0.2991 0.7489 +vn -0.5932 0.3063 0.7445 +vn 0.3653 0.2938 0.8833 +vn -0.3714 0.3284 0.8685 +vn 0.2760 0.2915 0.9159 +vn -0.2760 0.2915 0.9159 +vn 0.7964 0.5901 0.1323 +vn -0.8873 0.4412 0.1343 +vn 0.5442 0.3712 -0.7524 +vn -0.5442 0.3712 -0.7524 +vn 0.4027 0.5492 -0.7323 +vn -0.4027 0.5492 -0.7323 +vn 0.1649 0.7289 -0.6644 +vn -0.3617 0.8487 -0.3858 +vn 0.3011 0.9535 -0.0125 +vn -0.1952 0.9759 -0.0976 +vn 0.2562 0.9152 -0.3112 +vn 0.0107 0.8262 -0.5633 +vn 0.0779 0.0663 -0.9948 +vn -0.0779 0.0663 -0.9948 +vn 0.1094 0.2089 -0.9718 +vn -0.1094 0.2089 -0.9718 +vn 0.8150 0.1405 -0.5621 +vn -0.8150 0.1405 -0.5621 +vn 0.9358 0.3236 0.1396 +vn -0.9358 0.3236 0.1396 +vn 0.1132 0.9932 -0.0274 +vn -0.1132 0.9932 -0.0274 +vn -0.1497 0.9195 -0.3635 +vn -0.1211 0.9912 -0.0530 +vn 0.3706 0.6349 -0.6780 +vn -0.9094 0.3927 0.1371 +vn 0.9193 0.3682 0.1393 +vn -0.9193 0.3682 0.1393 +vn 0.9457 0.1850 0.2673 +vn -0.9173 0.2007 0.3440 +vn 0.9337 0.2215 0.2813 +vn -0.9004 0.2380 0.3642 +vn 0.9501 0.1922 0.2455 +vn -0.8945 -0.1084 0.4337 +vn 0.1835 0.5898 -0.7864 +vn -0.1596 0.2394 -0.9577 +vn 0.3727 0.7966 -0.4759 +vn -0.3693 0.8010 -0.4712 +vn 0.3263 0.4446 -0.8342 +vn -0.2986 0.4821 -0.8236 +vn 0.2620 0.1217 -0.9574 +vn -0.2620 0.1217 -0.9574 +vn 0.2996 0.1362 -0.9443 +vn -0.2996 0.1362 -0.9443 +vn 0.8642 -0.1696 -0.4737 +vn -0.8305 0.4463 0.3333 +vn 0.6869 -0.3521 -0.6358 +vn -0.6869 -0.3521 -0.6358 +vn 0.4189 0.8793 -0.2265 +vn -0.2950 0.9544 -0.0454 +vn 0.1119 -0.2468 0.9626 +vn -0.1272 -0.2260 0.9658 +vn 0.1208 0.1947 0.9734 +vn -0.1208 0.1947 0.9734 +vn 0.3140 0.7585 0.5711 +vn -0.3140 0.7585 0.5711 +vn 0.3231 0.1817 0.9288 +vn -0.3231 0.1817 0.9288 +vn 0.0452 -0.6043 0.7955 +vn -0.0452 -0.6043 0.7955 +vn 0.6144 -0.1738 0.7696 +vn -0.6144 -0.1738 0.7696 +vn 0.6935 0.2212 0.6857 +vn -0.6935 0.2212 0.6857 +vn 0.6304 0.7343 0.2517 +vn -0.7104 0.6904 0.1364 +vn 0.3179 0.7574 0.5704 +vn -0.3179 0.7574 0.5704 +vn 0.6289 0.1525 0.7624 +vn -0.6289 0.1525 0.7624 +vn 0.7088 -0.1752 0.6833 +vn -0.7088 -0.1752 0.6833 +vn 0.6885 -0.6158 0.3830 +vn -0.6885 -0.6158 0.3830 +vn 0.3238 0.0720 0.9434 +vn -0.3669 0.2898 0.8840 +vn 0.1548 -0.8473 0.5080 +vn -0.2854 -0.7277 0.6237 +vn -0.1782 0.9800 0.0891 +vn 0.1702 0.9793 0.1097 +vn -0.2638 0.1871 0.9462 +vn 0.2638 0.1871 0.9462 +vn 0.9340 -0.2773 0.2255 +vn -0.8681 0.4883 0.0893 +vn 0.9758 -0.1800 0.1241 +vn -0.9758 -0.1800 0.1241 +vn 0.9613 0.2330 0.1472 +vn -0.9613 0.2330 0.1472 +vn 0.9956 0.0288 0.0893 +vn -0.9817 0.1882 -0.0304 +vn 0.6374 -0.0915 -0.7651 +vn -0.7466 -0.0285 -0.6646 +vn 0.3720 -0.0845 -0.9244 +vn -0.3723 -0.0847 -0.9243 +vn 0.5281 -0.1522 -0.8354 +vn -0.5281 -0.1522 -0.8354 +vn 0.3070 -0.7946 -0.5237 +vn -0.3070 -0.7946 -0.5237 +vn 0.5236 0.7859 -0.3290 +vn -0.5881 0.7483 -0.3070 +vn 0.5396 0.7727 -0.3343 +vn -0.4694 0.8498 -0.2400 +vn 0.2144 0.5082 -0.8341 +vn -0.4463 0.2941 -0.8452 +vn 0.7365 0.2808 -0.6154 +vn -0.6973 0.2771 -0.6610 +vn 0.3244 -0.8111 0.4867 +vn -0.3691 -0.8844 0.2855 +vn 0.4649 -0.8465 0.2593 +vn -0.4649 -0.8465 0.2593 +vn 0.1817 -0.9833 -0.0079 +vn -0.3188 -0.9266 0.1993 +vn 0.2925 -0.9533 -0.0758 +vn -0.2076 -0.9746 -0.0836 +vn 0.5847 -0.7809 -0.2198 +vn -0.3398 -0.9369 0.0824 +vn 0.6509 -0.7340 -0.1939 +vn -0.6509 -0.7340 -0.1939 +vn 0.4075 -0.5201 0.7506 +vn -0.4075 -0.5201 0.7506 +vn -0.2655 -0.4911 0.8296 +vn 0.2655 -0.4911 0.8296 +vn -0.7885 -0.5677 0.2366 +vn 0.8576 -0.4638 0.2223 +vn -0.5242 -0.7742 -0.3548 +vn 0.5257 -0.7717 -0.3579 +vn 0.4390 -0.7290 -0.5252 +vn -0.4663 -0.6509 -0.5991 +vn 0.6888 -0.5740 -0.4428 +vn -0.6888 -0.5740 -0.4428 +vn 0.6302 -0.1282 -0.7658 +vn -0.7507 0.2461 -0.6131 +vn -0.2175 -0.9370 0.2733 +vn 0.1788 -0.9395 0.2923 +vn 0.9046 0.1792 -0.3869 +vn -0.9046 0.1792 -0.3869 +vn 0.1782 -0.9800 -0.0891 +vn -0.1782 -0.9800 -0.0891 +vn -0.2335 -0.3749 0.8972 +vn 0.2335 -0.3749 0.8972 +vn 0.7177 -0.6755 0.1689 +vn -0.4480 -0.7737 -0.4480 +vn 0.5313 -0.6134 0.5844 +vn -0.5313 -0.6134 0.5844 +vn 0.9008 -0.1501 -0.4075 +vn -0.5534 -0.6225 -0.5534 +vn 0.5815 -0.6243 -0.5217 +vn -0.5724 -0.7582 -0.3122 +vn 0.6138 -0.7465 -0.2571 +vn -0.5597 -0.6169 -0.5533 +vn 0.1712 -0.9808 -0.0934 +vn -0.9551 0.2470 -0.1636 +vn 0.8717 0.2063 -0.4446 +vn -0.9227 0.0825 -0.3765 +vn 0.7661 -0.0909 -0.6363 +vn -0.7661 -0.0909 -0.6363 +vn 0.7930 -0.1322 -0.5947 +vn -0.7815 -0.0882 -0.6176 +vn 0.2408 0.1204 0.9631 +vn -0.1240 -0.0207 0.9921 +vn 0.9251 -0.1542 0.3469 +vn -0.9435 -0.1048 0.3145 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.0157 -0.1414 0.9898 +vn 0.0157 -0.1414 0.9898 +vn 0.6266 -0.2956 -0.7211 +vn -0.6266 -0.2956 -0.7211 +vn 0.2714 -0.3353 -0.9022 +vn -0.2714 -0.3353 -0.9022 +vn -0.8651 0.1266 -0.4853 +vn 0.8651 0.1266 -0.4853 +vn -0.8538 0.4657 0.2328 +vn 0.8096 0.5343 0.2429 +vn -0.5433 0.4657 0.6985 +vn 0.5621 0.0803 0.8231 +vn -0.1096 0.0157 0.9939 +vn 0.0071 -0.1414 0.9899 +vn 0.1738 -0.9847 0.0097 +vn -0.1046 -0.9937 0.0392 +vn 0.4134 -0.9096 0.0413 +vn -0.2461 -0.9655 0.0852 +vn 0.3228 -0.9453 -0.0461 +vn -0.3228 -0.9453 -0.0461 +vn 0.1220 -0.9915 0.0458 +vn -0.2104 -0.9775 0.0124 +vn 0.5679 -0.8005 0.1916 +vn -0.5679 -0.8005 0.1916 +vn 0.4244 -0.9049 -0.0320 +vn -0.3787 -0.9248 -0.0364 +vn 0.2570 -0.9637 0.0723 +vn -0.2530 -0.9487 -0.1897 +vn 0.1351 -0.9906 -0.0225 +vn -0.1351 -0.9906 -0.0225 +vn -0.2981 -0.5963 0.7454 +vn 0.4870 -0.6262 0.6088 +vn 0.5571 -0.8171 -0.1486 +vn -0.5571 -0.8171 -0.1486 +vn 0.4723 -0.8588 -0.1986 +vn -0.4388 -0.8759 -0.2008 +vn 0.2975 -0.8640 -0.4062 +vn -0.5786 -0.8046 -0.1334 +vn 0.5771 -0.7875 0.2164 +vn -0.5771 -0.7875 0.2164 +vn 0.0931 0.0692 -0.9932 +vn -0.0931 0.0692 -0.9932 +vn 0.5161 0.0812 -0.8527 +vn -0.5161 0.0812 -0.8527 +vn 0.9264 -0.2850 -0.2460 +vn -0.9309 -0.2624 -0.2541 +vn 0.8267 0.0035 0.5627 +vn -0.8465 0.0595 0.5291 +vn -0.2146 0.3157 0.9243 +vn 0.2511 0.2145 0.9439 +vn -0.4196 0.2012 0.8851 +vn 0.4841 0.0361 0.8743 +vn -0.5470 0.8370 -0.0144 +vn 0.5256 0.8507 -0.0030 +vn -0.2556 0.9639 -0.0749 +vn 0.2556 0.9639 -0.0749 +vn -0.7330 -0.0472 0.6786 +vn 0.8073 -0.0041 0.5901 +vn 0.6844 0.7088 -0.1711 +vn -0.6844 0.7088 -0.1711 +vn -0.3604 0.4290 -0.8283 +vn 0.3604 0.4290 -0.8283 +usemtl None +s off f 47/1/1 3/2/1 45/3/1 f 4/4/2 48/5/2 46/6/2 f 45/3/3 5/7/3 43/8/3 diff --git a/obj/common.d b/obj/common.d deleted file mode 100644 index 4ac44a7..0000000 --- a/obj/common.d +++ /dev/null @@ -1 +0,0 @@ -obj/common.o: src/common.c src/common.h diff --git a/obj/common.o b/obj/common.o Binary files differdeleted file mode 100644 index 03d04d5..0000000 --- a/obj/common.o +++ /dev/null diff --git a/obj/graphics.d b/obj/graphics.d deleted file mode 100644 index d7ab9a4..0000000 --- a/obj/graphics.d +++ /dev/null @@ -1 +0,0 @@ -obj/graphics.o: src/graphics.c src/graphics.h src/common.h diff --git a/obj/graphics.o b/obj/graphics.o Binary files differdeleted file mode 100644 index 30e3648..0000000 --- a/obj/graphics.o +++ /dev/null diff --git a/obj/main.d b/obj/main.d deleted file mode 100644 index 222f8d3..0000000 --- a/obj/main.d +++ /dev/null @@ -1,2 +0,0 @@ -obj/main.o: src/main.c src/objload.h src/graphics.h src/common.h \ - src/window.h diff --git a/obj/main.o b/obj/main.o Binary files differdeleted file mode 100644 index 257bcc1..0000000 --- a/obj/main.o +++ /dev/null diff --git a/obj/objload.d b/obj/objload.d deleted file mode 100644 index 5520a6c..0000000 --- a/obj/objload.d +++ /dev/null @@ -1 +0,0 @@ -obj/objload.o: src/objload.c src/objload.h diff --git a/obj/objload.o b/obj/objload.o Binary files differdeleted file mode 100644 index 9297c0d..0000000 --- a/obj/objload.o +++ /dev/null diff --git a/obj/window.d b/obj/window.d deleted file mode 100644 index cd80ea5..0000000 --- a/obj/window.d +++ /dev/null @@ -1 +0,0 @@ -obj/window.o: src/window.c src/window.h src/common.h diff --git a/obj/window.o b/obj/window.o Binary files differdeleted file mode 100644 index d5e9731..0000000 --- a/obj/window.o +++ /dev/null diff --git a/src/common.h b/src/common.h index eaa0743..cfc4a72 100644 --- a/src/common.h +++ b/src/common.h @@ -29,7 +29,7 @@ void *xrealloc(void *ptr, size_t size); #define F_LOAD_FILE_ALIGNED(T) \ static int load_file_##T##_aligned( \ - char *path, size_t *size, u32 *buf) \ + char *path, size_t *size, T *buf) \ { \ int ret = 1; \ \ @@ -41,7 +41,7 @@ void *xrealloc(void *ptr, size_t size); \ fseek(fp, 0, SEEK_END); \ *size = (size_t)ftell(fp); \ - *size += (*size % sizeof(u32)); \ + *size += (*size % sizeof(T)); \ \ if(buf == NULL) { \ ret = 0; \ @@ -49,7 +49,7 @@ void *xrealloc(void *ptr, size_t size); } \ \ fseek(fp, 0, SEEK_SET); \ - fread(buf, sizeof(u32), *size/sizeof(u32), fp); \ + fread(buf, sizeof(T), *size/sizeof(T), fp); \ \ ret = 0; \ exit: \ diff --git a/src/graphics.c b/src/graphics.c index d603f68..e26d496 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -5,9 +5,6 @@ #include "graphics.h" #include "common.h" -// TODO: the amount of vertices is currently -// hardcoded in command_buffer_record -// thats bad // TODO: add more error checking // TODO: add log output // TODO: check for memory leaks @@ -87,8 +84,19 @@ static int buffer_create(graphics_t graphics, size_t size, VkBufferUsageFlags us static int buffer_copy(graphics_t graphics, buffer_t dest, buffer_t src, size_t size); static void buffer_destroy(graphics_t graphics, buffer_t buffer); +static int image_create(graphics_t graphics, u32 width, u32 height, + VkFormat format, VkImageTiling tiling, + VkImageUsageFlags usage, VkMemoryPropertyFlags properties, + VkImageAspectFlags aspect_flags, image_t *image); +static void image_destroy(graphics_t graphics, image_t image); + // --- Helper Functions --- -static int buffer_find_memory_type(VkPhysicalDevice device, u32 type_filter, VkMemoryPropertyFlags flags, u32 *memory_type_idx); +static int memory_find_type(VkPhysicalDevice device, u32 type_filter, VkMemoryPropertyFlags flags, u32 *memory_type_idx); + +static int image_view_create(graphics_t graphics, VkFormat format, VkImageAspectFlags aspect_flags, + VkImage image, VkImageView *image_view); +static int image_format_filter(VkPhysicalDevice device, VkFormat *candidates, size_t ncandidates, + VkImageTiling tiling, VkFormatFeatureFlags features, VkFormat *format); static bool device_is_suitable(VkPhysicalDevice phy_device, VkSurfaceKHR surface); static bool device_has_extension_support(VkPhysicalDevice phy_device); @@ -103,10 +111,11 @@ static void swap_chain_free_support_details(struct swap_chain_support_details *d static int swap_chain_choose_format(VkSurfaceFormatKHR* formats, u32 nformats, VkSurfaceFormatKHR *format); static int swap_chain_choose_present_mode(VkPresentModeKHR *modes, u32 nmodes, VkPresentModeKHR *mode); static int swap_chain_get_extent(VkSurfaceCapabilitiesKHR capabilities, VkExtent2D *extent); +static int swap_chain_choose_depth_image_format(VkPhysicalDevice device, VkFormat *format); #define CMND graphics->command_graphics #define CMND_TRNS graphics->command_transfer -static int command_buffer_record(graphics_t graphics, u32 image_index); +static int command_buffer_record(graphics_t graphics, u32 image_index, u32 nvertices); #define UBOD graphics->ubo_descriptor @@ -184,7 +193,6 @@ graphics_t graphics_create(struct graphics_info *info) CCHECK(create_buffers); CCHECK(create_descriptors); CCHECK(create_sync_objects); - return graphics; fail: @@ -224,7 +232,7 @@ void graphics_destroy(graphics_t graphics) free(graphics); } -int graphics_draw_frame(graphics_t graphics) +int graphics_draw_frame(graphics_t graphics, u32 nvertices) { int ret = 1; @@ -247,7 +255,7 @@ int graphics_draw_frame(graphics_t graphics) // reset the command buffer vkResetCommandBuffer(CMND.buffer, 0); - command_buffer_record(graphics, image_index); + command_buffer_record(graphics, image_index, nvertices); UBO.update_ubo(UBO.mapped_data); @@ -284,10 +292,8 @@ int graphics_draw_frame(graphics_t graphics) present_info.pImageIndices = &image_index; present_info.pResults = NULL; // Optional - vkQueuePresentKHR(graphics->present_queue, &present_info); - ret = 0; exit: return ret; @@ -546,38 +552,29 @@ static int create_swap_chain(graphics_t graphics, struct graphics_info *info) vkGetSwapchainImagesKHR(graphics->logical_device, SWCH.swap_chain, &SWCH.nimages, SWCH.images); for(u32 i = 0; i < SWCH.nimages; i++) - { - VkImageViewCreateInfo create_info = {0}; - create_info.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; - create_info.image = SWCH.images[i]; - - create_info.viewType = VK_IMAGE_VIEW_TYPE_2D; - create_info.format = surface_format.format; - - create_info.components.r = VK_COMPONENT_SWIZZLE_IDENTITY; - create_info.components.g = VK_COMPONENT_SWIZZLE_IDENTITY; - create_info.components.b = VK_COMPONENT_SWIZZLE_IDENTITY; - create_info.components.a = VK_COMPONENT_SWIZZLE_IDENTITY; - - create_info.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - create_info.subresourceRange.baseMipLevel = 0; - create_info.subresourceRange.levelCount = 1; - create_info.subresourceRange.baseArrayLayer = 0; - create_info.subresourceRange.layerCount = 1; - - VCHECK(vkCreateImageView, graphics->logical_device, &create_info, NULL, &SWCH.image_views[i]); - } + image_view_create(graphics, surface_format.format, + VK_IMAGE_ASPECT_COLOR_BIT, + SWCH.images[i], &SWCH.image_views[i]); + + VkFormat depth_format; + swap_chain_choose_depth_image_format(graphics->physical_device, &depth_format); + + // creating the depth image + ECHECK(image_create, graphics, extent.width, extent.height, depth_format, VK_IMAGE_TILING_OPTIMAL, + VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, + VK_IMAGE_ASPECT_DEPTH_BIT, &SWCH.depth_image); for(u32 i = 0; i < SWCH.nimages; i++) { VkImageView attachments[] = { - SWCH.image_views[i] + SWCH.image_views[i], + SWCH.depth_image.image_view }; VkFramebufferCreateInfo framebuffer_info = {0}; framebuffer_info.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; framebuffer_info.renderPass = PPLN.render_pass; - framebuffer_info.attachmentCount = 1; + framebuffer_info.attachmentCount = ARR_SIZE(attachments); framebuffer_info.pAttachments = attachments; framebuffer_info.width = SWCH.extent.width; framebuffer_info.height = SWCH.extent.height; @@ -604,6 +601,8 @@ static void destroy_swap_chain(graphics_t graphics) free(SWCH.image_views); free(SWCH.framebuffers); } + + image_destroy(graphics, SWCH.depth_image); vkDestroySwapchainKHR(graphics->logical_device, SWCH.swap_chain, NULL); } @@ -672,10 +671,8 @@ static int create_pipeline(graphics_t graphics, struct graphics_info *info) // it is actually counter clocwise because // the y axis was reversed - // but cull mode is NONE so both sides are shown - rasterizer.frontFace = VK_FRONT_FACE_CLOCKWISE; - rasterizer.cullMode = VK_CULL_MODE_NONE; - + rasterizer.frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE; + rasterizer.cullMode = VK_CULL_MODE_BACK_BIT; rasterizer.depthBiasEnable = VK_FALSE; rasterizer.depthBiasConstantFactor = 0.0f; // Optional @@ -691,6 +688,7 @@ static int create_pipeline(graphics_t graphics, struct graphics_info *info) multisampling.alphaToCoverageEnable = VK_FALSE; // Optional multisampling.alphaToOneEnable = VK_FALSE; // Optional + // Color Blend VkPipelineColorBlendAttachmentState color_blend_attachment = {0}; color_blend_attachment.colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT; color_blend_attachment.blendEnable = VK_FALSE; @@ -711,8 +709,20 @@ static int create_pipeline(graphics_t graphics, struct graphics_info *info) color_blend.blendConstants[1] = 0.0f; // Optional color_blend.blendConstants[2] = 0.0f; // Optional color_blend.blendConstants[3] = 0.0f; // Optional + + // Depth Stencil State + VkPipelineDepthStencilStateCreateInfo depth_info = {0}; + depth_info.sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO; + depth_info.depthTestEnable = VK_TRUE; + depth_info.depthWriteEnable = VK_TRUE; + depth_info.depthCompareOp = VK_COMPARE_OP_LESS; + depth_info.depthBoundsTestEnable = VK_FALSE; + depth_info.minDepthBounds = 0.0f; // Optional + depth_info.maxDepthBounds = 1.0f; // Optional + depth_info.stencilTestEnable = VK_FALSE; - // Create UBO Descriptor + // Create Pipeline Layout + // ubo descriptor VkDescriptorSetLayoutBinding ubo_layout_binding = {0}; ubo_layout_binding.binding = 0; ubo_layout_binding.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; @@ -727,7 +737,7 @@ static int create_pipeline(graphics_t graphics, struct graphics_info *info) VCHECK(vkCreateDescriptorSetLayout, graphics->logical_device, &descriptor_set_layout_info, NULL, &PPLN.descriptor_layout); - // Create Pipeline Layout + // pipeline layout VkPipelineLayoutCreateInfo pipeline_layout_info = {0}; pipeline_layout_info.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; pipeline_layout_info.setLayoutCount = 1; @@ -745,8 +755,9 @@ static int create_pipeline(graphics_t graphics, struct graphics_info *info) swap_chain_support(graphics->physical_device, graphics->surface, &details); swap_chain_choose_format(details.formats, details.nformats, &surface_format); swap_chain_free_support_details(&details); - + // Create Render Pass + // color attachment VkAttachmentDescription color_attachment = {0}; color_attachment.format = surface_format.format; color_attachment.samples = VK_SAMPLE_COUNT_1_BIT; @@ -760,28 +771,57 @@ static int create_pipeline(graphics_t graphics, struct graphics_info *info) VkAttachmentReference color_attachment_ref = {0}; color_attachment_ref.attachment = 0; color_attachment_ref.layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; + + VkSubpassDependency dependency = {0}; + dependency.srcSubpass = VK_SUBPASS_EXTERNAL; + dependency.dstSubpass = 0; + dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; + dependency.srcAccessMask = 0; + dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; + dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; + + // depth attachemnt + VkAttachmentDescription depth_attachment = {0}; + swap_chain_choose_depth_image_format(graphics->physical_device, &depth_attachment.format); + depth_attachment.samples = VK_SAMPLE_COUNT_1_BIT; + depth_attachment.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; + depth_attachment.storeOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + depth_attachment.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + depth_attachment.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + depth_attachment.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + depth_attachment.finalLayout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; + + VkAttachmentReference depth_attachment_ref = {0}; + depth_attachment_ref.attachment = 1; + depth_attachment_ref.layout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; + VkSubpassDependency depth_dependency = {0}; + depth_dependency.srcSubpass = VK_SUBPASS_EXTERNAL; + depth_dependency.dstSubpass = 0; + depth_dependency.srcStageMask = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT; + depth_dependency.srcAccessMask = 0; + depth_dependency.dstStageMask = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT; + depth_dependency.dstAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT; + + // subpass VkSubpassDescription subpass = {0}; subpass.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS; subpass.colorAttachmentCount = 1; subpass.pColorAttachments = &color_attachment_ref; + subpass.pDepthStencilAttachment = &depth_attachment_ref; - VkSubpassDependency dependency = {0}; - dependency.srcSubpass = VK_SUBPASS_EXTERNAL; - dependency.dstSubpass = 0; - dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; - dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; - dependency.srcAccessMask = 0; - dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; + VkAttachmentDescription attachments[] = { color_attachment, depth_attachment }; + VkSubpassDependency dependencies[] = { dependency, depth_dependency }; + // render pass VkRenderPassCreateInfo render_pass_info = {0}; render_pass_info.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; - render_pass_info.attachmentCount = 1; - render_pass_info.pAttachments = &color_attachment; + render_pass_info.attachmentCount = ARR_SIZE(attachments); + render_pass_info.pAttachments = attachments; render_pass_info.subpassCount = 1; render_pass_info.pSubpasses = &subpass; - render_pass_info.dependencyCount = 1; - render_pass_info.pDependencies = &dependency; + render_pass_info.dependencyCount = ARR_SIZE(dependencies); + render_pass_info.pDependencies = dependencies; VCHECK(vkCreateRenderPass, graphics->logical_device, &render_pass_info, NULL, &PPLN.render_pass); @@ -796,7 +836,7 @@ static int create_pipeline(graphics_t graphics, struct graphics_info *info) pipeline_info.pViewportState = &viewport_state; pipeline_info.pRasterizationState = &rasterizer; pipeline_info.pMultisampleState = &multisampling; - pipeline_info.pDepthStencilState = NULL; + pipeline_info.pDepthStencilState = &depth_info; pipeline_info.pColorBlendState = &color_blend; pipeline_info.pDynamicState = &dynamic_state; @@ -1008,7 +1048,7 @@ static int buffer_create(graphics_t graphics, size_t size, VkBufferUsageFlags us allocate_info.allocationSize = memory_requirements.size; u32 memory_type_idx; - buffer_find_memory_type(graphics->physical_device, memory_requirements.memoryTypeBits, propflg, &memory_type_idx); + memory_find_type(graphics->physical_device, memory_requirements.memoryTypeBits, propflg, &memory_type_idx); allocate_info.memoryTypeIndex = memory_type_idx; VCHECK(vkAllocateMemory, graphics->logical_device, &allocate_info, NULL, &buffer->memory); @@ -1060,6 +1100,57 @@ static void buffer_destroy(graphics_t graphics, buffer_t buffer) vkFreeMemory(graphics->logical_device, buffer.memory, NULL); } +static int image_create(graphics_t graphics, u32 width, u32 height, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usageflg, VkMemoryPropertyFlags propflg, VkImageAspectFlags aspect_flags, image_t *image) +{ + int ret = 0; + + VkImageCreateInfo image_info = {0}; + image_info.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; + image_info.imageType = VK_IMAGE_TYPE_2D; + image_info.extent.width = width; + image_info.extent.height = height; + image_info.extent.depth = 1; + image_info.mipLevels = 1; + image_info.arrayLayers = 1; + image_info.format = format; + image_info.tiling = tiling; + image_info.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + image_info.usage = usageflg; + image_info.samples = VK_SAMPLE_COUNT_1_BIT; + image_info.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + + VCHECK(vkCreateImage, graphics->logical_device, &image_info, NULL, &image->image); + + VkMemoryRequirements memory_requirements; + vkGetImageMemoryRequirements(graphics->logical_device, image->image, &memory_requirements); + + VkMemoryAllocateInfo allocate_info = {0}; + allocate_info.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + allocate_info.allocationSize = memory_requirements.size; + + u32 memory_type_idx; + memory_find_type(graphics->physical_device, memory_requirements.memoryTypeBits, propflg, &memory_type_idx); + allocate_info.memoryTypeIndex = memory_type_idx; + + VCHECK(vkAllocateMemory, graphics->logical_device, &allocate_info, NULL, &image->memory); + VCHECK(vkBindImageMemory, graphics->logical_device, image->image, image->memory, 0); + + ECHECK(image_view_create, graphics, format, aspect_flags, image->image, &image->image_view); + + ret = 0; +exit: + return ret; +} + +static void image_destroy(graphics_t graphics, image_t image) +{ + vkDestroyImageView(graphics->logical_device, image.image_view, NULL); + vkDestroyImage(graphics->logical_device, image.image, NULL); + vkFreeMemory(graphics->logical_device, image.memory, NULL); +} + +// Helper Functions + static int device_queue_families(VkPhysicalDevice phy_device, VkSurfaceKHR surface, struct queue_family_idx *queue_family) { u32 count = 0; @@ -1202,6 +1293,14 @@ static int swap_chain_get_extent(VkSurfaceCapabilitiesKHR capabilities, VkExtent return 1; } +static int swap_chain_choose_depth_image_format(VkPhysicalDevice device, VkFormat *format) +{ + VkFormat candidates[] = { VK_FORMAT_D32_SFLOAT, VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT }; + + return image_format_filter(device, candidates, ARR_SIZE(candidates), VK_IMAGE_TILING_OPTIMAL, + VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT, format); +} + static int pipeline_load_shader_module(VkDevice device, char *path, VkShaderModule *module) { int ret = 1; @@ -1226,7 +1325,7 @@ exit: return ret; } -static int command_buffer_record(graphics_t graphics, u32 image_index) +static int command_buffer_record(graphics_t graphics, u32 image_index, u32 nvertices) { int ret = 1; @@ -1247,9 +1346,12 @@ static int command_buffer_record(graphics_t graphics, u32 image_index) render_pass_info.renderArea.offset = (VkOffset2D){0, 0}; render_pass_info.renderArea.extent = SWCH.extent; - VkClearValue clear_color = {{{0.0f, 0.0f, 0.0f, 1.0f}}}; - render_pass_info.clearValueCount = 1; - render_pass_info.pClearValues = &clear_color; + VkClearValue clear_values[2] = {0}; + clear_values[0].color = (VkClearColorValue){{0.0f, 0.0f, 0.0f, 1.0f}}; + clear_values[1].depthStencil = (VkClearDepthStencilValue){1.0f, 0}; + + render_pass_info.clearValueCount = ARR_SIZE(clear_values); + render_pass_info.pClearValues = clear_values; vkCmdBeginRenderPass(CMND.buffer, &render_pass_info, VK_SUBPASS_CONTENTS_INLINE); @@ -1280,13 +1382,8 @@ static int command_buffer_record(graphics_t graphics, u32 image_index) vkCmdBindDescriptorSets(CMND.buffer, VK_PIPELINE_BIND_POINT_GRAPHICS, PPLN.layout, 0, 1, &UBOD.set, 0, NULL); - // 6 is the number of vertices - // TODO: fix this -// #ifndef MONKEY - // vkCmdDrawIndexed(CMND.buffer, 6, 1, 0, 0, 0); -// #else - vkCmdDraw(CMND.buffer, 8723, 1, 0, 0); // draw monkey -// #endif + // vkCmdDrawIndexed(CMND.buffer, nvertices, 1, 0, 0, 0); + vkCmdDraw(CMND.buffer, nvertices, 1, 0, 0); // draw monkey // Cleaning up vkCmdEndRenderPass(CMND.buffer); @@ -1342,7 +1439,7 @@ static int vertex_populate_descriptions(VkVertexInputBindingDescription *binding return 0; } -static int buffer_find_memory_type(VkPhysicalDevice device, u32 type_filter, VkMemoryPropertyFlags flags, u32 *memory_type_idx) +static int memory_find_type(VkPhysicalDevice device, u32 type_filter, VkMemoryPropertyFlags flags, u32 *memory_type_idx) { VkPhysicalDeviceMemoryProperties properties; vkGetPhysicalDeviceMemoryProperties(device, &properties); @@ -1358,6 +1455,55 @@ static int buffer_find_memory_type(VkPhysicalDevice device, u32 type_filter, VkM return 1; } +static int image_view_create(graphics_t graphics, VkFormat format, VkImageAspectFlags aspect_flags, VkImage image, VkImageView *image_view) +{ + int ret = 1; + + VkImageViewCreateInfo create_info = {0}; + create_info.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; + create_info.image = image; + + create_info.viewType = VK_IMAGE_VIEW_TYPE_2D; + create_info.format = format; + + // create_info.components.r = VK_COMPONENT_SWIZZLE_IDENTITY; + // create_info.components.g = VK_COMPONENT_SWIZZLE_IDENTITY; + // create_info.components.b = VK_COMPONENT_SWIZZLE_IDENTITY; + // create_info.components.a = VK_COMPONENT_SWIZZLE_IDENTITY; + + create_info.subresourceRange.aspectMask = aspect_flags; + create_info.subresourceRange.baseMipLevel = 0; + create_info.subresourceRange.levelCount = 1; + create_info.subresourceRange.baseArrayLayer = 0; + create_info.subresourceRange.layerCount = 1; + + VCHECK(vkCreateImageView, graphics->logical_device, &create_info, NULL, image_view); + + ret = 0; +exit: + return ret; +} + +static int image_format_filter(VkPhysicalDevice device, VkFormat *candidates, size_t ncandidates, VkImageTiling tiling, VkFormatFeatureFlags features, VkFormat *format) +{ + for(size_t i = 0; i < ncandidates; i++) { + VkFormatProperties props; + vkGetPhysicalDeviceFormatProperties(device, candidates[i], &props); + + if((tiling == VK_IMAGE_TILING_LINEAR) && + ((props.linearTilingFeatures & features) == features)) { + *format = candidates[i]; + return 0; + } else if((tiling == VK_IMAGE_TILING_OPTIMAL) && + ((props.optimalTilingFeatures & features) == features)) { + *format = candidates[i]; + return 0; + } + } + + return 1; +} + #define X_VK_RESULT_TABLE(X) \ X(VK_SUCCESS) \ X(VK_NOT_READY) \ diff --git a/src/graphics.h b/src/graphics.h index bac8300..e69582a 100644 --- a/src/graphics.h +++ b/src/graphics.h @@ -25,6 +25,12 @@ typedef struct buffer { VkDeviceMemory memory; } buffer_t; +typedef struct image { + VkImage image; + VkImageView image_view; + VkDeviceMemory memory; +} image_t; + typedef struct graphics { VkInstance instance; VkDebugUtilsMessengerEXT debug_messenger; @@ -53,6 +59,8 @@ typedef struct graphics { VkFramebuffer *framebuffers; u32 nimages; + image_t depth_image; + VkFormat image_format; VkExtent2D extent; } swap_chain; @@ -105,6 +113,6 @@ struct graphics_info { graphics_t graphics_create(struct graphics_info *info); void graphics_destroy(graphics_t device); -int graphics_draw_frame(graphics_t device); +int graphics_draw_frame(graphics_t device, u32 nvertices); #endif @@ -1,12 +1,14 @@ #include <stdio.h> #include <stdlib.h> #include <sys/times.h> + +#define CGLM_FORCE_DEPTH_ZERO_TO_ONE #include <cglm/cglm.h> #include <cglm/struct.h> #include "objload.h" - #define MONKEY + #include "graphics.h" #include "window.h" #include "common.h" @@ -30,15 +32,21 @@ struct ubo { vertex_t vertices[] = { {{-0.5f, -0.5f, 0.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 0.0f, 0.0f}}, - {{ 0.5f, -0.5f, -0.5f}, {0.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}}, + {{ 0.5f, -0.5f, 0.0f}, {0.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}}, {{ 0.5f, 0.5f, 0.0f}, {0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 1.0f}}, + {{-0.5f, 0.5f, 0.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}}, + + {{-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f, 0.0f}, {1.0f, 0.0f, 0.0f}}, + {{ 0.5f, -0.5f, -0.5f}, {0.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}}, + {{ 0.5f, 0.5f, -0.5f}, {0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 1.0f}}, {{-0.5f, 0.5f, -0.5f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}}, }; #endif u32 indices[] = { - 0, 1, 2, 2, 3, 0 + 0, 1, 2, 2, 3, 0, + 4, 5, 6, 6, 7, 4, }; @@ -84,7 +92,6 @@ int main(void) }; obj_transfer_raw(obj, obj_metadata, &nvertices, NULL); - // leaks memory objvertices = xcalloc(nvertices, sizeof(*objvertices)); obj_transfer_raw(obj, obj_metadata, &nvertices, objvertices); @@ -141,11 +148,19 @@ int main(void) running = 0; break; } - - graphics_draw_frame(graphics); + + #ifndef MONKEY + graphics_draw_frame(graphics, grph_info.nindices); + #else + graphics_draw_frame(graphics, grph_info.nvertices); + #endif } ret = 0; + +#ifdef MONKEY + free(objvertices); +#endif graphics_destroy(graphics); f3: window_destroy(window); @@ -164,7 +179,7 @@ int update_ubo(void *uniform_buffer) glm_rotate(ubo->model, time * glm_rad(90.0f), (vec3){0.0f, 0.0f, 1.0f}); - glm_lookat((vec3){2.0f, 2.0f, 2.0f}, (vec3){0.0f, 0.0f, 0.0f}, (vec3){0.0f, 0.0f, 1.0f}, ubo->view); + glm_lookat((vec3){2.0f, 2.0f, 0.0f}, (vec3){0.0f, 0.0f, 0.0f}, (vec3){0.0f, 0.0f, 1.0f}, ubo->view); glm_perspective(glm_rad(45.0f), (float)width/(float)height, 0.1f, 10.0f, ubo->proj); diff --git a/src/objload.h b/src/objload.h index 8993f25..d850f3c 100644 --- a/src/objload.h +++ b/src/objload.h @@ -29,7 +29,6 @@ typedef struct objload { } (*faces)[3]; } objload_t; - struct obj_struct_metadata { size_t full_sz; @@ -54,7 +53,7 @@ OBJRES obj_transfer_raw(objload_t obj, struct obj_struct_metadata metadata, size_t *nvbo, void *vbo); -// OBJRES obj_transfer_indxed(objload_t obj, +// OBJRES obj_transfer_indexed(objload_t obj, // size_t *nvbo, obj_vbo vbo, // size_t *nidx, obj_idx ibo); #endif |