aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inc/scop.h12
-rw-r--r--res/brick.bmpbin0 -> 196662 bytes
-rw-r--r--res/cylinder.mtl10
-rw-r--r--res/cylinder.obj268
-rw-r--r--res/monkey.mtl10
-rw-r--r--res/monkey.obj2071
-rw-r--r--shader/fragment.glsl5
-rw-r--r--shader/vertex.glsl3
-rw-r--r--src/center.c22
-rw-r--r--src/color.c20
-rw-r--r--src/gl.c14
-rw-r--r--src/glfw.c4
-rw-r--r--src/main.c92
-rw-r--r--src/texture.c54
14 files changed, 2530 insertions, 55 deletions
diff --git a/inc/scop.h b/inc/scop.h
index 15e7eb1..fb48a81 100644
--- a/inc/scop.h
+++ b/inc/scop.h
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/05/09 10:41:44 by charles #+# #+# */
-/* Updated: 2020/05/13 12:15:23 by charles ### ########.fr */
+/* Updated: 2020/05/13 16:36:10 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -44,6 +44,9 @@ typedef struct
int model_location;
int view_location;
int proj_location;
+ GLenum polygon_mode;
+ double polygon_mode_last_time;
+ float fov;
} t_gl_state;
union u_color
@@ -99,6 +102,8 @@ unsigned int shader_new(void);
** texture.c
*/
+unsigned int texture_new(char *filepath);
+
/*
** helper.c
*/
@@ -115,7 +120,10 @@ void center_mat4_init_translate(t_ftmmat4 *dst, float *vertices, size_t vertic
** color.c
*/
-bool color_merge_vertices(t_object *object);
+bool color_merge_vertices(t_object *object, float *coords);
+
+
+float *texture_coord_create(float *vertices, size_t vertices_len);
#endif
diff --git a/res/brick.bmp b/res/brick.bmp
new file mode 100644
index 0000000..ea6e753
--- /dev/null
+++ b/res/brick.bmp
Binary files differ
diff --git a/res/cylinder.mtl b/res/cylinder.mtl
new file mode 100644
index 0000000..f231bdf
--- /dev/null
+++ b/res/cylinder.mtl
@@ -0,0 +1,10 @@
+# Blender MTL File: 'None'
+# Material Count: 1
+
+newmtl None
+Ns 500
+Ka 0.8 0.8 0.8
+Kd 0.8 0.8 0.8
+Ks 0.8 0.8 0.8
+d 1
+illum 2
diff --git a/res/cylinder.obj b/res/cylinder.obj
new file mode 100644
index 0000000..8ba4f3a
--- /dev/null
+++ b/res/cylinder.obj
@@ -0,0 +1,268 @@
+# Blender v2.82 (sub 7) OBJ File: ''
+# www.blender.org
+mtllib cylinder.mtl
+o Cylinder
+v 0.000000 -1.000000 -1.000000
+v 0.000000 1.000000 -1.000000
+v 0.195090 -1.000000 -0.980785
+v 0.195090 1.000000 -0.980785
+v 0.382683 -1.000000 -0.923880
+v 0.382683 1.000000 -0.923880
+v 0.555570 -1.000000 -0.831470
+v 0.555570 1.000000 -0.831470
+v 0.707107 -1.000000 -0.707107
+v 0.707107 1.000000 -0.707107
+v 0.831470 -1.000000 -0.555570
+v 0.831470 1.000000 -0.555570
+v 0.923880 -1.000000 -0.382683
+v 0.923880 1.000000 -0.382683
+v 0.980785 -1.000000 -0.195090
+v 0.980785 1.000000 -0.195090
+v 1.000000 -1.000000 -0.000000
+v 1.000000 1.000000 -0.000000
+v 0.980785 -1.000000 0.195090
+v 0.980785 1.000000 0.195090
+v 0.923880 -1.000000 0.382683
+v 0.923880 1.000000 0.382683
+v 0.831470 -1.000000 0.555570
+v 0.831470 1.000000 0.555570
+v 0.707107 -1.000000 0.707107
+v 0.707107 1.000000 0.707107
+v 0.555570 -1.000000 0.831470
+v 0.555570 1.000000 0.831470
+v 0.382683 -1.000000 0.923880
+v 0.382683 1.000000 0.923880
+v 0.195090 -1.000000 0.980785
+v 0.195090 1.000000 0.980785
+v -0.000000 -1.000000 1.000000
+v -0.000000 1.000000 1.000000
+v -0.195091 -1.000000 0.980785
+v -0.195091 1.000000 0.980785
+v -0.382684 -1.000000 0.923879
+v -0.382684 1.000000 0.923879
+v -0.555571 -1.000000 0.831469
+v -0.555571 1.000000 0.831469
+v -0.707107 -1.000000 0.707106
+v -0.707107 1.000000 0.707106
+v -0.831470 -1.000000 0.555570
+v -0.831470 1.000000 0.555570
+v -0.923880 -1.000000 0.382683
+v -0.923880 1.000000 0.382683
+v -0.980785 -1.000000 0.195089
+v -0.980785 1.000000 0.195089
+v -1.000000 -1.000000 -0.000001
+v -1.000000 1.000000 -0.000001
+v -0.980785 -1.000000 -0.195091
+v -0.980785 1.000000 -0.195091
+v -0.923879 -1.000000 -0.382684
+v -0.923879 1.000000 -0.382684
+v -0.831469 -1.000000 -0.555571
+v -0.831469 1.000000 -0.555571
+v -0.707106 -1.000000 -0.707108
+v -0.707106 1.000000 -0.707108
+v -0.555569 -1.000000 -0.831470
+v -0.555569 1.000000 -0.831470
+v -0.382682 -1.000000 -0.923880
+v -0.382682 1.000000 -0.923880
+v -0.195089 -1.000000 -0.980786
+v -0.195089 1.000000 -0.980786
+vt 1.000000 0.500000
+vt 1.000000 1.000000
+vt 0.968750 1.000000
+vt 0.968750 0.500000
+vt 0.937500 1.000000
+vt 0.937500 0.500000
+vt 0.906250 1.000000
+vt 0.906250 0.500000
+vt 0.875000 1.000000
+vt 0.875000 0.500000
+vt 0.843750 1.000000
+vt 0.843750 0.500000
+vt 0.812500 1.000000
+vt 0.812500 0.500000
+vt 0.781250 1.000000
+vt 0.781250 0.500000
+vt 0.750000 1.000000
+vt 0.750000 0.500000
+vt 0.718750 1.000000
+vt 0.718750 0.500000
+vt 0.687500 1.000000
+vt 0.687500 0.500000
+vt 0.656250 1.000000
+vt 0.656250 0.500000
+vt 0.625000 1.000000
+vt 0.625000 0.500000
+vt 0.593750 1.000000
+vt 0.593750 0.500000
+vt 0.562500 1.000000
+vt 0.562500 0.500000
+vt 0.531250 1.000000
+vt 0.531250 0.500000
+vt 0.500000 1.000000
+vt 0.500000 0.500000
+vt 0.468750 1.000000
+vt 0.468750 0.500000
+vt 0.437500 1.000000
+vt 0.437500 0.500000
+vt 0.406250 1.000000
+vt 0.406250 0.500000
+vt 0.375000 1.000000
+vt 0.375000 0.500000
+vt 0.343750 1.000000
+vt 0.343750 0.500000
+vt 0.312500 1.000000
+vt 0.312500 0.500000
+vt 0.281250 1.000000
+vt 0.281250 0.500000
+vt 0.250000 1.000000
+vt 0.250000 0.500000
+vt 0.218750 1.000000
+vt 0.218750 0.500000
+vt 0.187500 1.000000
+vt 0.187500 0.500000
+vt 0.156250 1.000000
+vt 0.156250 0.500000
+vt 0.125000 1.000000
+vt 0.125000 0.500000
+vt 0.093750 1.000000
+vt 0.093750 0.500000
+vt 0.062500 1.000000
+vt 0.062500 0.500000
+vt 0.296822 0.485388
+vt 0.250000 0.490000
+vt 0.203179 0.485389
+vt 0.158156 0.471731
+vt 0.116663 0.449553
+vt 0.080295 0.419706
+vt 0.050447 0.383337
+vt 0.028269 0.341844
+vt 0.014612 0.296822
+vt 0.010000 0.250000
+vt 0.014611 0.203179
+vt 0.028269 0.158156
+vt 0.050447 0.116663
+vt 0.080294 0.080294
+vt 0.116663 0.050447
+vt 0.158156 0.028269
+vt 0.203178 0.014612
+vt 0.250000 0.010000
+vt 0.296822 0.014612
+vt 0.341844 0.028269
+vt 0.383337 0.050447
+vt 0.419706 0.080294
+vt 0.449553 0.116663
+vt 0.471731 0.158156
+vt 0.485388 0.203178
+vt 0.490000 0.250000
+vt 0.485388 0.296822
+vt 0.471731 0.341844
+vt 0.449553 0.383337
+vt 0.419706 0.419706
+vt 0.383337 0.449553
+vt 0.341844 0.471731
+vt 0.031250 1.000000
+vt 0.031250 0.500000
+vt 0.000000 1.000000
+vt 0.000000 0.500000
+vt 0.750000 0.490000
+vt 0.796822 0.485388
+vt 0.841844 0.471731
+vt 0.883337 0.449553
+vt 0.919706 0.419706
+vt 0.949553 0.383337
+vt 0.971731 0.341844
+vt 0.985388 0.296822
+vt 0.990000 0.250000
+vt 0.985388 0.203178
+vt 0.971731 0.158156
+vt 0.949553 0.116663
+vt 0.919706 0.080294
+vt 0.883337 0.050447
+vt 0.841844 0.028269
+vt 0.796822 0.014612
+vt 0.750000 0.010000
+vt 0.703178 0.014612
+vt 0.658156 0.028269
+vt 0.616663 0.050447
+vt 0.580294 0.080294
+vt 0.550447 0.116663
+vt 0.528269 0.158156
+vt 0.514611 0.203179
+vt 0.510000 0.250000
+vt 0.514612 0.296822
+vt 0.528269 0.341844
+vt 0.550447 0.383337
+vt 0.580295 0.419706
+vt 0.616663 0.449553
+vt 0.658156 0.471731
+vt 0.703179 0.485389
+vn 0.0980 0.0000 -0.9952
+vn 0.2903 0.0000 -0.9569
+vn 0.4714 0.0000 -0.8819
+vn 0.6344 0.0000 -0.7730
+vn 0.7730 0.0000 -0.6344
+vn 0.8819 0.0000 -0.4714
+vn 0.9569 0.0000 -0.2903
+vn 0.9952 0.0000 -0.0980
+vn 0.9952 0.0000 0.0980
+vn 0.9569 0.0000 0.2903
+vn 0.8819 0.0000 0.4714
+vn 0.7730 0.0000 0.6344
+vn 0.6344 0.0000 0.7730
+vn 0.4714 0.0000 0.8819
+vn 0.2903 0.0000 0.9569
+vn 0.0980 0.0000 0.9952
+vn -0.0980 0.0000 0.9952
+vn -0.2903 0.0000 0.9569
+vn -0.4714 0.0000 0.8819
+vn -0.6344 0.0000 0.7730
+vn -0.7730 0.0000 0.6344
+vn -0.8819 0.0000 0.4714
+vn -0.9569 0.0000 0.2903
+vn -0.9952 0.0000 0.0980
+vn -0.9952 0.0000 -0.0980
+vn -0.9569 0.0000 -0.2903
+vn -0.8819 0.0000 -0.4714
+vn -0.7730 0.0000 -0.6344
+vn -0.6344 0.0000 -0.7730
+vn -0.4714 0.0000 -0.8819
+vn 0.0000 1.0000 -0.0000
+vn -0.2903 0.0000 -0.9569
+vn -0.0980 0.0000 -0.9952
+vn 0.0000 -1.0000 -0.0000
+usemtl None
+s off
+f 1/1/1 2/2/1 4/3/1 3/4/1
+f 3/4/2 4/3/2 6/5/2 5/6/2
+f 5/6/3 6/5/3 8/7/3 7/8/3
+f 7/8/4 8/7/4 10/9/4 9/10/4
+f 9/10/5 10/9/5 12/11/5 11/12/5
+f 11/12/6 12/11/6 14/13/6 13/14/6
+f 13/14/7 14/13/7 16/15/7 15/16/7
+f 15/16/8 16/15/8 18/17/8 17/18/8
+f 17/18/9 18/17/9 20/19/9 19/20/9
+f 19/20/10 20/19/10 22/21/10 21/22/10
+f 21/22/11 22/21/11 24/23/11 23/24/11
+f 23/24/12 24/23/12 26/25/12 25/26/12
+f 25/26/13 26/25/13 28/27/13 27/28/13
+f 27/28/14 28/27/14 30/29/14 29/30/14
+f 29/30/15 30/29/15 32/31/15 31/32/15
+f 31/32/16 32/31/16 34/33/16 33/34/16
+f 33/34/17 34/33/17 36/35/17 35/36/17
+f 35/36/18 36/35/18 38/37/18 37/38/18
+f 37/38/19 38/37/19 40/39/19 39/40/19
+f 39/40/20 40/39/20 42/41/20 41/42/20
+f 41/42/21 42/41/21 44/43/21 43/44/21
+f 43/44/22 44/43/22 46/45/22 45/46/22
+f 45/46/23 46/45/23 48/47/23 47/48/23
+f 47/48/24 48/47/24 50/49/24 49/50/24
+f 49/50/25 50/49/25 52/51/25 51/52/25
+f 51/52/26 52/51/26 54/53/26 53/54/26
+f 53/54/27 54/53/27 56/55/27 55/56/27
+f 55/56/28 56/55/28 58/57/28 57/58/28
+f 57/58/29 58/57/29 60/59/29 59/60/29
+f 59/60/30 60/59/30 62/61/30 61/62/30
+f 4/63/31 2/64/31 64/65/31 62/66/31 60/67/31 58/68/31 56/69/31 54/70/31 52/71/31 50/72/31 48/73/31 46/74/31 44/75/31 42/76/31 40/77/31 38/78/31 36/79/31 34/80/31 32/81/31 30/82/31 28/83/31 26/84/31 24/85/31 22/86/31 20/87/31 18/88/31 16/89/31 14/90/31 12/91/31 10/92/31 8/93/31 6/94/31
+f 61/62/32 62/61/32 64/95/32 63/96/32
+f 63/96/33 64/95/33 2/97/33 1/98/33
+f 1/99/34 3/100/34 5/101/34 7/102/34 9/103/34 11/104/34 13/105/34 15/106/34 17/107/34 19/108/34 21/109/34 23/110/34 25/111/34 27/112/34 29/113/34 31/114/34 33/115/34 35/116/34 37/117/34 39/118/34 41/119/34 43/120/34 45/121/34 47/122/34 49/123/34 51/124/34 53/125/34 55/126/34 57/127/34 59/128/34 61/129/34 63/130/34
diff --git a/res/monkey.mtl b/res/monkey.mtl
new file mode 100644
index 0000000..f231bdf
--- /dev/null
+++ b/res/monkey.mtl
@@ -0,0 +1,10 @@
+# Blender MTL File: 'None'
+# Material Count: 1
+
+newmtl None
+Ns 500
+Ka 0.8 0.8 0.8
+Kd 0.8 0.8 0.8
+Ks 0.8 0.8 0.8
+d 1
+illum 2
diff --git a/res/monkey.obj b/res/monkey.obj
new file mode 100644
index 0000000..c4e8a62
--- /dev/null
+++ b/res/monkey.obj
@@ -0,0 +1,2071 @@
+# Blender v2.82 (sub 7) OBJ File: ''
+# www.blender.org
+mtllib monkey.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
+
+vt 0.890955 0.590063
+vt 0.870622 0.589649
+vt 0.860081 0.560115
+vt 0.904571 0.559404
+vt 0.856226 0.850547
+vt 0.868067 0.821510
+vt 0.888398 0.821999
+vt 0.900640 0.853232
+vt 0.853018 0.521562
+vt 0.920166 0.524546
+vt 0.847458 0.888748
+vt 0.914672 0.888748
+vt 0.828900 0.590771
+vt 0.798481 0.569535
+vt 0.795104 0.838402
+vt 0.826436 0.818537
+vt 0.854402 0.604754
+vt 0.852534 0.805700
+vt 0.854107 0.625459
+vt 0.828171 0.633354
+vt 0.827598 0.775964
+vt 0.853157 0.785002
+vt 0.791018 0.645443
+vt 0.791018 0.762238
+vt 0.855181 0.668527
+vt 0.842358 0.702491
+vt 0.844839 0.707525
+vt 0.856142 0.742025
+vt 0.867508 0.642291
+vt 0.867293 0.768782
+vt 0.890474 0.641909
+vt 0.900375 0.666964
+vt 0.901223 0.745592
+vt 0.890219 0.770183
+vt 0.918898 0.699697
+vt 0.921180 0.713713
+vt 0.931889 0.636832
+vt 0.968392 0.645333
+vt 0.968213 0.770220
+vt 0.931368 0.777093
+vt 0.905882 0.627902
+vt 0.904990 0.784860
+vt 0.906232 0.605742
+vt 0.933717 0.593037
+vt 0.931250 0.820926
+vt 0.904357 0.807013
+vt 0.968392 0.573812
+vt 0.965038 0.841671
+vt 0.902359 0.607909
+vt 0.889591 0.593275
+vt 0.900583 0.804677
+vt 0.887178 0.818729
+vt 0.899781 0.626257
+vt 0.898822 0.786233
+vt 0.887842 0.636527
+vt 0.887351 0.775442
+vt 0.870908 0.635245
+vt 0.870376 0.775972
+vt 0.859881 0.623942
+vt 0.858859 0.786774
+vt 0.859664 0.608186
+vt 0.857942 0.802505
+vt 0.871664 0.593961
+vt 0.869299 0.817249
+vt 0.879400 0.616512
+vt 0.878029 0.795063
+vt 0.540260 0.053805
+vt 0.536419 0.062072
+vt 0.518925 0.059681
+vt 0.518916 0.050294
+vt 0.501452 0.062043
+vt 0.497626 0.053770
+vt 0.551930 0.058338
+vt 0.542788 0.064089
+vt 0.495083 0.064047
+vt 0.485955 0.058273
+vt 0.555073 0.061900
+vt 0.546290 0.072669
+vt 0.491565 0.072625
+vt 0.482805 0.061829
+vt 0.563812 0.076586
+vt 0.548333 0.084893
+vt 0.489507 0.084858
+vt 0.474014 0.076511
+vt 0.583135 0.108495
+vt 0.555621 0.121749
+vt 0.482177 0.121781
+vt 0.454527 0.108481
+vt 0.605512 0.165134
+vt 0.647395 0.200502
+vt 0.621513 0.227818
+vt 0.553118 0.209599
+vt 0.416514 0.229490
+vt 0.389677 0.201890
+vt 0.432024 0.165644
+vt 0.485339 0.210053
+vt 0.676379 0.233241
+vt 0.664761 0.253225
+vt 0.372747 0.256357
+vt 0.360308 0.235899
+vt 0.715342 0.265392
+vt 0.683908 0.279995
+vt 0.353696 0.284606
+vt 0.320452 0.270303
+vt 0.707254 0.310054
+vt 0.687515 0.311539
+vt 0.351187 0.317440
+vt 0.330721 0.316853
+vt 0.697446 0.332673
+vt 0.676824 0.323937
+vt 0.362723 0.329722
+vt 0.341964 0.339667
+vt 0.662817 0.372521
+vt 0.639050 0.357330
+vt 0.402772 0.362131
+vt 0.379297 0.378686
+vt 0.626842 0.395792
+vt 0.618316 0.375151
+vt 0.424583 0.379267
+vt 0.416915 0.400552
+vt 0.604826 0.397804
+vt 0.600808 0.377857
+vt 0.442396 0.381222
+vt 0.439252 0.401540
+vt 0.553095 0.390512
+vt 0.559674 0.357011
+vt 0.482938 0.358497
+vt 0.490934 0.391862
+vt 0.521923 0.386009
+vt 0.521086 0.343868
+vt 0.577279 0.340156
+vt 0.599845 0.344815
+vt 0.441977 0.347815
+vt 0.464579 0.342230
+vt 0.615546 0.342005
+vt 0.425972 0.345582
+vt 0.634472 0.332311
+vt 0.406362 0.336480
+vt 0.662406 0.312804
+vt 0.377061 0.317685
+vt 0.668440 0.297958
+vt 0.370304 0.302644
+vt 0.664101 0.277872
+vt 0.374100 0.281778
+vt 0.639236 0.253047
+vt 0.398938 0.255633
+vt 0.613992 0.242662
+vt 0.424464 0.244473
+vt 0.572941 0.258564
+vt 0.466409 0.259709
+vt 0.563905 0.272007
+vt 0.519760 0.248864
+vt 0.475886 0.273078
+vt 0.558527 0.316594
+vt 0.482619 0.317843
+vt 0.520277 0.294764
+vt 0.556923 0.291214
+vt 0.483433 0.292249
+vt 0.525483 0.068967
+vt 0.518928 0.067899
+vt 0.512375 0.068956
+vt 0.531231 0.073829
+vt 0.506626 0.073811
+vt 0.531019 0.087431
+vt 0.506827 0.087416
+vt 0.532042 0.127713
+vt 0.532669 0.090920
+vt 0.505177 0.090908
+vt 0.505828 0.127728
+vt 0.538112 0.158382
+vt 0.518981 0.151749
+vt 0.518941 0.128358
+vt 0.499851 0.158434
+vt 0.518925 0.093952
+vt 0.518927 0.085180
+vt 0.548362 0.173560
+vt 0.537959 0.175966
+vt 0.535214 0.166808
+vt 0.502799 0.166857
+vt 0.500100 0.176033
+vt 0.489683 0.173693
+vt 0.544281 0.193366
+vt 0.537248 0.187577
+vt 0.500890 0.187571
+vt 0.493996 0.193428
+vt 0.519841 0.200843
+vt 0.528757 0.191785
+vt 0.509219 0.191626
+vt 0.517577 0.190607
+vt 0.519132 0.185382
+vt 0.518998 0.159028
+vt 0.531131 0.171631
+vt 0.519016 0.165599
+vt 0.506910 0.171667
+vt 0.519099 0.179457
+vt 0.528222 0.186316
+vt 0.509787 0.186260
+vt 0.533528 0.184215
+vt 0.504547 0.184206
+vt 0.533449 0.176739
+vt 0.504604 0.176791
+vt 0.561572 0.167779
+vt 0.476363 0.167996
+vt 0.559475 0.149319
+vt 0.478371 0.149447
+vt 0.596138 0.133426
+vt 0.441395 0.133592
+vt 0.601169 0.147885
+vt 0.436337 0.148194
+vt 0.518925 0.083865
+vt 0.528933 0.084957
+vt 0.508915 0.084945
+vt 0.529036 0.075429
+vt 0.508820 0.075415
+vt 0.523751 0.070508
+vt 0.514106 0.070501
+vt 0.518929 0.069468
+vt 0.521560 0.074970
+vt 0.518928 0.074259
+vt 0.516297 0.074966
+vt 0.524236 0.076691
+vt 0.513619 0.076684
+vt 0.524601 0.079886
+vt 0.513252 0.079879
+vt 0.518926 0.079331
+vt 0.571787 0.277295
+vt 0.568351 0.292904
+vt 0.468070 0.278617
+vt 0.471978 0.294282
+vt 0.573085 0.311386
+vt 0.467790 0.313081
+vt 0.584855 0.327708
+vt 0.456477 0.329961
+vt 0.580734 0.266620
+vt 0.458737 0.268049
+vt 0.611720 0.255725
+vt 0.427062 0.257728
+vt 0.632494 0.262853
+vt 0.406068 0.265508
+vt 0.653658 0.279971
+vt 0.384904 0.283634
+vt 0.656064 0.297636
+vt 0.383015 0.301864
+vt 0.652752 0.310186
+vt 0.386858 0.314615
+vt 0.629040 0.323864
+vt 0.411556 0.327673
+vt 0.614408 0.331972
+vt 0.426727 0.335361