Work on assignment 4
authorLuke Lau <luke_lau@icloud.com>
Fri, 26 Oct 2018 21:21:01 +0000 (22:21 +0100)
committerLuke Lau <luke_lau@icloud.com>
Fri, 26 Oct 2018 21:21:01 +0000 (22:21 +0100)
20 files changed:
.gitignore
CMakeLists.txt
Makefile [new file with mode: 0644]
assignment-2/Makefile [new file with mode: 0644]
assignment-3/Makefile [new file with mode: 0644]
assignment-3/ambient.png [new file with mode: 0644]
assignment-3/diffuse.png [new file with mode: 0644]
assignment-3/final.png [new file with mode: 0644]
assignment-3/report.latex [new file with mode: 0644]
assignment-3/specular.png [new file with mode: 0644]
chest.obj [new file with mode: 0755]
gradientfrag.glsl [moved from fragment.glsl with 100% similarity]
latexMakefile [new file with mode: 0644]
main.cpp
model.cpp [new file with mode: 0644]
model.hpp [new file with mode: 0644]
monkeyhead_smooth.dae [new file with mode: 0755]
plainfrag.glsl [new file with mode: 0644]
plainvertex.glsl [moved from solidvertex.glsl with 100% similarity]
solidfrag.glsl

index 2e68889..bc1c2f2 100644 (file)
@@ -1,10 +1,10 @@
+tags
 .DS_Store
 *.swp
 CMakeCache.txt
 CMakeFiles
 CMakeScripts
 Testing
-Makefile
 cmake_install.cmake
 install_manifest.txt
 compile_commands.json
index 2e6b60c..dbd4180 100644 (file)
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.6)
 project(opengl)
 set(CMAKE_BINARY_DIR "bin")
 set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
-add_executable(main main.cpp)
+add_executable(main main.cpp model.cpp)
 
 find_package(OpenGL REQUIRED)
 include_directories(${OPENGL_INCLUDE_DIRS})
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..5b60118
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,5 @@
+all: main
+       
+main:
+       clang++ -g --std=c++11 *.cpp -L/usr/local/lib -lassimp -framework OpenGL -framework glut -lglew -o bin/main
+       ctags *.cpp
diff --git a/assignment-2/Makefile b/assignment-2/Makefile
new file mode 100644 (file)
index 0000000..d8f5235
--- /dev/null
@@ -0,0 +1,3 @@
+all: report.pdf
+%.pdf: %.latex
+       pdflatex -shell-escape $<
diff --git a/assignment-3/Makefile b/assignment-3/Makefile
new file mode 100644 (file)
index 0000000..d8f5235
--- /dev/null
@@ -0,0 +1,3 @@
+all: report.pdf
+%.pdf: %.latex
+       pdflatex -shell-escape $<
diff --git a/assignment-3/ambient.png b/assignment-3/ambient.png
new file mode 100644 (file)
index 0000000..ece4b0b
Binary files /dev/null and b/assignment-3/ambient.png differ
diff --git a/assignment-3/diffuse.png b/assignment-3/diffuse.png
new file mode 100644 (file)
index 0000000..87a40be
Binary files /dev/null and b/assignment-3/diffuse.png differ
diff --git a/assignment-3/final.png b/assignment-3/final.png
new file mode 100644 (file)
index 0000000..94dd61d
Binary files /dev/null and b/assignment-3/final.png differ
diff --git a/assignment-3/report.latex b/assignment-3/report.latex
new file mode 100644 (file)
index 0000000..5117b7a
--- /dev/null
@@ -0,0 +1,112 @@
+\documentclass{article}
+\usepackage{fullpage}
+\usepackage{graphicx}
+\usepackage{minted}
+\begin{document}
+
+\title{Assignment 3}
+\author{Luke Lau 15336810}
+\maketitle
+
+\begin{figure}[!htb]
+\includegraphics[width=\textwidth]{final}
+               \caption{The final product}
+\end{figure}
+
+\section{Normal generation}
+In order to calculate the lighting on the pyramids, I needed to work out their normals.
+The tutorial I've been following, \texttt{http://learnopengl.com}, has the normals for a cube
+pre-calculated in an array, and this also seems to be the standard way they are loaded from
+.obj and other model files.
+
+However I did not know the normals for the pyramid, and wanted to use something more dynamic in case
+I decide to change the shape later, so I wrote a function to calculate them:
+
+\inputminted[firstline=441,lastline=453,gobble=1]{c++}{../main.cpp}
+
+\section{Phong Lighting}
+Now that I had the normals for the pyramid, I was able to add some lighting.
+It's built up out of three components.
+
+\begin{figure}[!htb]
+\minipage{0.32\textwidth}
+  \includegraphics[width=\linewidth]{ambient}
+  \caption{Simple, global ambient lighting. The white cube is the light source.}
+\endminipage\hfill
+\minipage{0.32\textwidth}
+  \includegraphics[width=\linewidth]{diffuse}
+  \caption{Ambient with diffuse lighting. Sides facing the light are brighter.}
+\endminipage\hfill
+\minipage{0.32\textwidth}
+  \includegraphics[width=\linewidth]{specular}
+  \caption{Ambient, diffuse and specular lighting, giving a shiny appearance.}
+\endminipage
+\end{figure}
+
+\subsection{Ambient}
+Ambient lighting provides the global background lighting even when there's no direct light source.
+It is described as being similar to the light reflected from the moon during night time.
+
+\begin{minted}{c++}
+void main() {
+       float ambient = 0.1;
+       FragColor = ambient * color;
+}
+\end{minted}
+
+\subsection{Diffuse}
+Diffuse lighting is the lighting calculated for each surface.
+It's strongest whenever the light direction is facing the normal, and so can be calculated
+with the dot product of the two vertices.
+
+\begin{minted}{c++}
+void main() {
+       float ambient = 0.1;
+       vec3 lightDir = normalize(fragPos - lightPos);
+       float diffuse = max(0, dot(-normal, lightDir));
+       FragColor = (ambient + diffuse) * color;
+}
+\end{minted}
+
+\subsection{Specular}
+Specular lighting gives objects a sheen. It takes into account the angle that the surface is being viewed at, 
+so the shader needs this information passed in as a uniform.
+The vector that the light reflects off of the normal is calculated,
+and then if the camera angle/vector is facing at this, then the lighting is intensified exponentially.
+
+\begin{minted}{c++}
+void main() {
+       float ambient = 0.1;
+       vec3 lightDir = normalize(fragPos - lightPos);
+       float diffuse = max(0, dot(-normal, lightDir));
+
+       float specularStrength = 0.5;
+       vec3 viewDir = normalize(fragPos - viewPos);
+       vec3 reflectDir = reflect(-lightDir, normal);
+       float specular = pow(max(0, dot(viewDir, reflectDir)), 256);    
+
+       FragColor = (ambient + diffuse + specular) * color;
+}
+\end{minted}
+
+\section{Multiple shader programs}
+This program uses three shader programs in total:
+
+\begin{enumerate}
+               \item The previous "rainbow" shader program for the pyramids
+               \item A flat "solid" shader for the light source cube which is just one colour with no lighting.
+               \item A normal shader where the fragment depends on the normal, used for the teapot. This shader has lighting
+\end{enumerate}
+
+I was able to reuse the same vector shader for both the rainbow and normal shader, since they took in the same uniforms and inputs.
+To switch between the different programs when drawing, the program calls \mintinline{cpp}{glUseProgram}.
+
+\section{Interesting things}
+The light source is animated, and seems to be correctly updated even when applying transformations such as and scales rotations to the pyramids.
+
+When drawing the four other teapots in the smaller viewports, I found myself having to clear the depth buffer with \mintinline{cpp}{glClear(GL_DEPTH_BUFFER_BIT)} before drawing them, otherwise they would sometimes draw behind the pyramids/big teapot in the main viewport.
+
+\section{Projection}
+I wrote up about projection and the camera in the second assignment report, and so haven't included it here.
+
+\end{document}
diff --git a/assignment-3/specular.png b/assignment-3/specular.png
new file mode 100644 (file)
index 0000000..f51d7e0
Binary files /dev/null and b/assignment-3/specular.png differ
diff --git a/chest.obj b/chest.obj
new file mode 100755 (executable)
index 0000000..fed8fd8
--- /dev/null
+++ b/chest.obj
@@ -0,0 +1,2687 @@
+# Blender v2.71 (sub 0) OBJ File: 'chest.blend'
+# www.blender.org
+mtllib chest.mtl
+o lock_Cube.002
+v 0.294679 1.226395 -0.960431
+v 0.305228 1.215846 -0.960375
+v 0.305172 1.226395 -0.949826
+v 0.294129 1.226373 -0.983864
+v 0.304755 1.226395 -0.994357
+v 0.305352 1.215846 -0.983805
+v 0.365671 1.215846 -0.983484
+v 0.366408 1.226395 -0.994030
+v 0.376923 1.226371 -0.983425
+v 0.376095 1.226395 -0.959999
+v 0.365490 1.226395 -0.949505
+v 0.365546 1.215846 -0.960055
+v 0.264524 1.391448 -0.960591
+v 0.279100 1.389387 -0.949964
+v 0.268754 1.410486 -0.950019
+v 0.258261 1.410486 -0.960624
+v 0.264138 1.391094 -0.984023
+v 0.258385 1.410486 -0.984054
+v 0.268990 1.410486 -0.994547
+v 0.277890 1.389387 -0.994500
+v 0.394392 1.389387 -0.993881
+v 0.403766 1.410486 -0.993831
+v 0.414259 1.410486 -0.983226
+v 0.408330 1.391212 -0.983258
+v 0.407695 1.391582 -0.959831
+v 0.414135 1.410486 -0.959797
+v 0.403530 1.410486 -0.949304
+v 0.392628 1.389387 -0.949361
+v 0.305172 1.340037 -0.949826
+v 0.299948 1.361135 -0.949853
+v 0.287386 1.359088 -0.960438
+v 0.293662 1.340037 -0.960387
+v 0.285750 1.359441 -0.983943
+v 0.294964 1.360759 -0.999525
+v 0.300139 1.340037 -0.998828
+v 0.291510 1.340037 -0.983927
+v 0.370997 1.340037 -0.997906
+v 0.376261 1.360817 -0.998551
+v 0.385598 1.359325 -0.983415
+v 0.379661 1.340037 -0.983463
+v 0.383611 1.358957 -0.959925
+v 0.370852 1.361135 -0.949477
+v 0.365490 1.340037 -0.949505
+v 0.377156 1.340037 -0.959939
+v 0.300139 1.293765 -0.998828
+v 0.300830 1.272670 -0.998832
+v 0.292183 1.272688 -0.983923
+v 0.291510 1.293765 -0.983927
+v 0.378957 1.272690 -0.983467
+v 0.370273 1.272670 -0.997917
+v 0.370997 1.293765 -0.997906
+v 0.379661 1.293765 -0.983463
+v 0.365490 1.293765 -0.949505
+v 0.365490 1.272667 -0.949505
+v 0.377156 1.272667 -0.959939
+v 0.377156 1.293765 -0.959939
+v 0.293662 1.272667 -0.960387
+v 0.305172 1.272667 -0.949826
+v 0.305172 1.293765 -0.949826
+v 0.293662 1.293765 -0.960387
+v 0.356585 1.410486 -0.994082
+v 0.377683 1.410486 -0.993970
+v 0.375221 1.389634 -0.996252
+v 0.353365 1.389634 -0.996368
+v 0.362478 1.226260 -0.995731
+v 0.362125 1.215846 -0.983503
+v 0.341027 1.215846 -0.983615
+v 0.341372 1.226260 -0.995843
+v 0.374642 1.389387 -0.949457
+v 0.377447 1.410486 -0.949442
+v 0.356349 1.410486 -0.949554
+v 0.352527 1.389387 -0.949574
+v 0.340903 1.215846 -0.960185
+v 0.362001 1.215846 -0.960073
+v 0.361945 1.226395 -0.949524
+v 0.340847 1.226395 -0.949636
+v 0.366740 1.361080 -0.998469
+v 0.363305 1.340037 -1.001014
+v 0.352867 1.340037 -0.994437
+v 0.342300 1.350586 -0.994476
+v 0.345438 1.360888 -1.002740
+v 0.340847 1.340037 -0.949636
+v 0.361945 1.340037 -0.949524
+v 0.365767 1.361135 -0.949504
+v 0.343652 1.361135 -0.949621
+v 0.352867 1.293765 -0.994437
+v 0.363305 1.293765 -1.001014
+v 0.363018 1.272799 -0.999332
+v 0.342679 1.272801 -1.003343
+v 0.342300 1.283216 -0.994476
+v 0.361945 1.272667 -0.949524
+v 0.361945 1.293765 -0.949524
+v 0.340847 1.293765 -0.949636
+v 0.340847 1.272667 -0.949636
+v 0.326450 1.215846 -0.983693
+v 0.305352 1.215846 -0.983805
+v 0.305099 1.226260 -0.996035
+v 0.326207 1.226260 -0.995923
+v 0.309146 1.410486 -0.949805
+v 0.288048 1.410486 -0.949917
+v 0.291092 1.389387 -0.949901
+v 0.313424 1.389387 -0.949782
+v 0.314597 1.340037 -0.994644
+v 0.304399 1.340037 -1.000780
+v 0.300534 1.361109 -0.998190
+v 0.321835 1.360888 -1.002865
+v 0.325168 1.350586 -0.994567
+v 0.304695 1.272797 -0.999094
+v 0.304399 1.293765 -1.000780
+v 0.314597 1.293765 -0.994644
+v 0.325168 1.283216 -0.994567
+v 0.324847 1.272801 -1.003438
+v 0.313007 1.389634 -0.996582
+v 0.290988 1.389634 -0.996699
+v 0.288285 1.410486 -0.994445
+v 0.309383 1.410486 -0.994333
+v 0.305172 1.226395 -0.949826
+v 0.305228 1.215846 -0.960375
+v 0.326326 1.215846 -0.960263
+v 0.326270 1.226395 -0.949714
+v 0.300894 1.361135 -0.949848
+v 0.305172 1.340037 -0.949826
+v 0.326270 1.340037 -0.949714
+v 0.323227 1.361135 -0.949730
+v 0.326270 1.293765 -0.949714
+v 0.305172 1.293765 -0.949826
+v 0.305172 1.272667 -0.949826
+v 0.326270 1.272667 -0.949714
+v 0.341611 1.350586 -0.983449
+v 0.352177 1.340037 -0.983376
+v 0.340970 1.340037 -0.972903
+v 0.340970 1.293765 -0.972903
+v 0.352177 1.293765 -0.983376
+v 0.341611 1.283216 -0.983449
+v 0.315236 1.340037 -0.983568
+v 0.325805 1.350586 -0.983533
+v 0.326393 1.340037 -0.972980
+v 0.326393 1.293765 -0.972980
+v 0.325805 1.283216 -0.983533
+v 0.315236 1.293765 -0.983568
+v 0.268810 1.465490 -0.960568
+v 0.258261 1.454940 -0.960624
+v 0.268754 1.454940 -0.950019
+v 0.268990 1.454940 -0.994547
+v 0.258385 1.454940 -0.984054
+v 0.268934 1.465490 -0.983998
+v 0.414259 1.454940 -0.983226
+v 0.403766 1.454940 -0.993831
+v 0.403710 1.465490 -0.983282
+v 0.403530 1.454940 -0.949304
+v 0.414135 1.454940 -0.959797
+v 0.403586 1.465490 -0.959853
+v 0.377683 1.454940 -0.993970
+v 0.356585 1.454940 -0.994082
+v 0.356529 1.465490 -0.983533
+v 0.377627 1.465490 -0.983421
+v 0.356349 1.454940 -0.949554
+v 0.377447 1.454940 -0.949442
+v 0.377503 1.465490 -0.959991
+v 0.356405 1.465490 -0.960103
+v 0.288104 1.465490 -0.960466
+v 0.288048 1.454940 -0.949917
+v 0.309146 1.454940 -0.949805
+v 0.309202 1.465490 -0.960354
+v 0.309327 1.465490 -0.983783
+v 0.309383 1.454940 -0.994333
+v 0.288285 1.454940 -0.994445
+v 0.288229 1.465490 -0.983895
+usemtl None
+s off
+f 127 58 3 117
+f 54 91 75 11
+f 74 66 7 12
+f 46 108 97 5
+f 88 50 8 65
+f 32 36 48 60
+f 15 100 162 143
+f 26 23 147 151
+f 63 21 38 77
+f 13 17 33 31
+f 122 29 59 126
+f 43 83 92 53
+f 78 37 51 87
+f 35 104 109 45
+f 72 102 124 85
+f 101 14 30 121
+f 112 89 68 98
+f 94 128 120 76
+f 61 116 166 154
+f 70 27 150 158
+f 137 131 132 138
+f 113 64 81 106
+f 79 86 133 130
+f 119 95 67 73
+f 99 71 157 163
+f 90 111 139 134
+f 49 55 10 9
+f 57 47 4 1
+f 115 19 144 167
+f 40 44 56 52
+f 161 168 146 141
+f 110 103 135 140
+f 82 123 125 93
+f 107 80 129 136
+f 152 149 156 159
+f 160 155 165 164
+f 22 62 153 148
+f 18 16 142 145
+f 28 69 84 42
+f 24 25 41 39
+f 20 114 105 34
+f 1 2 3
+f 4 5 6
+f 7 8 9
+f 10 11 12
+f 13 14 15 16
+f 17 18 19 20
+f 21 22 23 24
+f 25 26 27 28
+f 29 30 31 32
+f 33 34 35 36
+f 37 38 39 40
+f 41 42 43 44
+f 45 46 47 48
+f 49 50 51 52
+f 53 54 55 56
+f 57 58 59 60
+f 61 62 63 64
+f 65 66 67 68
+f 69 70 71 72
+f 73 74 75 76
+f 77 78 79 80 81
+f 82 83 84 85
+f 86 87 88 89 90
+f 91 92 93 94
+f 95 96 97 98
+f 99 100 101 102
+f 103 104 105 106 107
+f 108 109 110 111 112
+f 113 114 115 116
+f 117 118 119 120
+f 121 122 123 124
+f 125 126 127 128
+f 129 130 131
+f 132 133 134
+f 135 136 137
+f 138 139 140
+f 141 142 143
+f 144 145 146
+f 147 148 149
+f 150 151 152
+f 153 154 155 156
+f 157 158 159 160
+f 161 162 163 164
+f 165 166 167 168
+f 30 14 13 31
+f 16 18 17 13
+f 46 5 4 47
+f 6 2 1 4
+f 62 22 21 63
+f 49 9 8 50
+f 96 6 5 97
+f 23 26 25 24
+f 54 11 10 55
+f 12 7 9 10
+f 100 15 14 101
+f 74 12 11 75
+f 57 1 3 58
+f 33 17 20 34
+f 38 21 24 39
+f 41 25 28 42
+f 36 32 31 33
+f 104 35 34 105
+f 44 40 39 41
+f 83 43 42 84
+f 48 36 35 45
+f 51 37 40 52
+f 56 44 43 53
+f 59 29 32 60
+f 47 57 60 48
+f 108 46 45 109
+f 55 49 52 56
+f 91 54 53 92
+f 114 20 19 115
+f 65 8 7 66
+f 69 28 27 70
+f 117 3 2 118
+f 77 38 37 78
+f 121 30 29 122
+f 87 51 50 88
+f 126 59 58 127
+f 88 65 68 89
+f 94 76 75 91
+f 66 74 73 67
+f 115 167 166 116
+f 63 77 81 64
+f 72 85 84 69
+f 78 87 86 79
+f 82 93 92 83
+f 98 68 67 95
+f 102 72 71 99
+f 106 81 80 107
+f 111 90 89 112
+f 116 61 64 113
+f 119 73 76 120
+f 123 82 85 124
+f 128 94 93 125
+f 127 117 120 128
+f 153 62 61 154
+f 101 121 124 102
+f 122 126 125 123
+f 112 98 97 108
+f 95 119 118 96
+f 113 106 105 114
+f 103 110 109 104
+f 130 133 132 131
+f 136 129 131 137
+f 138 132 134 139
+f 137 138 140 135
+f 139 111 110 140
+f 107 136 135 103
+f 133 86 90 134
+f 79 130 129 80
+f 141 146 145 142
+f 156 149 148 153
+f 149 152 151 147
+f 161 141 143 162
+f 167 144 146 168
+f 158 150 152 159
+f 155 160 159 156
+f 163 157 160 164
+f 165 155 154 166
+f 168 161 164 165
+f 162 100 99 163
+f 70 158 157 71
+f 26 151 150 27
+f 18 145 144 19
+f 142 16 15 143
+f 22 148 147 23
+f 2 6 96 118
+o door_Cube.001
+v -1.398615 1.518256 -0.885267
+v 1.856258 1.494578 -0.936381
+v 1.907661 1.575525 1.083437
+v -1.315875 1.559031 1.130913
+v 1.865683 1.567229 -0.877434
+v -1.314875 1.468790 -0.891277
+v -1.424634 1.718384 0.347101
+v 1.933865 1.701412 -0.183884
+v 1.868860 1.929461 0.358061
+v -1.331225 1.507308 0.354125
+v 0.189134 1.494085 -0.961188
+v 1.598892 1.559525 1.162345
+v 0.188779 1.566982 -0.894315
+v 1.609756 1.468543 -0.883726
+v 0.182177 1.929461 0.349105
+v 1.633454 1.658208 -0.127992
+v 0.177899 1.559525 1.154800
+v 0.188763 1.468543 -0.891271
+v 1.455336 1.642512 -0.636458
+v -1.129524 1.494085 -0.968190
+v -1.129879 1.566982 -0.901317
+v -1.136482 1.929461 0.342103
+v -1.421720 1.701412 -0.201701
+v 1.871774 1.912488 -0.190741
+v -1.328311 1.490335 -0.194677
+v 1.936293 1.601657 -0.641175
+v 0.185091 1.912488 -0.199697
+v 0.193165 1.642512 -0.643159
+v -0.978110 1.642512 -0.649378
+v -1.133568 1.912488 -0.206699
+v 1.930951 1.718384 0.364918
+v -1.427117 1.644165 0.814819
+v 1.866362 1.766643 0.828519
+v -1.333694 1.521688 0.819103
+v 0.179679 1.766643 0.819563
+v -1.073048 1.671760 0.295872
+v -1.070721 1.658208 -0.142351
+v -1.138980 1.766643 0.812562
+v 1.610127 1.494085 -0.953643
+v 1.609772 1.566982 -0.886770
+v 1.603170 1.929461 0.356650
+v 1.845193 1.559031 1.147698
+v 1.865667 1.468790 -0.874390
+v 1.868791 1.507308 0.371116
+v 1.606084 1.912488 -0.192152
+v 1.871705 1.490335 -0.177686
+v 1.600672 1.766643 0.827108
+v 1.866322 1.521688 0.836094
+v -1.419292 1.601657 -0.658992
+v 1.874188 1.727202 -0.645387
+v -1.325869 1.476111 -0.654613
+v 0.187505 1.727202 -0.654343
+v -1.068771 1.646849 -0.509612
+v 1.629156 1.683243 0.681518
+v -1.131154 1.727202 -0.661345
+v 1.918020 1.518256 -0.867656
+v 1.608498 1.727202 -0.646798
+v 1.874147 1.476111 -0.637622
+v -1.140759 1.559525 1.147798
+v -1.129895 1.468543 -0.898273
+v -1.075019 1.683243 0.667160
+v -1.304809 1.494578 -0.953166
+v -1.314859 1.567229 -0.894322
+v -1.331156 1.929461 0.341070
+v 1.447493 1.688194 0.840642
+v -1.328242 1.912488 -0.207733
+v 0.185322 1.688194 0.833941
+v -1.333654 1.766643 0.811528
+v -0.985953 1.688194 0.827722
+v -1.325828 1.727202 -0.662378
+v 1.928467 1.644165 0.832636
+v -1.408975 1.575525 1.065827
+v 1.855238 1.621923 1.089709
+v -1.325319 1.529621 1.075676
+v 0.178250 1.622170 1.088783
+v 1.599227 1.529868 1.099182
+v 0.178234 1.529868 1.091637
+v -1.140409 1.622170 1.081781
+v 1.599242 1.622170 1.096328
+v 1.855223 1.529621 1.092564
+v -1.140424 1.529868 1.084635
+v -1.325304 1.621923 1.072822
+v 1.297528 1.836213 0.248835
+v 0.194179 1.836213 0.242976
+v 1.299268 1.826080 -0.078807
+v 0.195918 1.826080 -0.084666
+v 1.296054 1.844798 0.526433
+v 0.192705 1.844798 0.520574
+v 1.300726 1.817588 -0.353395
+v 0.197376 1.817588 -0.359254
+v -0.829712 1.836213 0.237540
+v -0.827973 1.826080 -0.090103
+v -0.831186 1.844798 0.515138
+v -0.826515 1.817588 -0.364690
+v 1.631127 1.671760 0.310230
+v 1.635404 1.646849 -0.495254
+v -1.376092 1.562908 1.106468
+v -1.377684 1.481280 -0.886008
+v -1.365288 1.500744 -0.928410
+v -1.388054 1.610200 1.066862
+v 1.858608 1.474293 -0.920455
+v 1.892982 1.500744 -0.911109
+v -1.307319 1.526580 -0.938882
+v 1.894548 1.540974 1.086433
+v 1.882178 1.562908 1.123769
+v 1.904940 1.555109 -0.870862
+v -1.318238 1.537840 1.117532
+v 1.847706 1.588593 1.132773
+v -1.388065 1.540974 1.069003
+v -1.377672 1.555109 -0.888291
+v 1.904928 1.481280 -0.868579
+v 1.894559 1.610200 1.084292
+v -1.423200 1.725424 0.077176
+v 1.932384 1.725424 0.094993
+v 1.870296 1.951874 0.087660
+v -1.329794 1.498974 0.084675
+v -1.307328 1.474293 -0.937265
+v 1.858617 1.526579 -0.922072
+v 1.847698 1.537840 1.134342
+v -1.318230 1.588593 1.115962
+v -1.329720 1.951874 0.070669
+v 1.870221 1.498974 0.101666
+v 1.153097 1.494085 -0.956070
+v 1.141861 1.559525 1.159918
+v 1.149053 1.912488 -0.194579
+v 1.142212 1.622170 1.093901
+v 1.142197 1.529868 1.096755
+v 0.189048 1.526148 -0.944898
+v 0.177981 1.538272 1.139437
+v 0.189039 1.473861 -0.943281
+v 0.177989 1.589025 1.137868
+v 0.183613 1.951874 0.078704
+v -0.760480 1.559525 1.149817
+v -0.760144 1.529868 1.086655
+v -0.749244 1.494085 -0.966171
+v -0.753288 1.912488 -0.204680
+v -0.760129 1.622170 1.083800
+v -1.398385 1.543104 -0.196681
+v 1.918359 1.859719 -0.188862
+v -1.398333 1.859719 -0.206473
+v 1.918307 1.543104 -0.179071
+v 1.152741 1.566982 -0.889197
+v 1.152725 1.468543 -0.886153
+v -0.749616 1.468543 -0.896254
+v -0.749599 1.566982 -0.899298
+v -1.420361 1.656703 -0.457700
+v 1.873127 1.831024 -0.445604
+v -1.326946 1.482383 -0.451813
+v 1.935224 1.656703 -0.439883
+v 0.186444 1.831024 -0.454560
+v 1.634544 1.651858 -0.333317
+v 1.632270 1.665106 0.095073
+v -1.132214 1.831024 -0.461561
+v -1.401247 1.876692 0.342330
+v 1.915393 1.560077 0.369732
+v -1.401299 1.560077 0.352121
+v 1.915445 1.876692 0.359940
+v 1.146139 1.929461 0.354223
+v 1.590759 1.643597 -0.600677
+v 1.049387 1.642512 -0.638613
+v -0.756202 1.929461 0.344123
+v 1.929625 1.688546 0.614573
+v -1.425959 1.688546 0.596755
+v 1.867528 1.862100 0.608875
+v -1.332544 1.514993 0.602619
+v 0.180845 1.862100 0.599920
+v -0.640333 1.642512 -0.647585
+v -1.071905 1.665106 0.080714
+v -1.137813 1.862100 0.592918
+v 1.610032 1.473861 -0.935736
+v 1.598982 1.589025 1.145413
+v 1.604606 1.951874 0.086249
+v 1.610041 1.526148 -0.937353
+v 1.598973 1.538272 1.146982
+v -1.069631 1.651858 -0.347675
+v 1.607437 1.831024 -0.447015
+v 1.873070 1.482383 -0.434822
+v 1.601838 1.862100 0.607465
+v 1.867471 1.514993 0.619610
+v 1.773442 1.494208 -0.948787
+v 1.776703 1.727202 -0.645905
+v 1.771375 1.929461 0.357543
+v 1.762249 1.559401 1.159224
+v 1.783399 1.518795 -0.602195
+v 1.778312 1.548421 0.355730
+v 1.774289 1.912488 -0.191259
+v 1.781079 1.532303 -0.165428
+v 1.765024 1.622108 1.095213
+v 1.765008 1.529806 1.098068
+v -1.395946 1.507497 -0.655956
+v 1.920777 1.695816 -0.644169
+v -1.395916 1.695816 -0.661780
+v 1.920746 1.507497 -0.638345
+v 1.151467 1.727202 -0.649225
+v -1.045733 1.643597 -0.614676
+v 1.630074 1.677897 0.508654
+v -0.750874 1.727202 -0.659325
+v 1.775532 1.567044 -0.883896
+v 1.775516 1.468605 -0.880851
+v -1.413661 1.550698 -0.802530
+v 1.872519 1.629709 -0.789521
+v -1.322654 1.471565 -0.801595
+v 0.188281 1.629647 -0.800458
+v 1.570968 1.513103 -0.787378
+v 0.189680 1.513103 -0.794713
+v -1.130378 1.629647 -0.807460
+v 1.932186 1.550698 -0.784764
+v 1.609274 1.629647 -0.792913
+v 1.872493 1.471565 -0.784630
+v -1.129611 1.526148 -0.951899
+v -1.140678 1.538272 1.132435
+v -1.074101 1.677897 0.494296
+v -1.129619 1.473861 -0.950282
+v -1.140670 1.589025 1.130866
+v -1.135046 1.951874 0.071703
+v 1.583315 1.686956 0.801341
+v -1.326888 1.831024 -0.462595
+v 1.041544 1.688194 0.838487
+v -1.332487 1.862100 0.591884
+v -1.092132 1.513104 -0.801519
+v -1.322628 1.629709 -0.806486
+v -1.235153 1.559401 1.143308
+v -1.226756 1.468605 -0.896793
+v -1.219959 1.548421 0.339810
+v -1.223961 1.494208 -0.964702
+v -1.226740 1.567044 -0.899837
+v -1.235765 1.929461 0.341576
+v -1.217192 1.532303 -0.181347
+v -1.232851 1.912488 -0.207226
+v -1.237263 1.529806 1.082127
+v -1.237248 1.622108 1.079272
+v -1.214872 1.518796 -0.618115
+v -1.230437 1.727202 -0.661872
+v -1.403741 1.736023 0.812103
+v 1.912921 1.552307 0.835395
+v -1.403772 1.552307 0.817784
+v 1.912951 1.736023 0.829713
+v 1.143641 1.766643 0.824682
+v -0.648176 1.688194 0.829515
+v -1.053178 1.686956 0.787342
+v -0.758700 1.766643 0.814581
+v 1.768877 1.766643 0.828001
+v 1.775968 1.562076 0.797285
+v -1.222303 1.562076 0.781365
+v -1.238263 1.766643 0.812034
+v 1.922729 1.601179 0.996471
+v -1.423119 1.601179 0.978706
+v 1.863039 1.675710 0.995846
+v -1.332132 1.526771 0.983486
+v 0.178780 1.675772 0.988897
+v 1.561464 1.568459 1.002538
+v 0.180176 1.568459 0.995204
+v -1.139879 1.675772 0.981895
+v 1.599773 1.675772 0.996442
+v 1.863015 1.526771 1.000452
+v -1.101636 1.568459 0.988397
+v -1.332108 1.675710 0.978880
+v 0.944400 1.826080 -0.080692
+v 0.195033 1.831238 0.082111
+v -0.532699 1.826080 -0.088535
+v 1.300083 1.821332 -0.232321
+v 0.196733 1.821332 -0.238179
+v 0.942661 1.836213 0.246950
+v -0.534439 1.836213 0.239107
+v 1.296741 1.840801 0.397189
+v 0.193391 1.840801 0.391330
+v 1.298383 1.831238 0.087970
+v 1.463426 1.774903 -0.388440
+v 1.459958 1.795100 0.264603
+v 1.461845 1.784112 -0.090684
+v 0.945858 1.817588 -0.355280
+v -0.531241 1.817588 -0.363123
+v 1.339657 1.772198 -0.476588
+v 0.196602 1.772198 -0.482657
+v -0.828858 1.831238 0.076674
+v -0.827157 1.821332 -0.243616
+v -0.830500 1.840801 0.385894
+v -0.864135 1.772198 -0.488290
+v -0.929847 1.795100 0.251914
+v -0.927961 1.784112 -0.103373
+v -0.926380 1.774903 -0.401129
+v 0.941187 1.844798 0.524548
+v -0.535913 1.844798 0.516705
+v 1.458360 1.804409 0.565624
+v -0.931445 1.804409 0.552934
+v 1.333596 1.807498 0.664830
+v 0.190541 1.807498 0.658760
+v -0.870196 1.807498 0.653128
+v -1.364372 1.587814 1.098623
+v -1.353648 1.527741 -0.921064
+v 1.887355 1.527741 -0.903856
+v 1.876631 1.587814 1.115832
+v -1.364379 1.544746 1.099955
+v -1.353656 1.482627 -0.919670
+v 1.887348 1.482627 -0.902461
+v 1.876624 1.544746 1.117164
+v -1.399868 1.555587 0.082552
+v -1.399812 1.895262 0.072048
+v 1.916825 1.555587 0.100163
+v 1.916880 1.895262 0.089658
+v 1.153002 1.473861 -0.938162
+v 1.153010 1.526148 -0.939779
+v 1.141943 1.538272 1.144555
+v 1.141951 1.589025 1.142986
+v 1.147575 1.951874 0.083823
+v -0.749331 1.526148 -0.949880
+v -0.760398 1.538272 1.134455
+v -0.749340 1.473861 -0.948263
+v -0.760390 1.589025 1.132885
+v -0.754766 1.951874 0.073722
+v -1.397021 1.525963 -0.453533
+v 1.919714 1.787444 -0.444009
+v -1.396978 1.787444 -0.461619
+v 1.919671 1.525963 -0.435922
+v 1.150407 1.831024 -0.449441
+v -0.751934 1.831024 -0.459542
+v -1.402577 1.818711 0.592854
+v 1.914072 1.558381 0.618515
+v -1.402620 1.558381 0.600905
+v 1.914115 1.818711 0.610465
+v 1.144808 1.862100 0.605038
+v -0.757533 1.862100 0.594937
+v 1.773958 1.473969 -0.931375
+v 1.762945 1.588917 1.142793
+v 1.772811 1.951874 0.087142
+v 1.773967 1.526256 -0.932992
+v 1.762937 1.538164 1.144363
+v 1.779671 1.540507 0.099853
+v 1.775642 1.831024 -0.446122
+v 1.782376 1.524751 -0.409611
+v 1.770043 1.862100 0.608358
+v 1.777059 1.555719 0.591706
+v -1.390916 1.491379 -0.801073
+v 1.917276 1.609987 -0.787176
+v -1.390896 1.609987 -0.804741
+v 1.917257 1.491379 -0.783508
+v 1.152243 1.629647 -0.795340
+v 1.126707 1.513103 -0.789737
+v -0.722478 1.513104 -0.799556
+v -0.750098 1.629647 -0.805441
+v 1.776867 1.629662 -0.791524
+v 1.762471 1.498666 -0.769253
+v -1.224653 1.526256 -0.948914
+v -1.235683 1.538164 1.128441
+v -1.218600 1.540507 0.083933
+v -1.224662 1.473969 -0.947297
+v -1.235675 1.588917 1.126871
+v -1.234329 1.951874 0.071175
+v -1.215895 1.524752 -0.425530
+v -1.231498 1.831024 -0.462089
+v -1.221212 1.555719 0.575786
+v -1.237097 1.862100 0.592391
+v -1.204240 1.498666 -0.785005
+v -1.229056 1.629662 -0.807485
+v -1.400360 1.657047 0.977598
+v 1.907794 1.545342 0.998618
+v -1.400378 1.545342 0.981052
+v 1.907812 1.657047 0.995163
+v 1.142742 1.675772 0.994015
+v 1.117203 1.568459 1.000179
+v -0.731982 1.568459 0.990360
+v -0.759599 1.675772 0.983914
+v 1.767372 1.675757 0.996833
+v 1.753159 1.552902 0.984447
+v -1.213552 1.552902 0.968695
+v -1.238551 1.675757 0.980873
+v 0.943515 1.831238 0.086085
+v -0.533585 1.831238 0.078242
+v 0.945215 1.821332 -0.234205
+v -0.531884 1.821332 -0.242048
+v 0.941873 1.840801 0.395304
+v -0.535226 1.840801 0.387461
+v 1.460885 1.789705 0.090165
+v 1.462729 1.778964 -0.257150
+v 1.459104 1.800075 0.425475
+v 0.972019 1.772198 -0.478540
+v -0.558236 1.772198 -0.486665
+v 1.464878 1.739538 -0.486413
+v -0.928921 1.789705 0.077476
+v -0.927077 1.778964 -0.269839
+v -0.930701 1.800075 0.412785
+v -0.941288 1.739538 -0.499189
+v 0.965958 1.807498 0.662878
+v -0.564296 1.807498 0.654752
+v 1.458709 1.775469 0.675398
+v -0.947457 1.775469 0.662622
+vt 0.043236 0.962362
+vt 0.035681 0.925820
+vt 0.048841 0.919702
+vt 0.053184 0.959014
+vt 0.059418 0.975160
+vt 0.054172 0.981198
+vt 0.054348 0.980608
+vt 0.044713 0.967685
+vt 0.034914 0.932610
+vt 0.935386 0.992466
+vt 0.912728 0.998116
+vt 0.910753 0.987647
+vt 0.933789 0.982728
+vt 0.942494 0.975160
+vt 0.946069 0.981198
+vt 0.947555 0.980608
+vt 0.939539 0.989141
+vt 0.916197 0.994125
+vt 0.954807 0.035655
+vt 0.962117 0.073530
+vt 0.951562 0.079299
+vt 0.947293 0.038760
+vt 0.942772 0.023862
+vt 0.946305 0.018326
+vt 0.947608 0.018643
+vt 0.955193 0.030584
+vt 0.964596 0.067110
+vt 0.070961 0.007546
+vt 0.093059 0.001887
+vt 0.095023 0.011780
+vt 0.072544 0.016706
+vt 0.059139 0.023862
+vt 0.053935 0.018326
+vt 0.054295 0.018643
+vt 0.067008 0.010462
+vt 0.089778 0.005473
+vt 0.945995 0.972038
+vt 0.954999 0.935570
+vt 0.927958 0.936300
+vt 0.920893 0.974915
+vt 0.955496 0.967685
+vt 0.965262 0.932610
+vt 0.071609 0.960407
+vt 0.069613 0.918327
+vt 0.099101 0.913205
+vt 0.095523 0.963213
+vt 0.095322 0.987647
+vt 0.072855 0.982728
+vt 0.017820 0.369102
+vt 0.022530 0.248433
+vt 0.044737 0.256742
+vt 0.043689 0.374379
+vt 0.043286 0.502544
+vt 0.015894 0.502643
+vt 0.000000 0.502751
+vt 0.003672 0.363363
+vt 0.012490 0.239536
+vt 0.979965 0.641045
+vt 0.975310 0.765842
+vt 0.955348 0.757049
+vt 0.956450 0.635389
+vt 0.956940 0.502544
+vt 0.981970 0.502643
+vt 1.000000 0.502751
+vt 0.996241 0.647195
+vt 0.987556 0.775258
+vt 0.989517 0.361337
+vt 0.979506 0.236430
+vt 0.950504 0.236430
+vt 0.959908 0.361337
+vt 0.963845 0.502790
+vt 0.993707 0.502790
+vt 0.996347 0.363363
+vt 0.987575 0.239536
+vt 0.068775 0.376045
+vt 0.068737 0.259391
+vt 0.094708 0.269257
+vt 0.094742 0.381198
+vt 0.094779 0.502559
+vt 0.068816 0.502513
+vt 0.479639 1.000000
+vt 0.223127 1.000000
+vt 0.224574 0.989286
+vt 0.479752 0.989286
+vt 0.741887 0.989286
+vt 0.743146 1.000000
+vt 0.745086 0.995787
+vt 0.479466 0.995787
+vt 0.220895 0.995787
+vt 0.868355 0.000000
+vt 0.913037 0.001887
+vt 0.911054 0.011780
+vt 0.866439 0.010138
+vt 0.742065 0.010138
+vt 0.743328 0.000000
+vt 0.745173 0.003810
+vt 0.871153 0.003810
+vt 0.916344 0.005473
+vt 0.479245 0.975874
+vt 0.478901 0.936543
+vt 0.213642 0.936543
+vt 0.218064 0.975874
+vt 0.747547 0.975874
+vt 0.751391 0.936543
+vt 0.865544 0.964148
+vt 0.858887 0.922657
+vt 0.909903 0.913205
+vt 0.910546 0.963213
+vt 0.866170 0.989286
+vt 0.741475 0.964148
+vt 0.737011 0.922657
+vt 0.477232 0.361337
+vt 0.477726 0.236430
+vt 0.198563 0.236430
+vt 0.192225 0.361337
+vt 0.189572 0.502790
+vt 0.477025 0.502790
+vt 0.772316 0.502790
+vt 0.770010 0.361337
+vt 0.764500 0.236430
+vt 0.889319 0.611927
+vt 0.889352 0.502701
+vt 0.917563 0.502559
+vt 0.917524 0.628356
+vt 0.917487 0.744127
+vt 0.889290 0.712451
+vt 0.852168 0.678638
+vt 0.852191 0.594391
+vt 0.852215 0.502853
+vt 0.479623 0.000000
+vt 0.479736 0.010138
+vt 0.224370 0.010138
+vt 0.222917 0.000000
+vt 0.220795 0.003810
+vt 0.479458 0.003810
+vt 0.479789 0.964148
+vt 0.479954 0.922657
+vt 0.225049 0.964148
+vt 0.229719 0.922657
+vt 0.838026 0.860365
+vt 0.876447 0.843205
+vt 0.723027 0.860365
+vt 0.708099 0.789344
+vt 0.815759 0.789344
+vt 0.849372 0.792605
+vt 0.119174 1.000000
+vt 0.093365 0.998116
+vt 0.121162 0.989286
+vt 0.116108 0.995787
+vt 0.089924 0.994125
+vt 0.112220 0.975874
+vt 0.106146 0.936543
+vt 0.078253 0.936300
+vt 0.085263 0.974915
+vt 0.076725 0.361337
+vt 0.085432 0.236430
+vt 0.055895 0.236430
+vt 0.046570 0.361337
+vt 0.042667 0.502790
+vt 0.073080 0.502790
+vt 0.017919 0.641045
+vt 0.043779 0.635389
+vt 0.044886 0.757049
+vt 0.022620 0.765842
+vt 0.012509 0.775258
+vt 0.003779 0.647195
+vt 0.989411 0.649366
+vt 0.959809 0.649366
+vt 0.950510 0.778547
+vt 0.979512 0.778547
+vt 0.068859 0.633604
+vt 0.094818 0.628356
+vt 0.094853 0.744127
+vt 0.068898 0.754246
+vt 0.969295 0.860714
+vt 0.962363 0.925820
+vt 0.951408 0.919702
+vt 0.953918 0.852146
+vt 0.976515 0.869711
+vt 0.477237 0.649366
+vt 0.192292 0.649366
+vt 0.198559 0.778547
+vt 0.477726 0.778547
+vt 0.764503 0.778547
+vt 0.769951 0.649366
+vt 0.480473 0.860365
+vt 0.244356 0.860365
+vt 0.259979 0.789344
+vt 0.481026 0.789344
+vt 0.148669 0.860365
+vt 0.128311 0.922657
+vt 0.129560 0.843205
+vt 0.150850 0.792605
+vt 0.170399 0.789344
+vt 0.076817 0.649366
+vt 0.046669 0.649366
+vt 0.055890 0.778547
+vt 0.085426 0.778547
+vt 0.980063 0.369101
+vt 0.956539 0.374379
+vt 0.955497 0.256742
+vt 0.975400 0.248433
+vt 0.028816 0.146896
+vt 0.035930 0.073530
+vt 0.048686 0.079299
+vt 0.046174 0.155097
+vt 0.024025 0.138295
+vt 0.035584 0.067110
+vt 0.966499 0.135335
+vt 0.954209 0.064281
+vt 0.927216 0.063551
+vt 0.938286 0.135335
+vt 0.976101 0.138295
+vt 0.068704 0.157747
+vt 0.069340 0.080562
+vt 0.098850 0.084647
+vt 0.094678 0.171720
+vt 0.478367 0.135335
+vt 0.478940 0.063308
+vt 0.214143 0.063308
+vt 0.206798 0.135335
+vt 0.757341 0.135335
+vt 0.750955 0.063308
+vt 0.123065 0.397330
+vt 0.123095 0.502701
+vt 0.123038 0.300139
+vt 0.152187 0.333100
+vt 0.152209 0.414548
+vt 0.152232 0.502853
+vt 0.123126 0.611927
+vt 0.123155 0.712451
+vt 0.152256 0.594391
+vt 0.152278 0.678638
+vt 0.096743 0.135335
+vt 0.106834 0.063308
+vt 0.078989 0.063551
+vt 0.068010 0.135335
+vt 0.868078 1.000000
+vt 0.871021 0.995787
+vt 0.874753 0.975874
+vt 0.880583 0.936543
+vt 0.908820 0.361337
+vt 0.900464 0.236430
+vt 0.912319 0.502790
+vt 0.935708 0.007546
+vt 0.934104 0.016706
+vt 0.939691 0.010462
+vt 0.935029 0.960407
+vt 0.937025 0.918327
+vt 0.947070 0.959014
+vt 0.937864 0.376045
+vt 0.937902 0.259391
+vt 0.937823 0.502513
+vt 0.917601 0.381198
+vt 0.917636 0.269257
+vt 0.908732 0.649366
+vt 0.900469 0.778547
+vt 0.937779 0.633604
+vt 0.937740 0.754246
+vt 0.889607 0.135335
+vt 0.879923 0.063308
+vt 0.937936 0.157747
+vt 0.937300 0.080562
+vt 0.954067 0.155097
+vt 0.917667 0.171720
+vt 0.910158 0.084647
+vt 0.028695 0.860714
+vt 0.046325 0.852146
+vt 0.023608 0.869711
+vt 0.967004 0.872810
+vt 0.938761 0.872810
+vt 0.068929 0.849380
+vt 0.094881 0.835421
+vt 0.478342 0.872810
+vt 0.206478 0.872810
+vt 0.757619 0.872810
+vt 0.123178 0.791722
+vt 0.152296 0.745076
+vt 0.889435 0.215456
+vt 0.876641 0.156633
+vt 0.889411 0.300139
+vt 0.852260 0.333100
+vt 0.852278 0.262135
+vt 0.849525 0.209594
+vt 0.096304 0.872810
+vt 0.067540 0.872810
+vt 0.954844 0.962362
+vt 0.890029 0.872810
+vt 0.937709 0.849380
+vt 0.917459 0.835421
+vt 0.118886 0.000000
+vt 0.120882 0.010138
+vt 0.115971 0.003810
+vt 0.121814 0.964148
+vt 0.123013 0.215456
+vt 0.129368 0.156633
+vt 0.150696 0.209594
+vt 0.152169 0.262135
+vt 0.071280 0.992466
+vt 0.067159 0.989141
+vt 0.060744 0.972038
+vt 0.051804 0.935570
+vt 0.017598 0.361337
+vt 0.027517 0.236430
+vt 0.013446 0.502790
+vt 0.838209 0.137024
+vt 0.723147 0.137024
+vt 0.737162 0.073785
+vt 0.859115 0.073785
+vt 0.815895 0.211564
+vt 0.708189 0.211564
+vt 0.017703 0.649366
+vt 0.027511 0.778547
+vt 0.480461 0.137024
+vt 0.244216 0.137024
+vt 0.229546 0.073785
+vt 0.479941 0.073785
+vt 0.481017 0.211564
+vt 0.259874 0.211564
+vt 0.040404 0.135335
+vt 0.052587 0.064281
+vt 0.148477 0.137024
+vt 0.128073 0.073785
+vt 0.170255 0.211564
+vt 0.039904 0.872810
+vt 0.969175 0.146896
+vt 0.043272 0.035655
+vt 0.052959 0.038760
+vt 0.045018 0.030584
+vt 0.945611 0.026316
+vt 0.920533 0.023440
+vt 0.071310 0.037285
+vt 0.095239 0.034475
+vt 0.479264 0.022481
+vt 0.218307 0.022481
+vt 0.747336 0.022481
+vt 0.865800 0.033538
+vt 0.910832 0.034475
+vt 0.741643 0.033538
+vt 0.479774 0.033538
+vt 0.224855 0.033538
+vt 0.112553 0.022481
+vt 0.085620 0.023440
+vt 0.874433 0.022481
+vt 0.935330 0.037285
+vt 0.121549 0.033538
+vt 0.061125 0.026316
+vt 0.808078 0.420548
+vt 0.808096 0.344585
+vt 0.852238 0.414548
+vt 0.808059 0.502906
+vt 0.702937 0.502906
+vt 0.702949 0.420548
+vt 0.702961 0.344585
+vt 0.481213 0.420548
+vt 0.481212 0.344585
+vt 0.481214 0.502906
+vt 0.265377 0.502906
+vt 0.265362 0.420548
+vt 0.265348 0.344585
+vt 0.808039 0.588281
+vt 0.808021 0.666855
+vt 0.702912 0.666855
+vt 0.702924 0.588281
+vt 0.481216 0.588281
+vt 0.481217 0.666855
+vt 0.265406 0.666855
+vt 0.265392 0.588281
+vt 0.808111 0.278401
+vt 0.702971 0.278401
+vt 0.481211 0.278401
+vt 0.265337 0.278401
+vt 0.808007 0.728820
+vt 0.852151 0.745076
+vt 0.702902 0.728820
+vt 0.481218 0.728820
+vt 0.265417 0.728820
+vt 0.177888 0.420548
+vt 0.177869 0.344585
+vt 0.177908 0.502906
+vt 0.177929 0.588281
+vt 0.177948 0.666855
+vt 0.177853 0.278401
+vt 0.177963 0.728820
+vt 0.889382 0.397330
+vt 0.889267 0.791722
+usemtl Material.001
+s off
+f 169/1 368/2 501/3 266/4
+f 169/1 266/4 462/5 267/6
+f 169/1 267/6 458/7 278/8
+f 169/1 278/8 503/9 368/2
+f 170/10 348/11 491/12 269/13
+f 170/10 269/13 463/14 270/15
+f 170/10 270/15 459/16 286/17
+f 170/10 286/17 494/18 348/11
+f 171/19 414/20 524/21 272/22
+f 171/19 272/22 464/23 273/24
+f 171/19 273/24 460/25 280/26
+f 171/19 280/26 526/27 414/20
+f 172/28 390/29 512/30 275/31
+f 172/28 275/31 461/32 265/33
+f 172/28 265/33 457/34 288/35
+f 172/28 288/35 515/36 390/29
+f 173/37 369/38 509/39 366/40
+f 173/37 366/40 494/18 286/17
+f 173/37 286/17 459/16 274/41
+f 173/37 274/41 502/42 369/38
+f 174/43 370/44 521/45 391/46
+f 174/43 391/46 514/47 285/48
+f 174/43 285/48 462/5 266/4
+f 174/43 266/4 501/3 370/44
+f 175/49 331/50 487/51 324/52
+f 175/49 324/52 465/53 281/54
+f 175/49 281/54 466/55 322/56
+f 175/49 322/56 485/57 331/50
+f 176/58 317/59 482/60 309/61
+f 176/58 309/61 467/62 282/63
+f 176/58 282/63 468/64 307/65
+f 176/58 307/65 480/66 317/59
+f 177/67 332/68 499/69 350/70
+f 177/67 350/70 493/71 283/72
+f 177/67 283/72 468/64 325/73
+f 177/67 325/73 488/74 332/68
+f 178/75 333/76 519/77 392/78
+f 178/75 392/78 513/79 284/80
+f 178/75 284/80 465/53 324/52
+f 178/75 324/52 487/51 333/76
+f 179/81 303/82 476/83 298/84
+f 179/81 298/84 469/85 291/86
+f 179/81 291/86 470/87 296/88
+f 179/81 296/88 474/89 303/82
+f 180/90 351/91 495/92 342/93
+f 180/90 342/93 471/94 292/95
+f 180/90 292/95 472/96 339/97
+f 180/90 339/97 492/98 351/91
+f 181/99 371/100 508/101 313/102
+f 181/99 313/102 474/89 296/88
+f 181/99 296/88 470/87 310/103
+f 181/99 310/103 505/104 371/100
+f 182/105 372/106 510/107 367/108
+f 182/105 367/108 491/12 338/109
+f 182/105 338/109 469/85 311/110
+f 182/105 311/110 506/111 372/106
+f 183/112 334/113 490/114 329/115
+f 183/112 329/115 478/116 300/117
+f 183/112 300/117 473/118 326/119
+f 183/112 326/119 489/120 334/113
+f 184/121 320/122 496/123 355/124
+f 184/121 355/124 498/125 319/126
+f 184/121 319/126 542/127 438/128
+f 184/121 438/128 541/129 320/122
+f 185/130 292/95 471/94 297/131
+f 185/130 297/131 475/132 301/133
+f 185/130 301/133 477/134 299/135
+f 185/130 299/135 472/96 292/95
+f 186/136 373/137 506/111 311/110
+f 186/136 311/110 469/85 298/84
+f 186/136 298/84 476/83 312/138
+f 186/136 312/138 507/139 373/137
+f 187/140 327/141 510/107 372/106
+f 187/140 372/106 506/111 328/142
+f 187/140 328/142 544/143 441/144
+f 187/140 441/144 546/145 327/141
+f 188/146 393/147 514/47 381/148
+f 188/146 381/148 476/83 303/82
+f 188/146 303/82 474/89 378/149
+f 188/146 378/149 511/150 393/147
+f 189/151 374/152 522/153 394/154
+f 189/151 394/154 511/150 378/149
+f 189/151 378/149 474/89 313/102
+f 189/151 313/102 508/101 374/152
+f 190/155 337/156 520/157 395/158
+f 190/155 395/158 516/159 383/160
+f 190/155 383/160 478/116 329/115
+f 190/155 329/115 490/114 337/156
+f 191/161 281/54 465/53 306/162
+f 191/161 306/162 479/163 314/164
+f 191/161 314/164 481/165 308/166
+f 191/161 308/166 466/55 281/54
+f 192/167 283/72 493/71 354/168
+f 192/167 354/168 497/169 315/170
+f 192/167 315/170 480/66 307/65
+f 192/167 307/65 468/64 283/72
+f 193/171 284/80 513/79 396/172
+f 193/171 396/172 517/173 316/174
+f 193/171 316/174 479/163 306/162
+f 193/171 306/162 465/53 284/80
+f 194/175 375/176 504/177 361/178
+f 194/175 361/178 482/60 317/59
+f 194/175 317/59 480/66 359/179
+f 194/175 359/179 502/42 375/176
+f 195/180 300/117 478/116 304/181
+f 195/180 304/181 484/182 318/183
+f 195/180 318/183 483/184 293/185
+f 195/180 293/185 473/118 300/117
+f 196/186 328/142 506/111 373/137
+f 196/186 373/137 507/139 335/187
+f 196/186 335/187 545/188 442/189
+f 196/186 442/189 544/143 328/142
+f 197/190 335/187 507/139 388/191
+f 197/190 388/191 521/45 363/192
+f 197/190 363/192 550/193 446/194
+f 197/190 446/194 545/188 335/187
+f 198/195 383/160 516/159 397/196
+f 198/195 397/196 518/197 321/198
+f 198/195 321/198 484/182 304/181
+f 198/195 304/181 478/116 383/160
+f 199/199 282/63 467/62 323/200
+f 199/199 323/200 486/201 330/202
+f 199/199 330/202 488/74 325/73
+f 199/199 325/73 468/64 282/63
+f 200/203 415/204 525/205 404/206
+f 200/203 404/206 487/51 331/50
+f 200/203 331/50 485/57 402/207
+f 200/203 402/207 523/208 415/204
+f 201/209 416/210 531/211 410/212
+f 201/209 410/212 499/69 332/68
+f 201/209 332/68 488/74 405/213
+f 201/209 405/213 526/27 416/210
+f 202/214 417/215 533/216 412/217
+f 202/214 412/217 519/77 333/76
+f 202/214 333/76 487/51 404/206
+f 202/214 404/206 525/205 417/215
+f 203/218 418/219 530/220 409/221
+f 203/218 409/221 490/114 334/113
+f 203/218 334/113 489/120 406/222
+f 203/218 406/222 527/223 418/219
+f 204/224 336/225 513/79 392/78
+f 204/224 392/78 519/77 380/226
+f 204/224 380/226 549/227 447/228
+f 204/224 447/228 547/229 336/225
+f 205/230 343/231 517/173 396/172
+f 205/230 396/172 513/79 336/225
+f 205/230 336/225 547/229 448/232
+f 205/230 448/232 548/233 343/231
+f 206/234 421/235 534/236 413/237
+f 206/234 413/237 520/157 337/156
+f 206/234 337/156 490/114 409/221
+f 206/234 409/221 530/220 421/235
+f 207/238 291/86 469/85 338/109
+f 207/238 338/109 491/12 348/11
+f 207/238 348/11 494/18 341/239
+f 207/238 341/239 470/87 291/86
+f 208/240 376/241 505/104 310/103
+f 208/240 310/103 470/87 341/239
+f 208/240 341/239 494/18 366/40
+f 208/240 366/40 509/39 376/241
+f 209/242 346/243 489/120 326/119
+f 209/242 326/119 473/118 340/244
+f 209/242 340/244 493/71 350/70
+f 209/242 350/70 499/69 346/243
+f 210/245 273/24 464/23 287/246
+f 210/245 287/246 495/92 351/91
+f 210/245 351/91 492/98 276/247
+f 210/245 276/247 460/25 273/24
+f 211/248 377/249 504/177 279/250
+f 211/248 279/250 463/14 269/13
+f 211/248 269/13 491/12 367/108
+f 211/248 367/108 510/107 377/249
+f 212/251 347/252 486/201 323/200
+f 212/251 323/200 467/62 290/253
+f 212/251 290/253 496/123 353/254
+f 212/251 353/254 500/255 347/252
+f 213/256 340/244 473/118 293/185
+f 213/256 293/185 483/184 344/257
+f 213/256 344/257 497/169 354/168
+f 213/256 354/168 493/71 340/244
+f 214/258 290/253 467/62 309/61
+f 214/258 309/61 482/60 345/259
+f 214/258 345/259 498/125 355/124
+f 214/258 355/124 496/123 290/253
+f 215/260 422/261 527/223 406/222
+f 215/260 406/222 489/120 346/243
+f 215/260 346/243 499/69 410/212
+f 215/260 410/212 531/211 422/261
+f 216/262 423/263 524/21 403/264
+f 216/262 403/264 486/201 347/252
+f 216/262 347/252 500/255 411/265
+f 216/262 411/265 532/266 423/263
+f 217/267 314/164 479/163 358/268
+f 217/267 358/268 501/3 368/2
+f 217/267 368/2 503/9 360/269
+f 217/267 360/269 481/165 314/164
+f 218/270 315/170 497/169 349/271
+f 218/270 349/271 509/39 369/38
+f 218/270 369/38 502/42 359/179
+f 218/270 359/179 480/66 315/170
+f 219/272 316/174 517/173 400/273
+f 219/272 400/273 521/45 370/44
+f 219/272 370/44 501/3 358/268
+f 219/272 358/268 479/163 316/174
+f 220/274 318/183 484/182 365/275
+f 220/274 365/275 508/101 371/100
+f 220/274 371/100 505/104 362/276
+f 220/274 362/276 483/184 318/183
+f 221/277 363/192 521/45 400/273
+f 221/277 400/273 517/173 343/231
+f 221/277 343/231 548/233 449/278
+f 221/277 449/278 550/193 363/192
+f 222/279 384/280 532/266 411/265
+f 222/279 411/265 500/255 364/281
+f 222/279 364/281 543/282 452/283
+f 222/279 452/283 553/284 384/280
+f 223/285 321/198 518/197 401/286
+f 223/285 401/286 522/153 374/152
+f 223/285 374/152 508/101 365/275
+f 223/285 365/275 484/182 321/198
+f 224/287 270/15 463/14 279/250
+f 224/287 279/250 504/177 375/176
+f 224/287 375/176 502/42 274/41
+f 224/287 274/41 459/16 270/15
+f 225/288 344/257 483/184 362/276
+f 225/288 362/276 505/104 376/241
+f 225/288 376/241 509/39 349/271
+f 225/288 349/271 497/169 344/257
+f 226/289 345/259 482/60 361/178
+f 226/289 361/178 504/177 377/249
+f 226/289 377/249 510/107 352/290
+f 226/289 352/290 498/125 345/259
+f 227/291 301/133 475/132 379/292
+f 227/291 379/292 512/30 390/29
+f 227/291 390/29 515/36 382/293
+f 227/291 382/293 477/134 301/133
+f 228/294 388/191 507/139 312/138
+f 228/294 312/138 476/83 381/148
+f 228/294 381/148 514/47 391/46
+f 228/294 391/46 521/45 388/191
+f 229/295 380/226 519/77 412/217
+f 229/295 412/217 533/216 408/296
+f 229/295 408/296 554/297 453/298
+f 229/295 453/298 549/227 380/226
+f 230/299 267/6 462/5 285/48
+f 230/299 285/48 514/47 393/147
+f 230/299 393/147 511/150 271/300
+f 230/299 271/300 458/7 267/6
+f 231/301 389/302 503/9 278/8
+f 231/301 278/8 458/7 271/300
+f 231/301 271/300 511/150 394/154
+f 231/301 394/154 522/153 389/302
+f 232/303 387/304 485/57 322/56
+f 232/303 322/56 466/55 289/305
+f 232/303 289/305 516/159 395/158
+f 232/303 395/158 520/157 387/304
+f 233/306 386/307 528/308 419/309
+f 233/306 419/309 532/266 384/280
+f 233/306 384/280 553/284 454/310
+f 233/306 454/310 551/311 386/307
+f 234/312 289/305 466/55 308/166
+f 234/312 308/166 481/165 385/313
+f 234/312 385/313 518/197 397/196
+f 234/312 397/196 516/159 289/305
+f 235/314 407/315 529/316 420/317
+f 235/314 420/317 528/308 386/307
+f 235/314 386/307 551/311 455/318
+f 235/314 455/318 552/319 407/315
+f 236/320 425/321 523/208 402/207
+f 236/320 402/207 485/57 387/304
+f 236/320 387/304 520/157 413/237
+f 236/320 413/237 534/236 425/321
+f 237/322 408/296 533/216 424/323
+f 237/322 424/323 529/316 407/315
+f 237/322 407/315 552/319 456/324
+f 237/322 456/324 554/297 408/296
+f 238/325 385/313 481/165 360/269
+f 238/325 360/269 503/9 389/302
+f 238/325 389/302 522/153 401/286
+f 238/325 401/286 518/197 385/313
+f 239/326 330/202 486/201 403/264
+f 239/326 403/264 524/21 414/20
+f 239/326 414/20 526/27 405/213
+f 239/326 405/213 488/74 330/202
+f 240/327 265/33 461/32 277/328
+f 240/327 277/328 525/205 415/204
+f 240/327 415/204 523/208 268/329
+f 240/327 268/329 457/34 265/33
+f 241/330 276/247 492/98 356/331
+f 241/330 356/331 531/211 416/210
+f 241/330 416/210 526/27 280/26
+f 241/330 280/26 460/25 276/247
+f 242/332 275/31 512/30 398/333
+f 242/332 398/333 533/216 417/215
+f 242/332 417/215 525/205 277/328
+f 242/332 277/328 461/32 275/31
+f 243/334 299/135 477/134 305/335
+f 243/334 305/335 530/220 418/219
+f 243/334 418/219 527/223 294/336
+f 243/334 294/336 472/96 299/135
+f 244/337 342/93 495/92 357/338
+f 244/337 357/338 532/266 419/309
+f 244/337 419/309 528/308 295/339
+f 244/337 295/339 471/94 342/93
+f 245/340 297/131 471/94 295/339
+f 245/340 295/339 528/308 420/317
+f 245/340 420/317 529/316 302/341
+f 245/340 302/341 475/132 297/131
+f 246/342 382/293 515/36 399/343
+f 246/342 399/343 534/236 421/235
+f 246/342 421/235 530/220 305/335
+f 246/342 305/335 477/134 382/293
+f 247/344 339/97 472/96 294/336
+f 247/344 294/336 527/223 422/261
+f 247/344 422/261 531/211 356/331
+f 247/344 356/331 492/98 339/97
+f 248/345 287/246 464/23 272/22
+f 248/345 272/22 524/21 423/263
+f 248/345 423/263 532/266 357/338
+f 248/345 357/338 495/92 287/246
+f 249/346 379/292 475/132 302/341
+f 249/346 302/341 529/316 424/323
+f 249/346 424/323 533/216 398/333
+f 249/346 398/333 512/30 379/292
+f 250/347 288/35 457/34 268/329
+f 250/347 268/329 523/208 425/321
+f 250/347 425/321 534/236 399/343
+f 250/347 399/343 515/36 288/35
+f 251/348 433/349 543/282 437/350
+f 251/348 437/350 541/129 435/351
+f 251/348 435/351 535/352 431/353
+f 251/348 431/353 539/354 433/349
+f 252/355 434/356 539/354 431/353
+f 252/355 431/353 535/352 427/357
+f 252/355 427/357 536/358 432/359
+f 252/355 432/359 540/360 434/356
+f 253/361 435/351 541/129 438/128
+f 253/361 438/128 542/127 429/362
+f 253/361 429/362 537/363 426/364
+f 253/361 426/364 535/352 435/351
+f 254/365 427/357 535/352 426/364
+f 254/365 426/364 537/363 430/366
+f 254/365 430/366 538/367 428/368
+f 254/365 428/368 536/358 427/357
+f 255/369 454/310 553/284 452/283
+f 255/369 452/283 543/282 433/349
+f 255/369 433/349 539/354 450/370
+f 255/369 450/370 551/311 454/310
+f 256/371 455/318 551/311 450/370
+f 256/371 450/370 539/354 434/356
+f 256/371 434/356 540/360 451/372
+f 256/371 451/372 552/319 455/318
+f 257/373 429/362 542/127 436/374
+f 257/373 436/374 546/145 441/144
+f 257/373 441/144 544/143 439/375
+f 257/373 439/375 537/363 429/362
+f 258/376 430/366 537/363 439/375
+f 258/376 439/375 544/143 442/189
+f 258/376 442/189 545/188 440/377
+f 258/376 440/377 538/367 430/366
+f 259/378 445/379 540/360 432/359
+f 259/378 432/359 536/358 443/380
+f 259/378 443/380 547/229 447/228
+f 259/378 447/228 549/227 445/379
+f 260/381 443/380 536/358 428/368
+f 260/381 428/368 538/367 444/382
+f 260/381 444/382 548/233 448/232
+f 260/381 448/232 547/229 443/380
+f 261/383 456/324 552/319 451/372
+f 261/383 451/372 540/360 445/379
+f 261/383 445/379 549/227 453/298
+f 261/383 453/298 554/297 456/324
+f 262/384 444/382 538/367 440/377
+f 262/384 440/377 545/188 446/194
+f 262/384 446/194 550/193 449/278
+f 262/384 449/278 548/233 444/382
+f 263/385 364/281 500/255 353/254
+f 263/385 353/254 496/123 320/122
+f 263/385 320/122 541/129 437/350
+f 263/385 437/350 543/282 364/281
+f 264/386 319/126 498/125 352/290
+f 264/386 352/290 510/107 327/141
+f 264/386 327/141 546/145 436/374
+f 264/386 436/374 542/127 319/126
+o chest1_Cube
+v 1.808567 0.066339 -0.930264
+v 1.881632 0.066339 -0.879154
+v 1.815184 0.039993 -0.886930
+v 1.804006 0.039993 1.089244
+v 1.870011 0.066339 1.081681
+v 1.797616 0.066339 1.132305
+v -1.217657 0.039993 1.073219
+v -1.211758 0.066339 1.116358
+v -1.283589 0.066339 1.064936
+v -1.274386 0.066339 -0.895912
+v -1.200806 0.066339 -0.946275
+v -1.207848 0.039993 -0.903001
+v 1.881633 1.486689 -0.879154
+v 1.808568 1.486690 -0.930263
+v 1.815185 1.513035 -0.886929
+v 1.804005 1.513035 1.089244
+v 1.797615 1.486689 1.132305
+v 1.870010 1.486689 1.081682
+v -1.217657 1.513035 1.073219
+v -1.283589 1.486689 1.064936
+v -1.211759 1.486690 1.116358
+v -1.200806 1.486689 -0.946275
+v -1.274387 1.486689 -0.895912
+v -1.207848 1.513035 -0.903000
+v 1.866405 0.039993 -0.764835
+v 1.842568 0.039993 -0.839870
+v 1.906109 0.066339 -0.837090
+v 1.924502 0.066339 -0.764545
+v -1.318470 0.066339 -0.781765
+v -1.299308 0.066339 -0.854111
+v -1.235741 0.039993 -0.856215
+v -1.260374 0.039993 -0.781438
+v 1.924502 1.486690 -0.764545
+v 1.906109 1.486690 -0.837090
+v 1.842569 1.513035 -0.839869
+v 1.866406 1.513035 -0.764834
+v -1.235741 1.513035 -0.856215
+v -1.299308 1.486690 -0.854110
+v -1.318470 1.486690 -0.781765
+v -1.260374 1.513035 -0.781437
+v 1.897391 0.066339 1.032517
+v 1.834583 0.039993 1.034339
+v 1.857249 0.039993 0.959551
+v 1.915345 0.066339 0.959878
+v 1.834582 1.513035 1.034339
+v 1.897390 1.486690 1.032518
+v 1.915344 1.486690 0.959879
+v 1.857248 1.513035 0.959552
+v -1.247660 0.039993 1.017973
+v -1.310445 0.066339 1.015484
+v -1.327627 0.066339 0.942659
+v -1.269530 0.039993 0.942948
+v -1.327627 1.486690 0.942659
+v -1.310445 1.486690 1.015484
+v -1.247660 1.513035 1.017972
+v -1.269531 1.513035 0.942948
+v -1.206411 0.039993 -0.903422
+v -1.200806 0.066339 -0.946275
+v -1.090006 0.066339 -0.960182
+v -1.090173 0.039993 -0.922707
+v -1.101113 0.066339 1.131440
+v -1.211758 0.066339 1.116358
+v -1.216908 0.039994 1.073447
+v -1.100882 0.039993 1.093966
+v -1.200806 1.486690 -0.946275
+v -1.206411 1.513035 -0.903421
+v -1.090173 1.513035 -0.922707
+v -1.090007 1.486690 -0.960181
+v -1.216909 1.513035 1.073447
+v -1.211759 1.486689 1.116358
+v -1.101113 1.486690 1.131440
+v -1.100882 1.513035 1.093966
+v -1.090928 0.039993 -0.780538
+v -1.207060 0.039993 -0.781155
+v -1.206662 0.039993 -0.856061
+v -1.090530 0.039993 -0.855444
+v -1.206663 1.513035 -0.856060
+v -1.207061 1.513035 -0.781154
+v -1.148994 1.486690 -0.780846
+v -1.090729 1.486690 -0.817991
+v -1.090531 1.513035 -0.855444
+v -1.216614 0.039993 1.018137
+v -1.216217 0.039993 0.943231
+v -1.100085 0.039993 0.943848
+v -1.100482 0.039993 1.018754
+v -1.158151 1.486690 0.943540
+v -1.216217 1.513035 0.943231
+v -1.216615 1.513035 1.018137
+v -1.100483 1.513035 1.018754
+v -1.100284 1.486690 0.981301
+v 1.754761 1.486690 -0.765427
+v 1.812827 1.513035 -0.765119
+v 1.813225 1.513035 -0.840025
+v 1.697093 1.513035 -0.840642
+v 1.696894 1.486690 -0.803189
+v 1.803272 1.513035 1.034173
+v 1.803670 1.513035 0.959267
+v 1.745604 1.486690 0.958959
+v 1.687339 1.486690 0.996103
+v 1.687140 1.513035 1.033556
+v 1.697681 0.066339 -0.945380
+v 1.808350 0.066339 -0.930330
+v 1.813477 0.039994 -0.887448
+v 1.697449 0.039993 -0.907905
+v 1.802979 0.039993 1.089544
+v 1.797397 0.066339 1.132368
+v 1.686575 0.066339 1.146242
+v 1.686741 0.039993 1.108768
+v 1.697450 1.513035 -0.907905
+v 1.813477 1.513035 -0.887448
+v 1.808350 1.486690 -0.930329
+v 1.697681 1.486690 -0.945379
+v 1.686574 1.486690 1.146243
+v 1.797396 1.486690 1.132369
+v 1.802978 1.513035 1.089545
+v 1.686741 1.513035 1.108768
+v 1.813225 0.039993 -0.840025
+v 1.812827 0.039993 -0.765119
+v 1.696695 0.039993 -0.765736
+v 1.697092 0.039993 -0.840642
+v 1.687539 0.039993 0.958650
+v 1.803671 0.039993 0.959266
+v 1.803273 0.039993 1.034172
+v 1.687141 0.039993 1.033556
+v 1.820982 0.039993 0.134595
+v 1.821380 0.039993 0.059689
+v 1.879474 0.066339 0.060017
+v 1.879076 0.066339 0.134885
+v 1.879076 1.486690 0.134885
+v 1.879474 1.486690 0.060017
+v 1.821379 1.513035 0.059690
+v 1.820982 1.513035 0.134596
+v -1.282201 0.066339 0.043229
+v -1.224107 0.039993 0.043518
+v -1.224504 0.039993 0.118424
+v -1.282599 0.066339 0.118097
+v -1.224107 1.513035 0.043518
+v -1.282202 1.486690 0.043229
+v -1.282599 1.486690 0.118097
+v -1.224505 1.513035 0.118424
+v -1.211440 0.039993 0.043586
+v -1.095307 0.039993 0.044202
+v -1.095705 0.039993 0.119108
+v -1.211837 0.039993 0.118491
+v -1.211838 1.513035 0.118492
+v -1.153772 1.486690 0.118800
+v -1.153374 1.486690 0.043894
+v -1.211440 1.513035 0.043586
+v 1.691918 0.039993 0.133910
+v 1.692315 0.039993 0.059004
+v 1.808448 0.039993 0.059621
+v 1.808050 0.039993 0.134527
+v 1.750381 1.486690 0.059313
+v 1.749984 1.486690 0.134219
+v 1.808050 1.513035 0.134527
+v 1.808448 1.513035 0.059621
+v 0.361347 1.513035 -0.847734
+v 0.245215 1.513035 -0.848351
+v 0.245016 1.486690 -0.810898
+v 0.361148 1.486690 -0.810281
+v 0.351594 1.486690 0.989011
+v 0.235461 1.486690 0.988394
+v 0.235262 1.513035 1.025847
+v 0.351395 1.513035 1.026464
+v 0.245420 0.039993 -0.886918
+v 0.245651 0.066339 -0.924391
+v 0.361719 0.066339 -0.923775
+v 0.361552 0.039993 -0.886302
+v 0.350917 0.066339 1.110452
+v 0.234849 0.066339 1.109836
+v 0.235016 0.039993 1.072362
+v 0.351148 0.039993 1.072979
+v 0.245651 1.486690 -0.924391
+v 0.245420 1.513035 -0.886918
+v 0.361552 1.513035 -0.886301
+v 0.361719 1.486690 -0.923775
+v 0.235015 1.513035 1.072363
+v 0.234849 1.486690 1.109836
+v 0.350917 1.486690 1.110452
+v 0.351148 1.513035 1.072979
+v 0.360950 0.039993 -0.772829
+v 0.244817 0.039993 -0.773445
+v 0.245215 0.039993 -0.848351
+v 0.361347 0.039993 -0.847735
+v 0.235263 0.039993 1.025847
+v 0.235661 0.039993 0.950941
+v 0.351793 0.039993 0.951557
+v 0.351395 0.039993 1.026463
+v 0.240040 0.039993 0.126201
+v 0.240438 0.039993 0.051295
+v 0.356570 0.039993 0.051911
+v 0.356172 0.039993 0.126817
+v -1.148994 0.540328 -0.780846
+v -1.090729 0.540328 -0.817991
+v -1.090729 0.593018 -0.817991
+v -1.148994 0.593018 -0.780846
+v -1.148994 1.051826 -0.780846
+v -1.090729 1.051826 -0.817991
+v -1.090729 1.104516 -0.817991
+v -1.148994 1.104516 -0.780846
+v -1.100284 1.051826 0.981301
+v -1.158151 1.051826 0.943540
+v -1.158151 1.104516 0.943540
+v -1.100284 1.104516 0.981301
+v 1.754761 1.104516 -0.765427
+v 1.696894 1.104516 -0.803189
+v 1.696894 1.051826 -0.803189
+v 1.754761 1.051826 -0.765427
+v 1.687339 1.051826 0.996103
+v 1.687339 1.104516 0.996103
+v 1.745604 1.104516 0.958959
+v 1.745604 1.051826 0.958959
+v -1.153772 1.104516 0.118800
+v -1.153772 1.051826 0.118800
+v -1.153374 1.051826 0.043894
+v -1.153374 1.104516 0.043894
+v 1.750381 1.051826 0.059313
+v 1.749984 1.051826 0.134219
+v 1.749984 1.104516 0.134219
+v 1.750381 1.104516 0.059313
+v 0.361148 1.051826 -0.810281
+v 0.361148 1.104516 -0.810281
+v 0.245016 1.104516 -0.810898
+v 0.245016 1.051826 -0.810898
+v 0.235461 1.104516 0.988394
+v 0.351594 1.104516 0.989011
+v 0.351594 1.051826 0.989011
+v 0.235461 1.051826 0.988394
+v -1.090928 0.158888 -0.780538
+v -1.090729 0.185234 -0.817991
+v -1.148994 0.185234 -0.780846
+v -1.100284 0.540328 0.981301
+v -1.158151 0.540328 0.943540
+v -1.158151 0.593018 0.943540
+v -1.100284 0.593018 0.981301
+v 1.754761 0.593018 -0.765427
+v 1.696894 0.593018 -0.803189
+v 1.696894 0.540328 -0.803189
+v 1.754761 0.540328 -0.765427
+v 1.687339 0.540328 0.996103
+v 1.687339 0.593018 0.996103
+v 1.745604 0.593018 0.958959
+v 1.745604 0.540328 0.958959
+v -1.153772 0.593018 0.118800
+v -1.153772 0.540328 0.118800
+v -1.153374 0.540328 0.043894
+v -1.153374 0.593018 0.043894
+v 1.750381 0.540328 0.059313
+v 1.749984 0.540328 0.134219
+v 1.749984 0.593018 0.134219
+v 1.750381 0.593018 0.059313
+v 0.361148 0.540328 -0.810281
+v 0.361148 0.593018 -0.810281
+v 0.245016 0.593018 -0.810898
+v 0.245016 0.540328 -0.810898
+v 0.235461 0.593018 0.988394
+v 0.351594 0.593018 0.989011
+v 0.351594 0.540328 0.989011
+v 0.235461 0.540328 0.988394
+v 1.808568 0.739427 -0.930263
+v 1.808568 0.792117 -0.930263
+v 1.881633 0.792117 -0.879154
+v 1.881633 0.739427 -0.879154
+v -1.100085 0.158888 0.943848
+v -1.158151 0.185234 0.943540
+v -1.100284 0.185234 0.981301
+v 1.754761 0.185234 -0.765427
+v 1.696894 0.185234 -0.803189
+v 1.696695 0.158888 -0.765736
+v 1.687538 0.158888 0.958650
+v 1.687339 0.185234 0.996103
+v 1.745604 0.185234 0.958959
+v -1.153374 0.185234 0.043894
+v -1.153772 0.185234 0.118800
+v -1.095706 0.158888 0.119108
+v -1.095308 0.158888 0.044202
+v 1.691918 0.158888 0.133910
+v 1.749984 0.185234 0.134219
+v 1.750381 0.185234 0.059313
+v 1.692315 0.158888 0.059004
+v 0.360950 0.158888 -0.772828
+v 0.361148 0.185234 -0.810281
+v 0.245016 0.185234 -0.810898
+v 0.244817 0.158888 -0.773445
+v 0.235461 0.185234 0.988394
+v 0.351594 0.185234 0.989011
+v 0.351793 0.158888 0.951557
+v 0.235660 0.158888 0.950941
+v 0.356172 0.158888 0.126818
+v 0.356570 0.158888 0.051912
+v 0.240438 0.158888 0.051295
+v 0.240040 0.158888 0.126201
+v 1.870011 0.792117 1.081681
+v 1.797615 0.792117 1.132305
+v 1.797615 0.739427 1.132305
+v 1.870011 0.739427 1.081681
+v -1.211759 0.792117 1.116358
+v -1.283589 0.792117 1.064936
+v -1.283589 0.739427 1.064936
+v -1.211759 0.739427 1.116358
+v -1.274386 0.792117 -0.895912
+v -1.200806 0.792117 -0.946275
+v -1.200806 0.739427 -0.946275
+v -1.274386 0.739427 -0.895912
+v 1.924502 0.792117 -0.764545
+v 1.924502 0.739427 -0.764545
+v 1.906109 0.739427 -0.837090
+v 1.906109 0.792117 -0.837090
+v -1.299308 0.739427 -0.854111
+v -1.318470 0.739427 -0.781765
+v -1.318470 0.792117 -0.781765
+v -1.299308 0.792117 -0.854111
+v 1.897391 0.739427 1.032517
+v 1.915345 0.739427 0.959879
+v 1.915345 0.792117 0.959879
+v 1.897391 0.792117 1.032517
+v -1.327627 0.792117 0.942659
+v -1.327627 0.739427 0.942659
+v -1.310445 0.739427 1.015484
+v -1.310445 0.792117 1.015484
+v -1.211759 0.739427 1.116358
+v -1.101113 0.739427 1.131440
+v -1.101113 0.792117 1.131440
+v -1.211759 0.792117 1.116358
+v -1.200806 0.792117 -0.946275
+v -1.090006 0.792117 -0.960182
+v -1.090006 0.739427 -0.960182
+v -1.200806 0.739427 -0.946275
+v 1.686574 0.792117 1.146243
+v 1.686574 0.739427 1.146243
+v 1.797397 0.739427 1.132369
+v 1.797397 0.792117 1.132369
+v 1.697681 0.739427 -0.945379
+v 1.697681 0.792117 -0.945379
+v 1.808350 0.792117 -0.930330
+v 1.808350 0.739427 -0.930330
+v -1.282202 0.739427 0.043229
+v -1.282599 0.739427 0.118097
+v -1.282599 0.792117 0.118097
+v -1.282202 0.792117 0.043229
+v 1.879076 0.739427 0.134885
+v 1.879474 0.739427 0.060017
+v 1.879474 0.792117 0.060017
+v 1.879076 0.792117 0.134885
+v 0.234849 0.739427 1.109836
+v 0.350917 0.739427 1.110452
+v 0.350917 0.792117 1.110452
+v 0.234849 0.792117 1.109836
+v 0.245651 0.792117 -0.924391
+v 0.361719 0.792117 -0.923775
+v 0.361719 0.739427 -0.923775
+v 0.245651 0.739427 -0.924391
+vt 0.257309 0.350571
+vt 0.257309 0.508121
+vt 0.251008 0.508121
+vt 0.251008 0.350571
+vt 0.257309 0.520454
+vt 0.257309 0.683034
+vt 0.251008 0.683034
+vt 0.251008 0.520454
+vt 0.253117 0.335869
+vt 0.253117 0.332544
+vt 0.260199 0.332544
+vt 0.260160 0.332653
+vt 0.253117 0.011832
+vt 0.253117 0.008535
+vt 0.260163 0.011752
+vt 0.535060 0.000000
+vt 0.535060 0.162579
+vt 0.783031 0.000000
+vt 0.783031 0.162579
+vt 0.011877 0.350571
+vt 0.011877 0.508121
+vt 0.006508 0.508121
+vt 0.006508 0.350571
+vt 0.510200 0.350571
+vt 0.510200 0.508121
+vt 0.404716 0.508121
+vt 0.404716 0.350571
+vt 0.007396 0.332726
+vt 0.007331 0.332544
+vt 0.013397 0.332544
+vt 0.013397 0.335661
+vt 0.405577 0.010487
+vt 0.511066 0.006170
+vt 0.511066 0.011860
+vt 0.405577 0.011860
+vt 0.138047 0.011832
+vt 0.138047 0.010487
+vt 0.243536 0.006170
+vt 0.243536 0.011832
+vt 0.241709 0.520454
+vt 0.241709 0.683034
+vt 0.136207 0.683034
+vt 0.136207 0.520454
+vt 0.241709 0.350571
+vt 0.241709 0.508121
+vt 0.136207 0.508121
+vt 0.136207 0.350571
+vt 0.011877 0.520455
+vt 0.011877 0.683034
+vt 0.006508 0.683034
+vt 0.006508 0.520455
+vt 0.660119 0.676867
+vt 0.660119 0.519317
+vt 0.770383 0.519317
+vt 0.770383 0.676867
+vt 0.660119 0.506984
+vt 0.660119 0.344404
+vt 0.770383 0.344404
+vt 0.770383 0.506983
+vt 0.290507 0.178383
+vt 0.395996 0.178383
+vt 0.395996 0.320239
+vt 0.290507 0.320239
+vt 0.520647 0.178383
+vt 0.526597 0.178383
+vt 0.530267 0.320239
+vt 0.520647 0.320239
+vt 0.654343 0.174913
+vt 0.654343 0.332463
+vt 0.544092 0.332463
+vt 0.544092 0.174913
+vt 0.654343 0.000000
+vt 0.654343 0.162579
+vt 0.544092 0.162579
+vt 0.544092 0.000000
+vt 0.005021 0.689200
+vt 0.115085 0.689200
+vt 0.115085 0.778656
+vt 0.005021 0.778656
+vt 0.646431 0.987667
+vt 0.536309 0.987667
+vt 0.536309 0.898211
+vt 0.646431 0.898211
+vt 0.531343 0.676867
+vt 0.531343 0.519317
+vt 0.531361 0.519317
+vt 0.531361 0.676867
+vt 0.531343 0.506984
+vt 0.531343 0.344404
+vt 0.531361 0.344404
+vt 0.531361 0.506984
+vt 0.263821 0.520454
+vt 0.263821 0.683034
+vt 0.524839 0.350571
+vt 0.524839 0.508121
+vt 0.519471 0.508121
+vt 0.519471 0.350571
+vt 0.783031 0.174912
+vt 0.783031 0.332463
+vt 0.280339 0.520454
+vt 0.280339 0.683034
+vt 0.274038 0.683034
+vt 0.274038 0.520454
+vt 0.395140 0.350571
+vt 0.395140 0.508121
+vt 0.289638 0.508121
+vt 0.289638 0.350571
+vt 0.395140 0.520454
+vt 0.395140 0.683034
+vt 0.289638 0.683034
+vt 0.289638 0.520454
+vt 0.275994 0.178383
+vt 0.280927 0.178383
+vt 0.280927 0.320239
+vt 0.272323 0.320239
+vt 0.126631 0.350571
+vt 0.126631 0.508121
+vt 0.021147 0.508121
+vt 0.021147 0.350571
+vt 0.126631 0.520454
+vt 0.126631 0.683034
+vt 0.021147 0.683034
+vt 0.021147 0.520454
+vt 0.022977 0.011832
+vt 0.022977 0.006170
+vt 0.128466 0.010487
+vt 0.128466 0.011832
+vt 1.000000 0.649037
+vt 0.894512 0.649037
+vt 0.894512 0.559582
+vt 1.000000 0.559582
+vt 0.460055 1.000000
+vt 0.354566 1.000000
+vt 0.354566 0.910544
+vt 0.460055 0.910544
+vt 0.290507 0.332572
+vt 0.395996 0.332572
+vt 0.395996 0.333918
+vt 0.290507 0.338234
+vt 0.510200 0.520454
+vt 0.510200 0.683034
+vt 0.404716 0.683034
+vt 0.404716 0.520454
+vt 0.773796 0.000000
+vt 0.773796 0.162579
+vt 0.663907 0.162579
+vt 0.663907 0.000000
+vt 0.124655 0.689200
+vt 0.234719 0.689200
+vt 0.234719 0.778656
+vt 0.124655 0.778656
+vt 0.290507 0.024193
+vt 0.395996 0.024193
+vt 0.395996 0.166050
+vt 0.290507 0.166050
+vt 0.540561 0.676867
+vt 0.540561 0.519317
+vt 0.650550 0.519317
+vt 0.650550 0.676867
+vt 0.773796 0.174913
+vt 0.773795 0.332463
+vt 0.663907 0.332463
+vt 0.663907 0.174913
+vt 0.766127 0.987667
+vt 0.656005 0.987667
+vt 0.656005 0.898211
+vt 0.766127 0.898211
+vt 0.646431 0.885878
+vt 0.536309 0.885878
+vt 0.536309 0.778484
+vt 0.646431 0.778484
+vt 0.344985 1.000000
+vt 0.239497 1.000000
+vt 0.239497 0.910544
+vt 0.344985 0.910544
+vt 0.405577 0.024193
+vt 0.511066 0.024193
+vt 0.511066 0.166050
+vt 0.405577 0.166050
+vt 0.272323 0.024193
+vt 0.280927 0.024193
+vt 0.280927 0.166050
+vt 0.275994 0.166050
+vt 0.646431 0.766151
+vt 0.536309 0.766151
+vt 0.536309 0.683034
+vt 0.646431 0.683034
+vt 0.460054 0.898211
+vt 0.354566 0.898211
+vt 0.354566 0.790818
+vt 0.460055 0.790818
+vt 0.344985 0.898211
+vt 0.239497 0.898211
+vt 0.239497 0.790818
+vt 0.344985 0.790818
+vt 0.991476 0.837223
+vt 0.991476 0.979080
+vt 0.885987 0.979080
+vt 0.885987 0.837223
+vt 0.253117 0.320211
+vt 0.253117 0.178355
+vt 0.259066 0.178355
+vt 0.262737 0.320211
+vt 0.884931 0.649037
+vt 0.779442 0.649037
+vt 0.779442 0.559582
+vt 0.884931 0.559582
+vt 0.405577 0.178383
+vt 0.511066 0.178383
+vt 0.511066 0.320239
+vt 0.405577 0.320239
+vt 0.004793 0.320211
+vt 0.008464 0.178355
+vt 0.013397 0.178355
+vt 0.013397 0.320211
+vt 1.000000 0.547248
+vt 0.894512 0.547248
+vt 0.894512 0.439855
+vt 1.000000 0.439855
+vt 0.460054 0.778484
+vt 0.354566 0.778484
+vt 0.354566 0.695367
+vt 0.460054 0.695367
+vt 0.344985 0.778484
+vt 0.239497 0.778484
+vt 0.239497 0.695367
+vt 0.344985 0.695367
+vt 0.876406 0.837223
+vt 0.876406 0.979080
+vt 0.770917 0.979080
+vt 0.770917 0.837223
+vt 0.124655 0.790989
+vt 0.234719 0.790989
+vt 0.234719 0.898383
+vt 0.124655 0.898383
+vt 0.884931 0.547248
+vt 0.779442 0.547248
+vt 0.779442 0.439855
+vt 0.884931 0.439855
+vt 1.000000 0.427521
+vt 0.894512 0.427521
+vt 0.894512 0.344404
+vt 1.000000 0.344404
+vt 0.766127 0.885878
+vt 0.656005 0.885878
+vt 0.656005 0.778484
+vt 0.766127 0.778484
+vt 0.991476 0.683034
+vt 0.991476 0.824890
+vt 0.885987 0.824890
+vt 0.885987 0.683034
+vt 0.005021 0.910716
+vt 0.115086 0.910716
+vt 0.115086 0.993833
+vt 0.005021 0.993833
+vt 0.876406 0.683034
+vt 0.876406 0.824890
+vt 0.770917 0.824890
+vt 0.770917 0.683034
+vt 0.124655 0.910716
+vt 0.234719 0.910716
+vt 0.234719 0.993833
+vt 0.124655 0.993833
+vt 0.884931 0.427521
+vt 0.779442 0.427521
+vt 0.779442 0.344404
+vt 0.884931 0.344404
+vt 0.005021 0.790989
+vt 0.115085 0.790989
+vt 0.115086 0.898383
+vt 0.005021 0.898383
+vt 0.766127 0.766151
+vt 0.656005 0.766151
+vt 0.656005 0.683034
+vt 0.766127 0.683034
+vt 0.520647 0.008535
+vt 0.527690 0.011751
+vt 0.527729 0.011860
+vt 0.520647 0.011860
+vt 0.520647 0.332572
+vt 0.527721 0.332572
+vt 0.527693 0.332652
+vt 0.520647 0.335869
+vt 0.535060 0.174913
+vt 0.535060 0.332463
+vt 0.007339 0.011832
+vt 0.007394 0.011679
+vt 0.013397 0.008744
+vt 0.013397 0.011832
+vt 0.280339 0.350571
+vt 0.280339 0.508121
+vt 0.274038 0.508121
+vt 0.274038 0.350571
+vt 0.022977 0.338234
+vt 0.022977 0.332544
+vt 0.128466 0.332544
+vt 0.128466 0.333918
+vt 0.138047 0.333918
+vt 0.138047 0.332544
+vt 0.243536 0.332544
+vt 0.243536 0.338234
+vt 0.274869 0.332572
+vt 0.280927 0.332572
+vt 0.280927 0.335661
+vt 0.274924 0.332725
+vt 0.008464 0.166021
+vt 0.004793 0.024165
+vt 0.013397 0.024165
+vt 0.013397 0.166021
+vt 0.253117 0.166021
+vt 0.253117 0.024165
+vt 0.262737 0.024165
+vt 0.259066 0.166021
+vt 0.779442 0.676867
+vt 0.779442 0.519317
+vt 0.524839 0.520454
+vt 0.524839 0.683034
+vt 0.519471 0.683034
+vt 0.519471 0.520454
+vt 0.405577 0.332572
+vt 0.511066 0.332572
+vt 0.511066 0.338234
+vt 0.405577 0.333918
+vt 0.290507 0.006170
+vt 0.395996 0.010487
+vt 0.395996 0.011860
+vt 0.290507 0.011860
+vt 0.520647 0.024193
+vt 0.530267 0.024193
+vt 0.526597 0.166050
+vt 0.520647 0.166050
+vt 0.540561 0.506984
+vt 0.540561 0.344404
+vt 0.650550 0.344404
+vt 0.650550 0.506984
+vt 0.531343 0.350571
+vt 0.525804 0.344404
+vt 0.273041 0.344404
+vt 0.267530 0.350571
+vt 0.258309 0.344404
+vt 0.263821 0.350571
+vt 0.000000 0.350571
+vt 0.005541 0.344404
+vt 0.531343 0.683034
+vt 0.525803 0.689200
+vt 0.273041 0.689200
+vt 0.267530 0.683034
+vt 0.258309 0.689200
+vt 0.000000 0.683034
+vt 0.005541 0.689200
+vt 0.280927 0.008744
+vt 0.281239 0.001994
+vt 0.290505 0.000000
+vt 0.290505 0.344404
+vt 0.281239 0.342410
+vt 0.022975 0.344404
+vt 0.013709 0.342410
+vt 0.013709 0.001994
+vt 0.022975 0.000000
+vt 0.520371 0.001866
+vt 0.511068 0.000000
+vt 0.252841 0.342539
+vt 0.243538 0.344404
+vt 0.520371 0.342539
+vt 0.511068 0.344404
+vt 0.243538 0.000000
+vt 0.252841 0.001866
+vt 0.269384 0.332001
+vt 0.267530 0.320243
+vt 0.535060 0.320243
+vt 0.533206 0.332001
+vt 0.001854 0.012403
+vt 0.000000 0.024162
+vt 0.265676 0.012403
+vt 0.267530 0.024162
+vt 0.022977 0.017998
+vt 0.018187 0.024165
+vt 0.243536 0.017998
+vt 0.248326 0.024165
+vt 0.022977 0.326378
+vt 0.018187 0.320211
+vt 0.243536 0.326378
+vt 0.248326 0.320211
+vt 0.269380 0.012429
+vt 0.274861 0.011860
+vt 0.533210 0.012428
+vt 0.535060 0.024190
+vt 0.001850 0.331976
+vt 0.000000 0.320215
+vt 0.265680 0.331976
+vt 0.280927 0.011860
+vt 0.395999 0.004317
+vt 0.405575 0.004317
+vt 0.138045 0.340087
+vt 0.128469 0.340087
+vt 0.395999 0.340087
+vt 0.405575 0.340087
+vt 0.128469 0.004317
+vt 0.138045 0.004317
+vt 0.138047 0.017998
+vt 0.128466 0.017998
+vt 0.128466 0.326378
+vt 0.138047 0.326378
+vt 0.018187 0.166021
+vt 0.018187 0.178355
+vt 0.248326 0.178355
+vt 0.248326 0.166021
+vt 0.271201 0.178379
+vt 0.271201 0.166053
+vt 0.531390 0.166053
+vt 0.531390 0.178379
+vt 0.003671 0.166025
+vt 0.003671 0.178351
+vt 0.263859 0.166025
+vt 0.263859 0.178351
+vt 0.531343 0.766151
+vt 0.531343 0.778484
+vt 0.531343 0.885878
+vt 0.531343 0.898211
+vt 0.000000 0.790989
+vt 0.000000 0.778656
+vt 0.234719 0.910544
+vt 0.234719 0.898211
+vt 0.464858 0.898211
+vt 0.464858 0.910544
+vt 0.536130 0.676867
+vt 0.000000 0.910716
+vt 0.000000 0.898383
+vt 0.234719 0.790818
+vt 0.234719 0.778484
+vt 0.464858 0.778484
+vt 0.464858 0.790818
+vt 0.531343 0.508121
+vt 0.531343 0.520454
+vt 0.004785 1.000000
+vt 0.000000 0.993833
+vt 0.991476 0.676867
+vt 0.996266 0.683034
+vt 0.460067 0.689200
+vt 0.464858 0.695367
+vt 0.885987 0.985246
+vt 0.876406 0.985246
+vt 0.876406 0.676867
+vt 0.885987 0.676867
+vt 0.996266 0.824890
+vt 0.996266 0.837223
+vt 0.766127 0.837223
+vt 0.766127 0.824890
+vt 0.267530 0.520454
+vt 0.267530 0.508121
+vt 0.263821 0.508121
+vt 0.000000 0.520455
+vt 0.000000 0.508121
+vt 0.779442 0.506983
+vt 0.526678 0.004746
+vt 0.275876 0.339787
+vt 0.259148 0.339659
+vt 0.008346 0.004617
+vt 0.274926 0.011678
+vt 0.275876 0.004617
+vt 0.526678 0.339659
+vt 0.008345 0.339787
+vt 0.259148 0.004746
+vt 0.001858 0.331999
+vt 0.234719 1.000000
+vt 0.464858 1.000000
+vt 0.531343 0.987667
+vt 0.000000 0.689200
+vt 0.234719 0.695367
+vt 0.770917 0.985246
+vt 0.996266 0.979080
+vt 0.766127 0.979080
+vt 0.770917 0.676867
+vt 0.991476 0.985246
+vt 0.000000 0.000000
+usemtl Material
+s off
+f 563/387 853/388 873/389 604/390
+f 852/391 574/392 608/393 874/394
+f 599/395 650/396 669/397 570/398
+f 642/399 609/400 573/401 623/401
+f 619/402 879/403 856/403 576/402
+f 568/404 815/405 889/405 665/404
+f 584/406 863/407 858/408 564/409
+f 582/410 860/411 896/412 681/413
+f 569/414 664/415 647/416 589/417
+f 679/418 597/419 676/420 706/421
+f 699/422 694/423 610/424 641/425
+f 871/426 607/427 693/428 893/429
+f 605/430 872/431 892/432 690/433
+f 866/434 592/435 577/436 855/437
+f 724/438 899/439 876/440 615/441
+f 902/442 732/443 625/444 877/445
+f 736/446 744/447 696/448 627/449
+f 739/450 725/451 618/452 639/453
+f 906/454 720/455 613/456 881/457
+f 727/458 903/459 880/460 622/461
+f 644/462 716/463 779/464 758/465
+f 713/466 634/467 753/468 777/469
+f 560/470 849/471 885/472 660/473
+f 848/474 571/475 668/476 886/477
+f 878/478 624/479 575/479 851/478
+f 556/480 817/481 861/482 581/483
+f 814/484 555/485 656/485 890/484
+f 870/486 600/487 572/488 847/489
+f 682/490 895/491 868/492 598/493
+f 898/494 683/495 601/496 869/497
+f 719/498 737/499 630/500 614/501
+f 687/502 891/503 864/504 583/505
+f 894/506 692/507 593/508 865/509
+f 632/510 594/511 691/512 702/513
+f 633/514 701/515 770/516 754/517
+f 652/518 708/519 773/520 765/521
+f 628/522 695/523 688/524 586/525
+f 859/526 587/527 684/528 897/529
+f 666/530 888/531 904/532 730/533
+f 715/534 653/535 764/536 780/537
+f 673/538 704/539 745/540 735/541
+f 661/542 884/543 900/544 723/545
+f 887/546 655/547 721/548 905/549
+f 649/550 714/551 776/552 760/553
+f 778/554 752/555 749/556 808/557
+f 707/558 645/559 759/560 774/561
+f 703/562 675/563 741/564 746/565
+f 658/566 674/567 738/568 722/569
+f 809/570 748/571 784/572 837/573
+f 766/574 772/575 804/576 796/577
+f 771/578 762/579 790/580 805/581
+f 838/582 783/583 830/584 845/585
+f 654/586 718/587 734/588 670/589
+f 700/590 640/591 757/592 767/593
+f 743/594 740/595 638/596 697/597
+f 663/598 729/599 711/600 648/601
+f 751/602 769/603 801/604 750/605
+f 797/606 803/607 832/608 826/609
+f 802/610 793/611 821/612 833/613
+f 846/614 829/615 818/616 842/617
+f 781/618 763/619 795/620 811/621
+f 768/622 756/623 788/624 798/625
+f 747/626 800/627 827/628 785/629
+f 761/630 775/631 807/632 791/633
+f 823/634 835/635 844/636 834/637
+f 786/638 813/639 839/640 820/641
+f 831/642 843/643 841/644 824/645
+f 812/646 794/647 825/648 840/649
+f 799/650 787/651 819/652 828/653
+f 755/654 782/655 810/656 789/657
+f 792/658 806/659 836/660 822/661
+f 596/662 558/663 659/664 677/665
+f 636/666 617/667 561/668 603/669
+f 882/670 612/671 565/671 857/670
+f 620/672 578/673 591/674 631/675
+f 595/676 867/677 850/678 559/679
+f 590/680 646/681 710/682 685/683
+f 686/684 709/685 651/686 602/687
+f 611/688 629/689 585/690 566/691
+f 728/692 621/693 635/694 712/695
+f 717/696 643/697 626/698 731/699
+f 616/700 875/701 854/701 562/700
+f 816/702 567/703 588/704 862/705
+f 698/706 637/707 606/708 689/709
+f 579/710 680/711 705/712 672/713
+f 678/714 662/715 726/716 742/717
+f 883/718 667/719 733/720 901/721
+f 555/722 556/480 557/723
+f 558/724 559/679 560/725
+f 561/726 562/727 563/387
+f 564/409 565/728 566/729
+f 567/703 568/730 569/731
+f 570/732 571/733 572/488
+f 573/734 574/392 575/479
+f 576/735 577/436 578/736
+f 579/710 580/737 581/738 582/739
+f 583/740 584/741 585/690 586/525
+f 587/742 588/743 589/417 590/680
+f 591/674 592/744 593/745 594/511
+f 595/746 596/662 597/419 598/747
+f 599/395 600/748 601/749 602/687
+f 603/669 604/750 605/751 606/708
+f 607/752 608/753 609/400 610/424
+f 611/688 612/754 613/755 614/501
+f 615/756 616/757 617/667 618/452
+f 619/758 620/672 621/693 622/759
+f 623/401 624/760 625/761 626/698
+f 627/449 628/522 629/689 630/500
+f 631/675 632/510 633/762 634/763 635/694
+f 636/666 637/707 638/596 639/453
+f 640/764 641/425 642/399 643/697 644/765
+f 645/766 646/681 647/416 648/601 649/767
+f 650/396 651/686 652/768 653/769 654/586
+f 655/761 656/770 657/771 658/566
+f 659/664 660/772 661/773 662/715
+f 663/598 664/415 665/774 666/775
+f 667/755 668/776 669/397 670/589
+f 671/777 672/713 673/538 674/567
+f 675/563 676/420 677/665 678/714
+f 679/418 680/711 681/778 682/779
+f 683/780 684/781 685/683 686/684
+f 687/782 688/524 689/709 690/783
+f 691/512 692/784 693/785 694/423
+f 695/523 696/448 697/597 698/706
+f 699/422 700/786 701/787 702/513
+f 703/562 704/539 705/712 706/421
+f 707/788 708/789 709/685 710/682
+f 711/600 712/695 713/790 714/791
+f 715/792 716/793 717/696 718/587
+f 719/498 720/794 721/795 722/569
+f 723/796 724/797 725/451 726/716
+f 727/798 728/692 729/599 730/799
+f 731/699 732/800 733/801 734/588
+f 735/541 736/446 737/499 738/568
+f 739/450 740/595 741/564 742/717
+f 743/594 744/447 745/540 746/565
+f 747/802 748/571 749/556 750/803
+f 751/804 752/555 753/468 754/805
+f 755/654 756/806 757/807 758/465
+f 759/560 760/808 761/809 762/579
+f 763/810 764/811 765/521 766/574
+f 767/593 768/622 769/603 770/516
+f 771/578 772/575 773/520 774/561
+f 775/631 776/552 777/469 778/554
+f 779/464 780/537 781/618 782/655
+f 783/812 784/572 785/730
+f 786/638 787/813 788/814 789/657
+f 790/580 791/815 792/816 793/611
+f 794/817 795/818 796/577 797/606
+f 798/625 799/650 800/627 801/604
+f 802/610 803/607 804/576 805/581
+f 806/659 807/632 808/557 809/570
+f 810/656 811/621 812/646 813/639
+f 814/819 815/820 816/702 817/481
+f 818/821 819/822 820/641
+f 821/823 822/824 823/634
+f 824/825 825/826 826/609
+f 827/827 828/828 829/615 830/584
+f 831/642 832/829 833/830 834/637
+f 835/635 836/831 837/832 838/582
+f 839/833 840/834 841/644 842/617
+f 843/643 844/636 845/585 846/614
+f 847/489 848/835 849/836 850/678
+f 851/478 852/391 853/388 854/837
+f 855/437 856/838 857/839 858/408
+f 859/526 860/411 861/482 862/705
+f 863/407 864/504 865/509 866/434
+f 867/677 868/492 869/497 870/486
+f 871/426 872/431 873/389 874/394
+f 875/701 876/440 877/445 878/840
+f 879/403 880/460 881/457 882/670
+f 883/718 884/543 885/472 886/477
+f 887/546 888/531 889/405 890/484
+f 891/503 892/432 893/429 894/506
+f 895/491 896/412 897/529 898/494
+f 899/439 900/544 901/721 902/442
+f 903/459 904/532 905/549 906/454
+f 595/746 559/841 558/663 596/662
+f 611/688 566/691 565/754 612/754
+f 815/820 568/730 567/703 816/702
+f 616/757 562/757 561/668 617/667
+f 847/489 572/488 571/733 848/835
+f 584/741 564/842 566/691 585/690
+f 851/478 575/479 574/392 852/391
+f 855/437 577/436 576/735 856/838
+f 599/395 570/398 572/843 600/748
+f 619/758 576/758 578/673 620/672
+f 623/401 573/401 575/760 624/760
+f 591/674 578/673 577/844 592/744
+f 580/737 557/845 556/846 581/738
+f 603/669 561/668 563/847 604/750
+f 588/743 567/848 569/414 589/417
+f 608/753 574/849 573/401 609/400
+f 628/522 586/525 585/690 629/689
+f 646/681 590/680 589/417 647/416
+f 860/411 582/410 581/483 861/482
+f 863/407 584/406 583/505 864/504
+f 680/711 579/710 582/739 681/778
+f 684/781 587/742 590/680 685/683
+f 687/782 583/740 586/525 688/524
+f 691/512 594/511 593/745 692/784
+f 636/666 603/669 606/708 637/707
+f 650/396 599/395 602/687 651/686
+f 867/677 595/676 598/493 868/492
+f 872/431 605/430 604/390 873/389
+f 656/770 555/770 557/845 657/771
+f 659/664 558/663 560/772 660/772
+f 664/415 569/414 568/850 665/774
+f 668/776 571/776 570/398 669/397
+f 671/777 580/737 579/710 672/713
+f 631/675 591/674 594/511 632/510
+f 676/420 597/419 596/662 677/665
+f 641/425 610/424 609/400 642/399
+f 617/667 636/666 639/453 618/452
+f 642/399 623/401 626/698 643/697
+f 875/701 616/700 615/441 876/440
+f 879/403 619/402 622/461 880/460
+f 629/689 611/688 614/501 630/500
+f 620/672 631/675 635/694 621/693
+f 695/523 628/522 627/449 696/448
+f 699/422 641/425 640/764 700/786
+f 712/695 635/694 634/763 713/790
+f 716/793 644/765 643/697 717/696
+f 719/498 614/501 613/755 720/794
+f 724/797 615/756 618/452 725/451
+f 727/798 622/759 621/693 728/692
+f 731/699 626/698 625/761 732/800
+f 736/446 627/449 630/500 737/499
+f 739/450 639/453 638/596 740/595
+f 662/715 678/714 677/665 659/664
+f 654/586 670/589 669/397 650/396
+f 884/543 661/542 660/473 885/472
+f 888/531 666/530 665/404 889/405
+f 674/567 658/566 657/771 671/777
+f 663/598 648/601 647/416 664/415
+f 704/539 673/538 672/713 705/712
+f 708/789 652/768 651/686 709/685
+f 682/779 598/747 597/419 679/418
+f 686/684 602/687 601/749 683/780
+f 689/709 606/708 605/751 690/783
+f 693/785 607/752 610/424 694/423
+f 697/597 638/596 637/707 698/706
+f 701/787 633/762 632/510 702/513
+f 706/421 676/420 675/563 703/562
+f 710/682 646/681 645/766 707/788
+f 891/503 687/502 690/433 892/432
+f 698/706 689/709 688/524 695/523
+f 694/423 699/422 702/513 691/512
+f 895/491 682/490 681/413 896/412
+f 743/594 697/597 696/448 744/447
+f 713/466 777/469 776/552 714/551
+f 679/418 706/421 705/712 680/711
+f 709/685 686/684 685/683 710/682
+f 714/791 649/767 648/601 711/600
+f 718/587 654/586 653/769 715/792
+f 721/795 655/761 658/566 722/569
+f 726/716 662/715 661/773 723/796
+f 729/599 663/598 666/775 730/799
+f 733/801 667/755 670/589 734/588
+f 738/568 674/567 673/538 735/541
+f 741/564 675/563 678/714 742/717
+f 745/540 704/539 703/562 746/565
+f 759/560 645/559 649/851 760/808
+f 725/451 739/450 742/717 726/716
+f 717/696 731/699 734/588 718/587
+f 899/439 724/438 723/545 900/544
+f 903/459 727/458 730/533 904/532
+f 737/499 719/498 722/569 738/568
+f 728/692 712/695 711/600 729/599
+f 740/595 743/594 746/565 741/564
+f 652/518 765/521 764/811 653/852
+f 744/447 736/446 735/541 745/540
+f 779/464 716/463 715/534 780/537
+f 767/593 757/592 756/623 768/622
+f 777/469 753/468 752/555 778/554
+f 782/655 755/654 758/465 779/464
+f 772/575 766/574 765/521 773/520
+f 769/603 751/602 754/517 770/516
+f 774/561 759/560 762/579 771/578
+f 778/554 808/557 807/632 775/631
+f 775/631 761/630 760/553 776/552
+f 780/537 764/536 763/619 781/618
+f 790/580 762/579 761/809 791/815
+f 766/574 796/577 795/818 763/810
+f 810/656 782/655 781/618 811/621
+f 773/520 708/519 707/558 774/561
+f 753/468 634/467 633/853 754/805
+f 700/590 767/593 770/516 701/515
+f 757/807 640/854 644/462 758/465
+f 798/625 788/624 787/651 799/650
+f 808/557 749/556 748/571 809/570
+f 813/639 786/638 789/657 810/656
+f 803/607 797/606 796/577 804/576
+f 800/627 747/626 750/605 801/604
+f 805/581 790/580 793/611 802/610
+f 809/570 837/573 836/660 806/659
+f 806/659 792/658 791/633 807/632
+f 811/621 795/620 794/647 812/646
+f 821/612 793/611 792/816 822/855
+f 797/606 826/609 825/826 794/817
+f 839/640 813/639 812/646 840/649
+f 804/576 772/575 771/578 805/581
+f 749/556 752/555 751/804 750/803
+f 768/622 798/625 801/604 769/603
+f 788/814 756/806 755/654 789/657
+f 828/828 819/856 818/616 829/615
+f 837/832 784/857 783/583 838/582
+f 842/617 818/616 820/858 839/833
+f 831/642 824/645 826/859 832/829
+f 830/584 783/583 785/860 827/827
+f 833/830 821/823 823/634 834/637
+f 843/643 831/642 834/637 844/636
+f 835/635 823/634 822/824 836/831
+f 840/834 825/661 824/645 841/644
+f 845/585 830/584 829/615 846/614
+f 846/614 842/617 841/644 843/643
+f 838/582 845/585 844/636 835/635
+f 832/608 803/607 802/610 833/613
+f 784/572 748/571 747/802 785/730
+f 799/650 828/653 827/628 800/627
+f 819/822 787/813 786/638 820/641
+f 817/481 556/480 555/722 814/819
+f 849/836 560/725 559/679 850/678
+f 853/388 563/387 562/727 854/837
+f 857/839 565/728 564/409 858/408
+f 862/705 588/704 587/527 859/526
+f 865/509 593/508 592/435 866/434
+f 869/497 601/496 600/487 870/486
+f 874/394 608/393 607/427 871/426
+f 877/445 625/444 624/652 878/840
+f 881/457 613/456 612/671 882/670
+f 886/477 668/476 667/719 883/718
+f 890/484 656/485 655/547 887/546
+f 893/429 693/428 692/507 894/506
+f 897/529 684/528 683/495 898/494
+f 901/721 733/720 732/443 902/442
+f 905/549 721/548 720/455 906/454
+f 870/486 847/489 850/678 867/677
+f 878/861 851/861 854/861 875/861
+f 866/434 855/437 858/408 863/407
+f 882/861 857/861 856/861 879/861
+f 816/702 862/705 861/482 817/481
+f 894/506 865/509 864/504 891/503
+f 898/494 869/497 868/492 895/491
+f 852/391 874/394 873/389 853/388
+f 902/442 877/445 876/440 899/439
+f 906/454 881/457 880/460 903/459
+f 848/474 886/477 885/472 849/471
+f 814/484 890/484 889/405 815/405
+f 871/426 893/429 892/432 872/431
+f 859/526 897/529 896/412 860/411
+f 883/718 901/721 900/544 884/543
+f 887/546 905/549 904/532 888/531
+f 557/845 580/737 671/777 657/771
similarity index 100%
rename from fragment.glsl
rename to gradientfrag.glsl
diff --git a/latexMakefile b/latexMakefile
new file mode 100644 (file)
index 0000000..d8f5235
--- /dev/null
@@ -0,0 +1,3 @@
+all: report.pdf
+%.pdf: %.latex
+       pdflatex -shell-escape $<
index 4c9171a..0037237 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -14,6 +14,7 @@
 #include <glm/glm.hpp>
 #include <glm/ext.hpp>
 #include <glm/gtc/type_ptr.hpp>
+#include "model.hpp"
 #include "teapot.h"
 
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
 using namespace std;
 
 GLuint pyramidVao, lightVao, teapotVao;
-GLuint gradientProgId, solidProgId, normalProgId;
+GLuint gradientProgId, plainProgId, normalProgId, solidProgId;
 glm::vec3 camPos   = glm::vec3(0.0f, 0.0f,  -10.0f);
 glm::vec3 camFront = glm::vec3(0.0f, 0.0f, 1.0f);
 glm::vec3 camUp    = glm::vec3(0.0f, 1.0f,  0.0f);
 float yaw = 1.57, pitch = 0;
 bool doScale, doRotate, doTranslate;
+Model *monkeyHead, *chest;
 
 const int WIDTH = 800, HEIGHT = 600;
 const float ASPECT = (float)WIDTH / (float)HEIGHT;
 
 void setProjectionAndViewUniforms(GLuint progId) {
-       GLuint projId = glGetUniformLocation(progId, "projection");
+       GLuint projLoc = glGetUniformLocation(progId, "projection");
        glm::mat4 proj = glm::perspective(glm::radians(45.f), ASPECT, 0.01f, 10000.f);
-       glUniformMatrix4fv(projId, 1, GL_FALSE, glm::value_ptr(proj));
+       glUniformMatrix4fv(projLoc, 1, GL_FALSE, glm::value_ptr(proj));
 
-       GLuint viewId = glGetUniformLocation(progId, "view");
+       GLuint viewLoc = glGetUniformLocation(progId, "view");
        glm::mat4 view = glm::lookAt(camPos, camPos + camFront, camUp);
-       glUniformMatrix4fv(viewId, 1, GL_FALSE, glm::value_ptr(view));
+       glUniformMatrix4fv(viewLoc, 1, GL_FALSE, glm::value_ptr(view));
 }
 
 void setLightColorAndPos(GLuint progId, glm::vec3 lightPos, glm::vec4 lightColor) {
@@ -50,15 +52,15 @@ void setLightColorAndPos(GLuint progId, glm::vec3 lightPos, glm::vec4 lightColor
 }
 
 void drawLight(float d, glm::vec3 lightPos, glm::vec4 lightColor) {
-       glUseProgram(solidProgId);
+       glUseProgram(plainProgId);
        glBindVertexArray(lightVao);
-       setProjectionAndViewUniforms(solidProgId);
+       setProjectionAndViewUniforms(plainProgId);
        glm::mat4 model = glm::translate(glm::mat4(1.f), lightPos);
        model = glm::scale(model, glm::vec3(0.2));
-       GLuint modelId = glGetUniformLocation(solidProgId, "model");
-       glUniformMatrix4fv(modelId, 1, GL_FALSE, glm::value_ptr(model));
+       GLuint modelLoc = glGetUniformLocation(plainProgId, "model");
+       glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(model));
 
-       GLuint colorLoc = glGetUniformLocation(solidProgId, "color");
+       GLuint colorLoc = glGetUniformLocation(plainProgId, "color");
        glm::vec4 color(lightColor);
        glUniform4fv(colorLoc, 1, glm::value_ptr(color));
                
@@ -107,8 +109,8 @@ enum TeapotProjection { teapotOrtho, teapotCamera, teapotPerspStatic, teapotPers
 void drawTeapot(TeapotProjection proj, bool rotate, float d, glm::vec3 lightPos, glm::vec4 lightColor) {
        glUseProgram(normalProgId);
        
-       GLuint projId = glGetUniformLocation(normalProgId, "projection");
-       GLuint viewId = glGetUniformLocation(normalProgId, "view");
+       GLuint projLoc = glGetUniformLocation(normalProgId, "projection");
+       GLuint viewLoc = glGetUniformLocation(normalProgId, "view");
        switch (proj) {
        case teapotCamera:
                setProjectionAndViewUniforms(normalProgId);
@@ -116,11 +118,11 @@ void drawTeapot(TeapotProjection proj, bool rotate, float d, glm::vec3 lightPos,
        case teapotOrtho:
                {
                        glm::mat4 proj = glm::ortho(-5.f * ASPECT, 5.f * ASPECT, -5.f, 5.f, 0.01f, 1000.f);
-                       glUniformMatrix4fv(projId, 1, GL_FALSE, glm::value_ptr(proj));
+                       glUniformMatrix4fv(projLoc, 1, GL_FALSE, glm::value_ptr(proj));
 
                        glm::vec3 camPos(-5, 5, -5), camFront = glm::vec3(0) - camPos;
                        glm::mat4 view = glm::lookAt(camPos, camPos + camFront, camUp);
-                       glUniformMatrix4fv(viewId, 1, GL_FALSE, glm::value_ptr(view));
+                       glUniformMatrix4fv(viewLoc, 1, GL_FALSE, glm::value_ptr(view));
                }
                break;
        case teapotPerspStatic:
@@ -130,10 +132,10 @@ void drawTeapot(TeapotProjection proj, bool rotate, float d, glm::vec3 lightPos,
                        if (proj == teapotPerspAnimated)
                                fov += glm::radians(sin(d) * 30.f);
                        glm::mat4 proj = glm::perspective(fov, ASPECT, 0.01f, 10000.f);
-                       glUniformMatrix4fv(projId, 1, GL_FALSE, glm::value_ptr(proj));
+                       glUniformMatrix4fv(projLoc, 1, GL_FALSE, glm::value_ptr(proj));
 
                        glm::mat4 view = glm::lookAt(glm::vec3(0, 0, -10), glm::vec3(0), camUp);
-                       glUniformMatrix4fv(viewId, 1, GL_FALSE, glm::value_ptr(view));
+                       glUniformMatrix4fv(viewLoc, 1, GL_FALSE, glm::value_ptr(view));
                }
                break;
        }
@@ -157,23 +159,40 @@ void display() {
        glm::vec4 lightColor(1, 1, 1, 1);
 
        glViewport(0, 0, WIDTH, HEIGHT);
-       drawPyramids(d, lightPos, lightColor);
+       /* drawPyramids(d, lightPos, lightColor); */
        drawLight(d, lightPos, lightColor);
-       drawTeapot(teapotCamera, false, d, lightPos, lightColor);
 
-       glClear(GL_DEPTH_BUFFER_BIT);
+       glUseProgram(solidProgId);
+       setProjectionAndViewUniforms(solidProgId);
+       setLightColorAndPos(solidProgId, lightPos, lightColor);
+       GLuint colorLoc = glGetUniformLocation(solidProgId, "color");
+       glm::vec4 c(1.f, 0, 1.f, 1.f);
+       glUniform4fv(colorLoc, 1, glm::value_ptr(c));
+       GLuint modelLoc = glGetUniformLocation(solidProgId, "model");
+       glm::mat4 model(1);
+       model = glm::scale(model, glm::vec3(2.0));
+       glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(model));
+       monkeyHead->draw();
+       model = glm::translate(model, glm::vec3(3, 0, 0));
+       glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(model));
+       chest->draw();
+       
+       /* drawTeapot(teapotCamera, false, d, lightPos, lightColor); */
 
-       glViewport(0, 0, WIDTH / 4, HEIGHT / 4);
-       drawTeapot(teapotOrtho, false, d, lightPos, lightColor);
+       /* glClear(GL_DEPTH_BUFFER_BIT); */
 
-       glViewport(WIDTH / 4, 0, WIDTH / 4, HEIGHT / 4);
-       drawTeapot(teapotOrtho, true, d, lightPos, lightColor);
+       /* glViewport(0, 0, WIDTH / 4, HEIGHT / 4); */
+       /* drawTeapot(teapotOrtho, false, d, lightPos, lightColor); */
 
-       glViewport(WIDTH / 4 * 2, 0, WIDTH / 4, HEIGHT / 4);
-       drawTeapot(teapotPerspStatic, false, d, lightPos, lightColor);
+       /* glViewport(WIDTH / 4, 0, WIDTH / 4, HEIGHT / 4); */
+       /* drawTeapot(teapotOrtho, true, d, lightPos, lightColor); */
+
+       /* glViewport(WIDTH / 4 * 2, 0, WIDTH / 4, HEIGHT / 4); */
+       /* drawTeapot(teapotPerspStatic, false, d, lightPos, lightColor); */
+
+       /* glViewport(WIDTH / 4 * 3, 0, WIDTH / 4, HEIGHT / 4); */
+       /* drawTeapot(teapotPerspAnimated, false, d, lightPos, lightColor); */
 
-       glViewport(WIDTH / 4 * 3, 0, WIDTH / 4, HEIGHT / 4);
-       drawTeapot(teapotPerspAnimated, false, d, lightPos, lightColor);
 
        glutSwapBuffers();
 }
@@ -452,23 +471,30 @@ void init() {
                }
        }
 
-       gradientProgId = compileShaders((char*)"vertex.glsl", (char*)"fragment.glsl");
+       gradientProgId = compileShaders((char*)"vertex.glsl", (char*)"gradientfrag.glsl");
        glUseProgram(gradientProgId);
        pyramidVao = setupBuffers(vertices, normals, gradientProgId);
        validateProgram(gradientProgId);
 
-       solidProgId = compileShaders((char*)"solidvertex.glsl", (char*)"solidfrag.glsl");
-       glUseProgram(solidProgId);
-       setupLightBuffers(solidProgId);
-       validateProgram(solidProgId);
+       plainProgId = compileShaders((char*)"plainvertex.glsl", (char*)"plainfrag.glsl");
+       glUseProgram(plainProgId);
+       setupLightBuffers(plainProgId);
+       validateProgram(plainProgId);
 
        normalProgId = compileShaders((char*)"vertex.glsl", (char*)"normalfrag.glsl");
        glUseProgram(normalProgId);
        setupTeapotBuffers(normalProgId);
        validateProgram(normalProgId);
 
+       solidProgId = compileShaders((char*)"vertex.glsl", (char*)"solidfrag.glsl");
+       glUseProgram(solidProgId);
+       validateProgram(solidProgId);
+
+       monkeyHead = new Model("monkeyhead_smooth.dae", solidProgId);
+       chest = new Model("chest.obj", solidProgId);
+
        glEnable(GL_DEPTH_TEST); 
-       glEnable(GL_CULL_FACE); 
+       /* glEnable(GL_CULL_FACE); */ 
 }
 
 bool* keyStates = new bool[256];
diff --git a/model.cpp b/model.cpp
new file mode 100644 (file)
index 0000000..29e3d8a
--- /dev/null
+++ b/model.cpp
@@ -0,0 +1,78 @@
+#include "model.hpp"
+#include <iostream>
+#include <assimp/Importer.hpp>
+#include <assimp/scene.h>
+#include <assimp/postprocess.h>
+
+Model::Mesh::Mesh(const aiMesh *aiMesh, GLuint progId) {
+       for (int i = 0; i < aiMesh->mNumVertices; i++) {
+               if (aiMesh->HasPositions()) {
+                       aiVector3D v = aiMesh->mVertices[i];
+                       vertices.push_back(glm::vec3(v.x, v.y, v.z));
+               }
+               if (aiMesh->HasNormals()) {
+                       const aiVector3D v = aiMesh->mNormals[i];
+                       normals.push_back(glm::vec3(v.x, v.y, v.z));
+               }
+               // check for texture coord set 0
+               if (aiMesh->HasTextureCoords(0)) {
+                       const aiVector3D v = aiMesh->mTextureCoords[0][i];
+                       texCoords.push_back(glm::vec2(v.x, v.y));
+               }
+       }
+
+       for (int i = 0; i < aiMesh->mNumFaces; i++) {
+               const aiFace &face = aiMesh->mFaces[i];
+               if(face.mNumIndices == 3) {
+                       indices.push_back(face.mIndices[0]);
+                       indices.push_back(face.mIndices[1]);
+                       indices.push_back(face.mIndices[2]);
+               }
+       }
+       
+       glGenVertexArrays(1, &vao);
+       glBindVertexArray(vao);
+       
+       GLuint vbos[3];
+       glGenBuffers(3, vbos);
+       vertexVbo = vbos[0], normalVbo = vbos[1], indicesVbo = vbos[2];
+       
+       GLuint posLoc = glGetAttribLocation(progId, "vPosition");
+       GLuint normalLoc = glGetAttribLocation(progId, "vNormal");
+       
+       glBindBuffer(GL_ARRAY_BUFFER, vertexVbo);
+       glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(glm::vec3), &vertices[0], GL_STATIC_DRAW);
+       glEnableVertexAttribArray(posLoc);
+       glVertexAttribPointer(posLoc, 3, GL_FLOAT, GL_FALSE, 0, 0);
+       
+       glBindBuffer(GL_ARRAY_BUFFER, normalVbo);
+       glBufferData(GL_ARRAY_BUFFER, normals.size() * sizeof(glm::vec3), &normals[0], GL_STATIC_DRAW);
+       glEnableVertexAttribArray(normalLoc);
+       glVertexAttribPointer(normalLoc, 3, GL_FLOAT, GL_FALSE, 0, 0);
+
+       glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indicesVbo);
+       glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(GLuint), &indices[0], GL_STATIC_DRAW);
+};
+
+void Model::loadModel(const std::string &file) {
+       Assimp::Importer importer;
+       const aiScene *scene = importer.ReadFile(file, 
+                       aiProcess_Triangulate | aiProcess_PreTransformVertices |
+                       aiProcess_GenNormals);
+       if (!scene) {
+               std::cerr << importer.GetErrorString() << std::endl;
+               exit(1);
+       }
+
+       for (int i = 0; i < scene->mNumMeshes; i++) {
+               const aiMesh *mesh = scene->mMeshes[i];
+               meshes.push_back(Mesh(mesh, progId));
+       }
+}
+
+void Model::draw() {
+       for (Mesh &mesh: meshes) {
+               glBindVertexArray(mesh.vao);
+               glDrawElements(GL_TRIANGLES, mesh.indices.size(), GL_UNSIGNED_INT, 0);
+       }
+}
diff --git a/model.hpp b/model.hpp
new file mode 100644 (file)
index 0000000..0339538
--- /dev/null
+++ b/model.hpp
@@ -0,0 +1,32 @@
+#include <vector>
+#ifdef __APPLE__
+#include <GL/glew.h>
+#else
+#include <OpenGL/glew.h>
+#endif
+#include <glm/glm.hpp>
+#include <assimp/scene.h>
+
+class Model {
+       public:
+               Model(const std::string &path, GLuint progId): progId(progId) {
+                       loadModel(path);
+               }
+               void draw();
+       private:
+               const GLuint progId;
+
+               struct Mesh {
+                       Mesh(const aiMesh *aiMesh, GLuint progId);
+                       
+                       GLuint vao, vertexVbo, normalVbo, indicesVbo;
+
+                       std::vector<glm::vec3> vertices;
+                       std::vector<glm::vec3> normals;
+                       std::vector<glm::vec2> texCoords;
+                       std::vector<GLuint> indices;
+               };
+               
+               std::vector<Mesh> meshes;
+               void loadModel(const std::string &path);
+};
diff --git a/monkeyhead_smooth.dae b/monkeyhead_smooth.dae
new file mode 100755 (executable)
index 0000000..dd8265a
--- /dev/null
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
+  <asset>
+    <contributor>
+      <author>Blender User</author>
+      <authoring_tool>Blender 2.74.0 commit date:2015-03-31, commit time:13:39, hash:000dfc0</authoring_tool>
+    </contributor>
+    <created>2018-10-15T14:19:34</created>
+    <modified>2018-10-15T14:19:34</modified>
+    <unit name="meter" meter="1"/>
+    <up_axis>Z_UP</up_axis>
+  </asset>
+  <library_images/>
+  <library_geometries>
+    <geometry id="Suzanne_002-mesh" name="Suzanne.002">
+      <mesh>
+        <source id="Suzanne_002-mesh-positions">
+          <float_array id="Suzanne_002-mesh-positions-array" count="1521">0.4375 0.1640625 0.765625 -0.4375 0.1640625 0.765625 0.5 0.09375 0.6875 -0.5 0.09375 0.6875 0.546875 0.0546875 0.578125 -0.546875 0.0546875 0.578125 0.3515625 -0.0234375 0.6171875 -0.3515625 -0.0234375 0.6171875 0.3515625 0.03125 0.71875 -0.3515625 0.03125 0.71875 0.3515625 0.1328125 0.78125 -0.3515625 0.1328125 0.78125 0.2734375 0.1640625 0.796875 -0.2734375 0.1640625 0.796875 0.203125 0.09375 0.7421875 -0.203125 0.09375 0.7421875 0.15625 0.0546875 0.6484375 -0.15625 0.0546875 0.6484375 0.078125 0.2421875 0.65625 -0.078125 0.2421875 0.65625 0.140625 0.2421875 0.7421875 -0.140625 0.2421875 0.7421875 0.2421875 0.2421875 0.796875 -0.2421875 0.2421875 0.796875 0.2734375 0.328125 0.796875 -0.2734375 0.328125 0.796875 0.203125 0.390625 0.7421875 -0.203125 0.390625 0.7421875 0.15625 0.4375 0.6484375 -0.15625 0.4375 0.6484375 0.3515625 0.515625 0.6171875 -0.3515625 0.515625 0.6171875 0.3515625 0.453125 0.71875 -0.3515625 0.453125 0.71875 0.3515625 0.359375 0.78125 -0.3515625 0.359375 0.78125 0.4375 0.328125 0.765625 -0.4375 0.328125 0.765625 0.5 0.390625 0.6875 -0.5 0.390625 0.6875 0.546875 0.4375 0.578125 -0.546875 0.4375 0.578125 0.625 0.2421875 0.5625 -0.625 0.2421875 0.5625 0.5625 0.2421875 0.671875 -0.5625 0.2421875 0.671875 0.46875 0.2421875 0.7578125 -0.46875 0.2421875 0.7578125 0.4765625 0.2421875 0.7734375 -0.4765625 0.2421875 0.7734375 0.4453125 0.3359375 0.78125 -0.4453125 0.3359375 0.78125 0.3515625 0.375 0.8046875 -0.3515625 0.375 0.8046875 0.265625 0.3359375 0.8203125 -0.265625 0.3359375 0.8203125 0.2265625 0.2421875 0.8203125 -0.2265625 0.2421875 0.8203125 0.265625 0.15625 0.8203125 -0.265625 0.15625 0.8203125 0.3515625 0.2421875 0.828125 -0.3515625 0.2421875 0.828125 0.3515625 0.1171875 0.8046875 -0.3515625 0.1171875 0.8046875 0.4453125 0.15625 0.78125 -0.4453125 0.15625 0.78125 0 0.4296875 0.7421875 0 0.3515625 0.8203125 0 -0.6796875 0.734375 0 -0.3203125 0.78125 0 -0.1875 0.796875 0 -0.7734375 0.71875 0 0.40625 0.6015625 0 0.5703125 0.5703125 0 0.8984375 -0.546875 0 0.5625 -0.8515625 0 0.0703125 -0.828125 0 -0.3828125 -0.3515625 0.203125 -0.1875 0.5625 -0.203125 -0.1875 0.5625 0.3125 -0.4375 0.5703125 -0.3125 -0.4375 0.5703125 0.3515625 -0.6953125 0.5703125 -0.3515625 -0.6953125 0.5703125 0.3671875 -0.890625 0.53125 -0.3671875 -0.890625 0.53125 0.328125 -0.9453125 0.5234375 -0.328125 -0.9453125 0.5234375 0.1796875 -0.96875 0.5546875 -0.1796875 -0.96875 0.5546875 0 -0.984375 0.578125 0.4375 -0.140625 0.53125 -0.4375 -0.140625 0.53125 0.6328125 -0.0390625 0.5390625 -0.6328125 -0.0390625 0.5390625 0.828125 0.1484375 0.4453125 -0.828125 0.1484375 0.4453125 0.859375 0.4296875 0.59375 -0.859375 0.4296875 0.59375 0.7109375 0.484375 0.625 -0.7109375 0.484375 0.625 0.4921875 0.6015625 0.6875 -0.4921875 0.6015625 0.6875 0.3203125 0.7578125 0.734375 -0.3203125 0.7578125 0.734375 0.15625 0.71875 0.7578125 -0.15625 0.71875 0.7578125 0.0625 0.4921875 0.75 -0.0625 0.4921875 0.75 0.1640625 0.4140625 0.7734375 -0.1640625 0.4140625 0.7734375 0.125 0.3046875 0.765625 -0.125 0.3046875 0.765625 0.203125 0.09375 0.7421875 -0.203125 0.09375 0.7421875 0.375 0.015625 0.703125 -0.375 0.015625 0.703125 0.4921875 0.0625 0.671875 -0.4921875 0.0625 0.671875 0.625 0.1875 0.6484375 -0.625 0.1875 0.6484375 0.640625 0.296875 0.6484375 -0.640625 0.296875 0.6484375 0.6015625 0.375 0.6640625 -0.6015625 0.375 0.6640625 0.4296875 0.4375 0.71875 -0.4296875 0.4375 0.71875 0.25 0.46875 0.7578125 -0.25 0.46875 0.7578125 0 -0.765625 0.734375 0.109375 -0.71875 0.734375 -0.109375 -0.71875 0.734375 0.1171875 -0.8359375 0.7109375 -0.1171875 -0.8359375 0.7109375 0.0625 -0.8828125 0.6953125 -0.0625 -0.8828125 0.6953125 0 -0.890625 0.6875 0 -0.1953125 0.75 0 -0.140625 0.7421875 0.1015625 -0.1484375 0.7421875 -0.1015625 -0.1484375 0.7421875 0.125 -0.2265625 0.75 -0.125 -0.2265625 0.75 0.0859375 -0.2890625 0.7421875 -0.0859375 -0.2890625 0.7421875 0.3984375 -0.046875 0.671875 -0.3984375 -0.046875 0.671875 0.6171875 0.0546875 0.625 -0.6171875 0.0546875 0.625 0.7265625 0.203125 0.6015625 -0.7265625 0.203125 0.6015625 0.7421875 0.375 0.65625 -0.7421875 0.375 0.65625 0.6875 0.4140625 0.7265625 -0.6875 0.4140625 0.7265625 0.4375 0.546875 0.796875 -0.4375 0.546875 0.796875 0.3125 0.640625 0.8359375 -0.3125 0.640625 0.8359375 0.203125 0.6171875 0.8515625 -0.203125 0.6171875 0.8515625 0.1015625 0.4296875 0.84375 -0.1015625 0.4296875 0.84375 0.125 -0.1015625 0.8125 -0.125 -0.1015625 0.8125 0.2109375 -0.4453125 0.7109375 -0.2109375 -0.4453125 0.7109375 0.25 -0.703125 0.6875 -0.25 -0.703125 0.6875 0.265625 -0.8203125 0.6640625 -0.265625 -0.8203125 0.6640625 0.234375 -0.9140625 0.6328125 -0.234375 -0.9140625 0.6328125 0.1640625 -0.9296875 0.6328125 -0.1640625 -0.9296875 0.6328125 0 -0.9453125 0.640625 0 0.046875 0.7265625 0 0.2109375 0.765625 0.328125 0.4765625 0.7421875 -0.328125 0.4765625 0.7421875 0.1640625 0.140625 0.75 -0.1640625 0.140625 0.75 0.1328125 0.2109375 0.7578125 -0.1328125 0.2109375 0.7578125 0.1171875 -0.6875 0.734375 -0.1171875 -0.6875 0.734375 0.078125 -0.4453125 0.75 -0.078125 -0.4453125 0.75 0 -0.4453125 0.75 0 -0.328125 0.7421875 0.09375 -0.2734375 0.78125 -0.09375 -0.2734375 0.78125 0.1328125 -0.2265625 0.796875 -0.1328125 -0.2265625 0.796875 0.109375 -0.1328125 0.78125 -0.109375 -0.1328125 0.78125 0.0390625 -0.125 0.78125 -0.0390625 -0.125 0.78125 0 -0.203125 0.828125 0.046875 -0.1484375 0.8125 -0.046875 -0.1484375 0.8125 0.09375 -0.15625 0.8125 -0.09375 -0.15625 0.8125 0.109375 -0.2265625 0.828125 -0.109375 -0.2265625 0.828125 0.078125 -0.25 0.8046875 -0.078125 -0.25 0.8046875 0 -0.2890625 0.8046875 0.2578125 -0.3125 0.5546875 -0.2578125 -0.3125 0.5546875 0.1640625 -0.2421875 0.7109375 -0.1640625 -0.2421875 0.7109375 0.1796875 -0.3125 0.7109375 -0.1796875 -0.3125 0.7109375 0.234375 -0.25 0.5546875 -0.234375 -0.25 0.5546875 0 -0.8750001 0.6875 0.046875 -0.8671875 0.6875 -0.046875 -0.8671875 0.6875 0.09375 -0.8203125 0.7109375 -0.09375 -0.8203125 0.7109375 0.09375 -0.7421875 0.7265625 -0.09375 -0.7421875 0.7265625 0 -0.78125 0.65625 0.09375 -0.75 0.6640625 -0.09375 -0.75 0.6640625 0.09375 -0.8125 0.640625 -0.09375 -0.8125 0.640625 0.046875 -0.8515625 0.6328125 -0.046875 -0.8515625 0.6328125 0 -0.859375 0.6328125 0.171875 0.21875 0.78125 -0.171875 0.21875 0.78125 0.1875 0.15625 0.7734375 -0.1875 0.15625 0.7734375 0.3359375 0.4296875 0.7578125 -0.3359375 0.4296875 0.7578125 0.2734375 0.421875 0.7734375 -0.2734375 0.421875 0.7734375 0.421875 0.3984375 0.7734375 -0.421875 0.3984375 0.7734375 0.5625 0.3515625 0.6953125 -0.5625 0.3515625 0.6953125 0.5859375 0.2890625 0.6875 -0.5859375 0.2890625 0.6875 0.578125 0.1953125 0.6796875 -0.578125 0.1953125 0.6796875 0.4765625 0.1015625 0.71875 -0.4765625 0.1015625 0.71875 0.375 0.0625 0.7421875 -0.375 0.0625 0.7421875 0.2265625 0.109375 0.78125 -0.2265625 0.109375 0.78125 0.1796875 0.296875 0.78125 -0.1796875 0.296875 0.78125 0.2109375 0.375 0.78125 -0.2109375 0.375 0.78125 0.234375 0.359375 0.7578125 -0.234375 0.359375 0.7578125 0.1953125 0.296875 0.7578125 -0.1953125 0.296875 0.7578125 0.2421875 0.125 0.7578125 -0.2421875 0.125 0.7578125 0.375 0.0859375 0.7265625 -0.375 0.0859375 0.7265625 0.4609375 0.1171875 0.703125 -0.4609375 0.1171875 0.703125 0.546875 0.2109375 0.671875 -0.546875 0.2109375 0.671875 0.5546875 0.28125 0.671875 -0.5546875 0.28125 0.671875 0.53125 0.3359375 0.6796875 -0.53125 0.3359375 0.6796875 0.4140625 0.390625 0.75 -0.4140625 0.390625 0.75 0.28125 0.3984375 0.765625 -0.28125 0.3984375 0.765625 0.3359375 0.40625 0.75 -0.3359375 0.40625 0.75 0.203125 0.171875 0.75 -0.203125 0.171875 0.75 0.1953125 0.2265625 0.75 -0.1953125 0.2265625 0.75 0.109375 0.4609375 0.609375 -0.109375 0.4609375 0.609375 0.1953125 0.6640625 0.6171875 -0.1953125 0.6640625 0.6171875 0.3359375 0.6875 0.59375 -0.3359375 0.6875 0.59375 0.484375 0.5546875 0.5546875 -0.484375 0.5546875 0.5546875 0.6796875 0.453125 0.4921875 -0.6796875 0.453125 0.4921875 0.796875 0.40625 0.4609375 -0.796875 0.40625 0.4609375 0.7734375 0.1640625 0.375 -0.7734375 0.1640625 0.375 0.6015625 0 0.4140625 -0.6015625 0 0.4140625 0.4375 -0.09375 0.46875 -0.4375 -0.09375 0.46875 0 0.8984375 0.2890625 0 0.984375 -0.078125 0 -0.1953125 -0.671875 0 -0.4609375 0.1875 0 -0.9765625 0.4609375 0 -0.8046875 0.34375 0 -0.5703125 0.3203125 0 -0.484375 0.28125 0.8515625 0.234375 0.0546875 -0.8515625 0.234375 0.0546875 0.859375 0.3203125 -0.046875 -0.859375 0.3203125 -0.046875 0.7734375 0.265625 -0.4375 -0.7734375 0.265625 -0.4375 0.4609375 0.4375 -0.703125 -0.4609375 0.4375 -0.703125 0.734375 -0.046875 0.0703125 -0.734375 -0.046875 0.0703125 0.59375 -0.125 -0.1640625 -0.59375 -0.125 -0.1640625 0.640625 -0.0078125 -0.4296875 -0.640625 -0.0078125 -0.4296875 0.3359375 0.0546875 -0.6640625 -0.3359375 0.0546875 -0.6640625 0.234375 -0.3515625 0.40625 -0.234375 -0.3515625 0.40625 0.1796875 -0.4140625 0.2578125 -0.1796875 -0.4140625 0.2578125 0.2890625 -0.7109375 0.3828125 -0.2890625 -0.7109375 0.3828125 0.25 -0.5 0.390625 -0.25 -0.5 0.390625 0.328125 -0.9140625 0.3984375 -0.328125 -0.9140625 0.3984375 0.140625 -0.7578125 0.3671875 -0.140625 -0.7578125 0.3671875 0.125 -0.5390625 0.359375 -0.125 -0.5390625 0.359375 0.1640625 -0.9453125 0.4375 -0.1640625 -0.9453125 0.4375 0.21875 -0.28125 0.4296875 -0.21875 -0.28125 0.4296875 0.2109375 -0.2265625 0.46875 -0.2109375 -0.2265625 0.46875 0.203125 -0.171875 0.5 -0.203125 -0.171875 0.5 0.2109375 -0.390625 0.1640625 -0.2109375 -0.390625 0.1640625 0.296875 -0.3125 -0.265625 -0.296875 -0.3125 -0.265625 0.34375 -0.1484375 -0.5390625 -0.34375 -0.1484375 -0.5390625 0.453125 0.8671875 -0.3828125 -0.453125 0.8671875 -0.3828125 0.453125 0.9296875 -0.0703125 -0.453125 0.9296875 -0.0703125 0.453125 0.8515625 0.234375 -0.453125 0.8515625 0.234375 0.4609375 0.5234375 0.4296875 -0.4609375 0.5234375 0.4296875 0.7265625 0.40625 0.3359375 -0.7265625 0.40625 0.3359375 0.6328125 0.453125 0.28125 -0.6328125 0.453125 0.28125 0.640625 0.703125 0.0546875 -0.640625 0.703125 0.0546875 0.796875 0.5625 0.125 -0.796875 0.5625 0.125 0.796875 0.6171875 -0.1171875 -0.796875 0.6171875 -0.1171875 0.640625 0.75 -0.1953125 -0.640625 0.75 -0.1953125 0.640625 0.6796875 -0.4453125 -0.640625 0.6796875 -0.4453125 0.796875 0.5390625 -0.359375 -0.796875 0.5390625 -0.359375 0.6171875 0.328125 -0.5859375 -0.6171875 0.328125 -0.5859375 0.484375 0.0234375 -0.546875 -0.484375 0.0234375 -0.546875 0.8203125 0.328125 -0.203125 -0.8203125 0.328125 -0.203125 0.40625 -0.171875 0.1484375 -0.40625 -0.171875 0.1484375 0.4296875 -0.1953125 -0.2109375 -0.4296875 -0.1953125 -0.2109375 0.890625 0.40625 -0.234375 -0.890625 0.40625 -0.234375 0.7734375 -0.140625 -0.125 -0.7734375 -0.140625 -0.125 1.039062 -0.1015625 -0.328125 -1.039062 -0.1015625 -0.328125 1.28125 0.0546875 -0.4296875 -1.28125 0.0546875 -0.4296875 1.351562 0.3203125 -0.421875 -1.351562 0.3203125 -0.421875 1.234375 0.5078125 -0.421875 -1.234375 0.5078125 -0.421875 1.023437 0.4765625 -0.3125 -1.023437 0.4765625 -0.3125 1.015625 0.4140625 -0.2890625 -1.015625 0.4140625 -0.2890625 1.1875 0.4375 -0.390625 -1.1875 0.4375 -0.390625 1.265625 0.2890625 -0.40625 -1.265625 0.2890625 -0.40625 1.210937 0.078125 -0.40625 -1.210937 0.078125 -0.40625 1.03125 -0.0390625 -0.3046875 -1.03125 -0.0390625 -0.3046875 0.828125 -0.0703125 -0.1328125 -0.828125 -0.0703125 -0.1328125 0.921875 0.359375 -0.21875 -0.921875 0.359375 -0.21875 0.9453125 0.3046875 -0.2890625 -0.9453125 0.3046875 -0.2890625 0.8828125 -0.0234375 -0.2109375 -0.8828125 -0.0234375 -0.2109375 1.039062 0 -0.3671875 -1.039062 0 -0.3671875 1.1875 0.09375 -0.4453125 -1.1875 0.09375 -0.4453125 1.234375 0.25 -0.4453125 -1.234375 0.25 -0.4453125 1.171875 0.359375 -0.4375 -1.171875 0.359375 -0.4375 1.023437 0.34375 -0.359375 -1.023437 0.34375 -0.359375 0.84375 0.2890625 -0.2109375 -0.84375 0.2890625 -0.2109375 0.8359375 0.171875 -0.2734375 -0.8359375 0.171875 -0.2734375 0.7578125 0.09375 -0.2734375 -0.7578125 0.09375 -0.2734375 0.8203125 0.0859375 -0.2734375 -0.8203125 0.0859375 -0.2734375 0.84375 0.015625 -0.2734375 -0.84375 0.015625 -0.2734375 0.8125 -0.015625 -0.2734375 -0.8125 -0.015625 -0.2734375 0.7265625 0 -0.0703125 -0.7265625 0 -0.0703125 0.71875 -0.0234375 -0.171875 -0.71875 -0.0234375 -0.171875 0.71875 0.0390625 -0.1875 -0.71875 0.0390625 -0.1875 0.796875 0.203125 -0.2109375 -0.796875 0.203125 -0.2109375 0.890625 0.2421875 -0.265625 -0.890625 0.2421875 -0.265625 0.890625 0.234375 -0.3203125 -0.890625 0.234375 -0.3203125 0.8125 -0.015625 -0.3203125 -0.8125 -0.015625 -0.3203125 0.8515625 0.015625 -0.3203125 -0.8515625 0.015625 -0.3203125 0.828125 0.078125 -0.3203125 -0.828125 0.078125 -0.3203125 0.765625 0.09375 -0.3203125 -0.765625 0.09375 -0.3203125 0.84375 0.171875 -0.3203125 -0.84375 0.171875 -0.3203125 1.039062 0.328125 -0.4140625 -1.039062 0.328125 -0.4140625 1.1875 0.34375 -0.484375 -1.1875 0.34375 -0.484375 1.257812 0.2421875 -0.4921875 -1.257812 0.2421875 -0.4921875 1.210937 0.0859375 -0.484375 -1.210937 0.0859375 -0.484375 1.046875 0 -0.421875 -1.046875 0 -0.421875 0.8828125 -0.015625 -0.265625 -0.8828125 -0.015625 -0.265625 0.953125 0.2890625 -0.34375 -0.953125 0.2890625 -0.34375 0.890625 0.109375 -0.328125 -0.890625 0.109375 -0.328125 0.9375 0.0625 -0.3359375 -0.9375 0.0625 -0.3359375 1 0.125 -0.3671875 -1 0.125 -0.3671875 0.9609375 0.171875 -0.3515625 -0.9609375 0.171875 -0.3515625 1.015625 0.234375 -0.375 -1.015625 0.234375 -0.375 1.054687 0.1875 -0.3828125 -1.054687 0.1875 -0.3828125 1.109375 0.2109375 -0.390625 -1.109375 0.2109375 -0.390625 1.085937 0.2734375 -0.390625 -1.085937 0.2734375 -0.390625 1.023437 0.4375 -0.484375 -1.023437 0.4375 -0.484375 1.25 0.46875 -0.546875 -1.25 0.46875 -0.546875 1.367187 0.296875 -0.5 -1.367187 0.296875 -0.5 1.3125 0.0546875 -0.53125 -1.3125 0.0546875 -0.53125 1.039062 -0.0859375 -0.4921875 -1.039062 -0.0859375 -0.4921875 0.7890625 -0.125 -0.328125 -0.7890625 -0.125 -0.328125 0.859375 0.3828125 -0.3828125 -0.859375 0.3828125 -0.3828125</float_array>
+          <technique_common>
+            <accessor source="#Suzanne_002-mesh-positions-array" count="507" stride="3">
+              <param name="X" type="float"/>
+              <param name="Y" type="float"/>
+              <param name="Z" type="float"/>
+            </accessor>
+          </technique_common>
+        </source>
+        <source id="Suzanne_002-mesh-normals">
+          <float_array id="Suzanne_002-mesh-normals-array" count="1521">0.9692984 -0.01181066 0.2455519 0.7289956 -0.6565752 0.1934263 0.6076235 -0.5103915 0.6084781 -0.6076235 -0.5103915 0.6084781 -0.7289956 -0.6565752 0.1934263 -0.9692984 -0.01181066 0.2455519 0.8001038 -0.002838194 0.5998413 0.680166 -0.5462508 0.488815 -0.680166 -0.5462508 0.488815 -0.8001038 -0.002838194 0.5998413 0.09949034 -0.7514573 0.6522111 0.1193274 -0.8711509 0.4762719 -0.1193274 -0.8711509 0.4762719 -0.09949034 -0.7514573 0.6522111 0.03140354 -0.9669485 0.2529069 -0.03140354 -0.9669485 0.2529069 -0.6530656 -0.686636 0.3193151 -0.4562822 -0.5353557 0.7107456 0.4562822 -0.5353557 0.7107456 0.6530656 -0.686636 0.3193151 -0.5538499 -0.633198 0.5406354 0.5538499 -0.633198 0.5406354 -0.6892911 -0.004577755 0.7244179 0.8097171 -0.006988704 0.5867488 0.6892911 -0.004577755 0.7244179 -0.9525743 -0.01312291 0.3039948 0.9525743 -0.01312291 0.3039948 -0.6643574 0.6820582 0.3055818 -0.4559465 0.5222022 0.7206641 0.4559465 0.5222022 0.7206641 0.6643574 0.6820582 0.3055818 -0.8097171 -0.006988704 0.5867488 0.5305948 0.6257515 0.5717033 0.103061 0.7401959 0.664388 -0.5305948 0.6257515 0.5717033 -0.1257362 0.8415784 0.5252541 -0.103061 0.7401959 0.664388 0.02572709 0.9725639 0.2311472 -0.02572709 0.9725639 0.2311472 0.7363811 0.652089 0.1802728 -0.6102176 0.49559 0.6180608 -0.7363811 0.652089 0.1802728 0.6102176 0.49559 0.6180608 0.1257362 0.8415784 0.5252541 -0.6682028 0.5370953 0.5147863 0.6682028 0.5370953 0.5147863 -0.8682211 -0.004730343 0.4961089 0.964446 -0.01266515 0.263863 -0.7216101 0.6555681 0.2223883 -0.964446 -0.01266515 0.263863 0.7216101 0.6555681 0.2223883 -0.04315316 0.938902 0.3414411 0.04315316 0.938902 0.3414411 0.6236763 0.6285287 0.4646748 -0.6236763 0.6285287 0.4646748 0.9269692 -0.01293981 0.3748589 -0.6158635 -0.6366161 0.4640949 0.6158635 -0.6366161 0.4640949 0.04251223 -0.9403363 0.3374737 -0.04251223 -0.9403363 0.3374737 0.7151708 -0.6624653 0.222724 -0.7151708 -0.6624653 0.222724 0.1835993 -0.005310177 0.9829707 -0.1835993 -0.005310177 0.9829707 -0.9269692 -0.01293981 0.3748589 0.1595507 -0.9752495 0.1528977 0.1553697 -0.7589648 0.6322825 0 -0.9676504 0.252266 0 -0.7753227 0.63155 -0.1553697 -0.7589648 0.6322825 0.5266579 -0.8346507 0.1611072 0.3502304 -0.6391491 0.6846828 -0.3502304 -0.6391491 0.6846828 -0.1595507 -0.9752495 0.1528977 0.9457076 -0.2578509 0.1976989 0.5556505 -0.2263557 0.7999817 -0.5556505 -0.2263557 0.7999817 -0.9457076 -0.2578509 0.1976989 0.972808 0.1003143 0.208716 0.5651723 -0.02972501 0.8243965 -0.5651723 -0.02972501 0.8243965 -0.972808 0.1003143 0.208716 0.9557176 0.2491836 0.1564683 0.5936766 0.1081576 0.7973876 -0.5936766 0.1081576 0.7973876 -0.9557176 0.2491836 0.1564683 0.8915372 -0.330668 0.3094577 0.3488265 -0.9371319 -0.008148431 0.3442793 -0.546617 0.7632985 -0.3442793 -0.546617 0.7632985 -0.3488265 -0.9371319 -0.008148431 -0.8915372 -0.330668 0.3094577 0.5874813 -0.784875 0.1969664 -0.4991302 -0.3760491 0.7806635 -0.5874813 -0.784875 0.1969664 0.9069796 -0.4009217 -0.1289407 0.5665456 -0.3187963 0.7598193 -0.5665456 -0.3187963 0.7598193 -0.9069796 -0.4009217 -0.1289407 0.8451186 0.4434034 0.2985016 -0.4607074 -0.1448103 0.8756371 -0.8451186 0.4434034 0.2985016 0.5170446 0.8290963 0.2125309 0.4607074 -0.1448103 0.8756371 -0.4801172 -0.1832636 0.8578143 -0.5170446 0.8290963 0.2125309 0.5975524 0.7847225 0.1645863 0.4801172 -0.1832636 0.8578143 -0.3084506 0.003845274 0.9512009 -0.5975524 0.7847225 0.1645863 0.2312692 0.9569994 0.1750236 0.2665792 0.2165898 0.9391461 -0.2665792 0.2165898 0.9391461 -0.2312692 0.9569994 0.1750236 -0.60506 0.7680288 0.2097537 0.1573839 0.1660206 0.9734489 0.60506 0.7680288 0.2097537 -0.8241829 0.5467696 0.1473128 -0.1573839 0.1660206 0.9734489 0.06106752 -0.02523881 0.9978027 0.8241829 0.5467696 0.1473128 0 0.9635914 0.2672811 -0.06106752 -0.02523881 0.9978027 0 -0.08273565 0.9965514 0.3678396 -0.2836085 0.8855556 0.2581561 -0.1264992 0.9577624 -0.2581561 -0.1264992 0.9577624 0.1490219 -0.1541489 0.9767144 -0.1490219 -0.1541489 0.9767144 0.2189702 0.03714102 0.9750053 0.3084506 0.003845274 0.9512009 0.2254097 -0.3607593 0.9049959 -0.2189702 0.03714102 0.9750053 0.3588061 -0.1191747 0.9257485 -0.2254097 -0.3607593 0.9049959 0.4602191 -0.1651051 0.8722801 -0.3588061 -0.1191747 0.9257485 0.4279 -0.3895077 0.8155767 0.4991302 -0.3760491 0.7806635 -0.4602191 -0.1651051 0.8722801 0.1589404 -0.4989166 0.8519242 -0.4279 -0.3895077 0.8155767 -0.1281472 -0.2920011 0.9477523 0.05609297 -0.263863 0.96292 -0.05609297 -0.263863 0.96292 0.1281472 -0.2920011 0.9477523 -0.2392956 -0.3011872 0.9230324 0 0.06427198 0.9979248 0.2392956 -0.3011872 0.9230324 0.03158664 -0.1781671 0.983459 -0.03158664 -0.1781671 0.983459 0 -0.2219916 0.9750359 0.2005676 -0.1349528 0.9703055 -0.05887019 -0.3784295 0.9237343 0 -0.3465071 0.9380169 0.05887019 -0.3784295 0.9237343 0.1307107 -0.3186438 0.9388104 -0.1307107 -0.3186438 0.9388104 0.1459395 -0.1201819 0.9819331 0.1340983 0.006256282 0.990936 0.181524 -0.0451979 0.9823298 -0.181524 -0.0451979 0.9823298 -0.1340983 0.006256282 0.990936 -0.1459395 -0.1201819 0.9819331 0.5002594 -0.4292429 0.7519456 0 -0.4759361 0.8794519 0 0 1 0 -0.03405863 0.9993897 0 -0.5869625 0.8095645 0.9321573 -0.1377605 0.3347575 0.9262368 -0.2430494 0.2880032 0.583575 -0.6928617 0.4234749 -0.583575 -0.6928617 0.4234749 -0.9262368 -0.2430494 0.2880032 -0.9321573 -0.1377605 0.3347575 0.5013886 -0.3253273 0.8016907 0.6186407 0.7756584 0.1247901 -0.6186407 0.7756584 0.1247901 -0.1769463 0.5084078 0.8427076 -0.2405164 0.9490341 0.2035585 0.2405164 0.9490341 0.2035585 -0.5013886 -0.3253273 0.8016907 -0.9999695 0 0 -0.1949522 0.8127995 0.5489059 0 -0.8653829 0.5010529 -0.5002594 -0.4292429 0.7519456 0 -0.481521 0.8764306 -0.1832941 -0.5863521 0.7890256 0 0.1578417 0.9874569 -0.1857356 0.5955992 0.7814875 0.1857356 0.5955992 0.7814875 0.361095 0.4712668 0.804651 -0.361095 0.4712668 0.804651 -0.4488052 -0.3147069 0.8363597 0.4488052 -0.3147069 0.8363597 0.1832941 -0.5863521 0.7890256 0.7751396 0.0386669 0.6305735 -0.7751396 0.0386669 0.6305735 -0.6506546 0.1487472 0.7446516 0.6506546 0.1487472 0.7446516 0.9277627 0.3530076 0.1208838 -0.9277627 0.3530076 0.1208838 0.9306009 0.3435164 0.1263466 -0.9306009 0.3435164 0.1263466 -0.1368449 -0.5272683 0.8385876 0 -0.9619129 0.2732322 0.1368449 -0.5272683 0.8385876 -0.6351207 0.04275637 0.7712028 0.6351207 0.04275637 0.7712028 -0.4141057 0.5798212 0.7016205 0.4141057 0.5798212 0.7016205 0 0.5587634 0.82931 0 0.5334025 0.845851 0.2958464 0.4749596 0.8287606 -0.6737571 0.1154515 0.7298502 0.6737571 0.1154515 0.7298502 -0.517655 -0.7040925 0.4860073 0.517655 -0.7040925 0.4860073 0 -0.6989349 0.7151708 -0.2958464 0.4749596 0.8287606 -0.2005676 -0.1349528 0.9703055 -0.01010161 -0.06997895 0.997467 0.01010161 -0.06997895 0.997467 0.1580553 -0.08423107 0.9838252 -0.1580553 -0.08423107 0.9838252 0.1829584 -0.1028779 0.977691 -0.2934049 -0.06015193 0.9540696 -0.1829584 -0.1028779 0.977691 0.03170871 -0.2197943 0.9750053 0.1844539 -0.1863155 0.9649953 -0.1844539 -0.1863155 0.9649953 -0.1589404 -0.4989166 0.8519242 0.2989898 -0.03561508 0.9535813 -0.2989898 -0.03561508 0.9535813 0.29429 -0.1020234 0.9501938 -0.29429 -0.1020234 0.9501938 0.1775872 -0.06076234 0.9822077 -0.1775872 -0.06076234 0.9822077 -0.294351 0.004638791 0.9556566 0.294351 0.004638791 0.9556566 -0.08868676 -0.1271706 0.9878842 0.2036195 0.103183 0.973571 -0.2036195 0.103183 0.973571 0.1315042 0.06497389 0.9891659 -0.1315042 0.06497389 0.9891659 -0.3678396 -0.2836085 0.8855556 0.4634236 -0.3949095 0.7932371 -0.4634236 -0.3949095 0.7932371 0.1743828 -0.2683187 0.9473861 -0.1743828 -0.2683187 0.9473861 0.08868676 -0.1271706 0.9878842 -0.2740562 -0.8556169 0.4391003 -0.1133152 -0.3141881 0.9425642 0.2740562 -0.8556169 0.4391003 -0.1423078 -0.5826289 0.8001648 0.1423078 -0.5826289 0.8001648 -0.1921445 0.191351 0.9625233 0.4229255 -0.1077609 0.8997162 0.1921445 0.191351 0.9625233 0.1430708 0.5586718 0.8169195 0.1652577 0.6097903 0.7751091 -0.1430708 0.5586718 0.8169195 -0.03170871 -0.2197943 0.9750053 0.4322642 0.5833003 0.6876431 -0.4322642 0.5833003 0.6876431 0.2934049 -0.06015193 0.9540696 0.7893612 -0.2031922 0.5793024 -0.7893612 -0.2031922 0.5793024 0.8016297 0.01098662 0.5976745 -0.8016297 0.01098662 0.5976745 0.6880398 0.298471 0.6613972 -0.6880398 0.298471 0.6613972 -0.4593036 0.8624531 0.2125919 0.4593036 0.8624531 0.2125919 -0.4766381 0.5094455 -0.7163915 0.4766381 0.5094455 -0.7163915 -0.1192969 0.6461379 -0.7538072 0.1192969 0.6461379 -0.7538072 -0.2266914 0.8748131 -0.4281136 0.2266914 0.8748131 -0.4281136 -0.3455306 0.9124424 -0.2191229 0.6956999 0.5813776 -0.4218268 -0.6956999 0.5813776 -0.4218268 -0.9302042 -0.3061922 -0.2023377 0.5443282 -0.8371533 -0.05331581 -0.5443282 -0.8371533 -0.05331581 0.4719687 -0.8636738 -0.1767937 -0.4719687 -0.8636738 -0.1767937 0 -0.2132939 -0.9769585 0 -0.7710807 -0.6367077 0.2770776 -0.3147374 -0.9078036 -0.6893216 -0.668691 -0.2786034 -0.2770776 -0.3147374 -0.9078036 0 -0.2973418 -0.9547411 0.1513718 -0.1509751 -0.976867 -0.1513718 -0.1509751 -0.976867 0 -0.8818018 -0.4716025 0.06747639 -0.783166 -0.6181219 -0.06747639 -0.783166 -0.6181219 -0.5266579 -0.8346507 0.1611072 0.5550706 -0.4762108 -0.6819666 -0.5550706 -0.4762108 -0.6819666 0.6203803 0.08346807 -0.7798089 -0.6203803 0.08346807 -0.7798089 0.8956573 0.2577288 -0.3624073 0.7798395 -0.01049834 -0.6258431 0.6893216 -0.668691 -0.2786034 -0.7798395 -0.01049834 -0.6258431 0.9786981 -0.1958373 0.06149476 -0.8871731 -0.1577196 0.433607 -0.9786981 -0.1958373 0.06149476 -0.8956573 0.2577288 -0.3624073 0.785699 -0.5714591 0.2367321 -0.785699 -0.5714591 0.2367321 0 -0.3049409 -0.9523606 0.4454787 -0.3583483 -0.8203986 0 -0.6912748 -0.7225868 -0.5222632 -0.6536149 -0.5476852 -0.4454787 -0.3583483 -0.8203986 0.5222632 -0.6536149 -0.5476852 0 -0.9416486 -0.3365276 -0.5070651 -0.8375805 -0.2033143 0.5070651 -0.8375805 -0.2033143 0.5726798 -0.8196662 0.01199376 -0.5726798 -0.8196662 0.01199376 0 -0.9830317 -0.1832941 0.9302042 -0.3061922 -0.2023377 0.7210303 -0.6898099 0.06503492 -0.7210303 -0.6898099 0.06503492 0 0.3650319 -0.9309672 0.4730064 0.1763054 -0.8632161 -0.4730064 0.1763054 -0.8632161 0 0.8306223 0.5568102 0.4442274 0.7244179 0.5270852 0 0.9997254 0.02258366 -0.4134953 0.9096347 0.03946042 -0.4442274 0.7244179 0.5270852 0.4134953 0.9096347 0.03946042 0.3912473 0.8152714 -0.4268319 -0.3912473 0.8152714 -0.4268319 0 0.8342235 -0.5513779 0.3455306 0.9124424 -0.2191229 0.7717216 0.6310617 0.07849359 -0.7717216 0.6310617 0.07849359 0.4444105 0.7885373 0.4250313 0.7417524 0.5164342 0.427839 -0.7417524 0.5164342 0.427839 -0.4444105 0.7885373 0.4250313 0.6681722 0.671865 0.3194983 0.8486282 0.5287637 -0.01400798 -0.8486282 0.5287637 -0.01400798 -0.6681722 0.671865 0.3194983 0.6783959 0.7313761 -0.06952112 0.872158 0.3145543 -0.3746452 -0.872158 0.3145543 -0.3746452 -0.6783959 0.7313761 -0.06952112 0.6707663 -0.04528945 -0.740257 0.6196478 -0.06045717 -0.7825251 -0.607532 0.569567 -0.5535752 -0.6196478 -0.06045717 -0.7825251 0.607532 0.569567 -0.5535752 0.3406476 0.8832057 0.322306 -0.3406476 0.8832057 0.322306 0 0.529252 0.8484451 0 0.8591876 0.5116123 -0.9850154 -0.1604663 0.06305122 0.9850154 -0.1604663 0.06305122 0.9970092 -0.03329569 -0.06952112 -0.9970092 -0.03329569 -0.06952112 0.908536 0.2242195 0.3524888 -0.908536 0.2242195 0.3524888 0.5790277 -0.8026978 0.1427045 -0.5632801 -0.8172857 -0.1213111 -0.5790277 -0.8026978 0.1427045 0.3122959 -0.9499496 0.001159667 -0.3122959 -0.9499496 0.001159667 0.8871731 -0.1577196 0.433607 0.3255104 -0.6029237 -0.7283548 -0.5292215 -0.5051119 -0.6817225 -0.3255104 -0.6029237 -0.7283548 0.5632801 -0.8172857 -0.1213111 0.5292215 -0.5051119 -0.6817225 0.01879936 0.8722496 0.4886319 -0.2792444 0.7683035 0.5758843 0.5511643 -0.07876825 0.8306223 -0.4492325 -0.03833121 0.8925749 0.2792444 0.7683035 0.5758843 -0.5511643 -0.07876825 0.8306223 0.3214514 -0.09231847 0.942381 -0.3214514 -0.09231847 0.942381 -0.01879936 0.8722496 0.4886319 0.3835566 0.8629719 0.3287759 0.7788019 0.1677907 0.6043885 0.1544541 -0.1238746 0.9801935 -0.7788019 0.1677907 0.6043885 -0.1544541 -0.1238746 0.9801935 0.6526078 -0.4768212 0.5887936 0.04110842 0.310831 0.9495529 -0.6526078 -0.4768212 0.5887936 -0.04110842 0.310831 0.9495529 0.502884 -0.7809992 0.3703116 -0.5383771 0.2952666 0.7892392 -0.502884 -0.7809992 0.3703116 0.5383771 0.2952666 0.7892392 0.3299356 0.3156529 0.889645 -0.3299356 0.3156529 0.889645 -0.1868038 0.9538255 0.2350841 0.1628773 0.8580279 0.4870144 -0.1628773 0.8580279 0.4870144 0.1868038 0.9538255 0.2350841 -0.7621387 0.6470839 -0.01928764 0.7621387 0.6470839 -0.01928764 -0.9847407 -0.09958189 0.1426129 0.9847407 -0.09958189 0.1426129 -0.1495712 -0.7455062 0.6494644 0.1495712 -0.7455062 0.6494644 0.5604419 -0.6608783 0.4990997 -0.5604419 -0.6608783 0.4990997 0.4492325 -0.03833121 0.8925749 0.6841945 -0.5557726 0.4721824 -0.6841945 -0.5557726 0.4721824 0.8572039 -0.4931181 -0.1482894 -0.731193 0.1144139 0.6724753 -0.8572039 -0.4931181 -0.1482894 0.0295419 -0.6349986 0.7719047 0.731193 0.1144139 0.6724753 -0.0295419 -0.6349986 0.7719047 0.3727226 -0.2241584 0.9004486 -0.3727226 -0.2241584 0.9004486 0.5998413 0.5131382 0.6138798 -0.5998413 0.5131382 0.6138798 0.8420362 -0.1762444 0.5097812 0.9609363 -0.118839 0.249855 -0.9609363 -0.118839 0.249855 0.8514664 0.04135257 0.5227516 -0.8420362 -0.1762444 0.5097812 -0.8514664 0.04135257 0.5227516 0.6863613 -0.6233711 0.3745537 0.8483535 -0.4353771 0.3011566 -0.8483535 -0.4353771 0.3011566 0.7260659 -0.4989166 0.4731284 -0.6863613 -0.6233711 0.3745537 -0.7260659 -0.4989166 0.4731284 0.6592914 -0.4684897 0.5880612 -0.6592914 -0.4684897 0.5880612 -0.5725272 -0.4189276 0.7047334 0.7583544 0.2665181 0.5948058 -0.7583544 0.2665181 0.5948058 0.4813684 0.6343883 0.6048159 -0.4492325 0.3798639 0.8086184 -0.4813684 0.6343883 0.6048159 0.4492325 0.3798639 0.8086184 -0.2929167 0.370922 0.881222 0.6449782 0.3101291 0.6983856 -0.6449782 0.3101291 0.6983856 -0.03311258 0.9449141 0.3256019 0.03311258 0.9449141 0.3256019 0.6482132 -0.4205756 0.634724 -0.6482132 -0.4205756 0.634724 0.4617756 -0.3291421 0.8236641 -0.4617756 -0.3291421 0.8236641 -0.2623981 -0.5330668 0.8043459 0.2623981 -0.5330668 0.8043459 -0.5831172 0.4998932 0.6403394 0.7528611 -0.03378397 0.6572772 0.5831172 0.4998932 0.6403394 0.0650044 0.7038484 0.707358 -0.0650044 0.7038484 0.707358 0.2929167 0.370922 0.881222 0.1951048 0.03894162 0.9799799 -0.4084292 0.1272622 0.9038362 -0.1951048 0.03894162 0.9799799 0.4084292 0.1272622 0.9038362 0.334666 -0.004577755 0.9422895 -0.4448072 -0.09369182 0.8906827 -0.334666 -0.004577755 0.9422895 0.4448072 -0.09369182 0.8906827 0.3143712 -0.1037324 0.9436018 -0.3143712 -0.1037324 0.9436018 0.3342998 0.1067842 0.9363689 0.2896206 0.3158055 0.9035005 -0.3831294 -0.06851404 0.9211402 -0.2896206 0.3158055 0.9035005 -0.3342998 0.1067842 0.9363689 0.5725272 -0.4189276 0.7047334 -0.7528611 -0.03378397 0.6572772 0.3831294 -0.06851404 0.9211402 -0.09884941 -0.8408154 -0.5321512 0.09884941 -0.8408154 -0.5321512 -0.02526932 -0.6795862 -0.7331156 0.02526932 -0.6795862 -0.7331156 0.9252602 0.09183019 -0.3679922 -0.6365856 -0.5043184 -0.5833919 -0.9252602 0.09183019 -0.3679922 0.2869961 0.5977661 -0.748497 -0.2869961 0.5977661 -0.748497 -0.4142277 0.5508896 -0.7244789 -0.3835566 0.8629719 0.3287759 0.4142277 0.5508896 -0.7244789 -0.6500748 0.5846431 -0.4853358 0.6500748 0.5846431 -0.4853358 0.6365856 -0.5043184 -0.5833919 -0.6707663 -0.04528945 -0.740257 0.8682211 -0.004730343 0.4961089 0.1133152 -0.3141881 0.9425642 -0.4229255 -0.1077609 0.8997162 -0.1652577 0.6097903 0.7751091</float_array>
+          <technique_common>
+            <accessor source="#Suzanne_002-mesh-normals-array" count="507" stride="3">
+              <param name="X" type="float"/>
+              <param name="Y" type="float"/>
+              <param name="Z" type="float"/>
+            </accessor>
+          </technique_common>
+        </source>
+        <vertices id="Suzanne_002-mesh-vertices">
+          <input semantic="POSITION" source="#Suzanne_002-mesh-positions"/>
+        </vertices>
+        <polylist count="967">
+          <input semantic="VERTEX" source="#Suzanne_002-mesh-vertices" offset="0"/>
+          <input semantic="NORMAL" source="#Suzanne_002-mesh-normals" offset="1"/>
+          <vcount>3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </vcount>
+          <p>46 0 0 1 2 2 3 3 1 4 47 5 44 6 2 2 4 7 5 8 3 3 45 9 2 2 8 10 6 11 7 12 9 13 3 3 0 1 10 14 8 10 9 13 11 15 1 4 10 14 12 16 14 17 15 18 13 19 11 15 8 10 14 17 16 20 17 21 15 18 9 13 14 17 20 22 16 20 19 23 21 24 17 21 12 16 22 25 14 17 21 24 23 26 15 18 22 25 24 27 26 28 27 29 25 30 23 26 20 22 26 28 18 31 29 32 27 29 19 23 26 28 32 33 28 34 31 35 33 36 29 32 24 27 34 37 26 28 33 36 35 38 27 29 34 37 36 39 32 33 39 40 37 41 33 36 32 33 38 42 30 43 41 44 39 40 31 35 38 42 44 6 40 45 43 46 45 9 41 44 36 39 46 0 38 42 45 9 47 5 39 40 46 0 36 39 48 47 51 48 37 41 49 49 36 39 34 37 50 50 53 51 35 38 51 48 34 37 24 27 52 52 55 53 25 30 53 51 24 27 22 25 54 54 57 55 23 26 55 53 22 25 12 16 58 56 59 57 13 19 23 26 12 16 10 14 62 58 63 59 11 15 13 19 10 14 0 1 64 60 65 61 1 4 11 15 0 1 46 0 48 47 49 49 47 5 1 4 60 62 64 60 48 47 49 49 65 61 61 63 62 58 64 60 60 62 61 63 65 61 63 59 60 62 58 56 62 58 63 59 59 57 61 63 60 62 56 64 58 56 59 57 57 55 61 63 60 62 54 54 56 64 57 55 55 53 61 63 60 62 52 52 54 54 55 53 53 51 61 63 60 62 50 50 52 52 53 51 51 48 61 63 60 62 48 47 50 50 51 48 49 49 61 63 88 65 173 66 90 67 175 68 174 69 90 67 86 70 171 71 88 65 174 69 172 72 89 73 84 74 169 75 171 71 172 72 170 76 85 77 82 78 167 79 169 75 170 76 168 80 83 81 80 82 165 83 167 79 168 80 166 84 81 85 78 86 91 87 145 88 146 89 92 90 79 91 91 87 93 92 145 88 148 93 94 94 146 89 93 92 95 95 149 96 150 97 96 98 94 94 95 95 97 99 149 96 152 100 98 101 150 97 97 99 99 102 151 103 154 104 100 105 152 100 99 102 101 106 153 107 156 108 102 109 154 104 101 106 103 110 157 111 158 112 104 113 102 109 103 110 105 114 157 111 160 115 106 116 158 112 105 114 107 117 159 118 162 119 108 120 160 115 107 117 66 121 161 122 67 123 66 121 162 119 109 124 127 125 161 122 160 115 128 126 162 119 127 125 178 127 157 111 158 112 179 128 128 126 125 129 155 130 178 127 158 112 156 108 179 128 123 131 153 107 125 129 156 108 154 104 126 132 121 133 151 103 123 131 154 104 152 100 124 134 119 135 149 96 121 133 152 100 150 97 122 136 117 137 147 138 119 135 150 97 148 93 120 139 115 140 145 88 117 137 148 93 146 89 118 141 113 142 163 143 145 88 146 89 164 144 114 145 113 142 180 146 176 147 176 147 181 148 114 145 109 124 161 122 111 149 67 123 162 119 112 150 111 149 67 123 177 151 177 151 67 123 112 150 176 147 180 146 177 151 183 152 181 148 177 151 134 153 136 154 175 68 175 68 136 154 135 155 132 156 134 153 173 66 174 69 135 155 133 157 130 158 132 156 169 75 172 72 133 157 170 76 165 83 186 159 184 160 185 161 187 162 166 84 130 158 169 75 167 79 168 80 170 76 131 163 143 164 189 165 186 159 188 166 189 165 187 162 184 160 186 159 68 167 188 166 187 162 68 167 129 168 130 158 68 167 185 161 131 163 68 167 141 169 192 170 190 171 191 172 193 173 142 174 139 175 194 176 141 169 193 173 195 177 142 174 138 178 196 179 139 175 195 177 197 180 140 181 137 182 70 183 138 178 197 180 70 183 138 178 189 165 143 164 69 184 191 172 144 185 69 184 69 184 190 171 207 186 206 187 191 172 207 186 70 183 198 188 199 189 200 190 198 188 70 183 196 179 199 189 201 191 202 192 200 190 197 180 194 176 201 191 192 170 204 193 202 192 193 173 192 170 203 194 205 195 206 187 204 193 193 173 198 188 203 194 199 189 202 192 204 193 200 190 198 188 207 186 205 195 206 187 207 186 198 188 138 178 139 175 163 143 164 144 140 181 138 178 139 175 141 169 210 196 211 197 142 174 140 181 141 169 143 164 210 196 213 198 144 185 211 197 143 164 186 159 212 199 166 84 187 162 213 198 80 82 208 200 165 83 213 198 209 201 166 84 208 200 214 202 212 199 211 197 215 203 213 198 78 86 163 143 210 196 211 197 164 144 79 91 130 158 129 168 221 204 71 205 129 168 222 206 132 156 130 158 221 204 222 206 131 163 133 157 134 153 132 156 219 207 220 208 133 157 135 155 136 154 134 153 217 209 218 210 135 155 136 154 216 211 217 209 230 212 229 213 218 210 230 212 217 209 219 207 226 214 227 215 220 208 218 210 219 207 221 204 224 216 225 217 222 206 220 208 221 204 71 205 224 216 223 218 71 205 225 217 223 218 230 212 228 219 229 213 230 212 223 218 224 216 228 219 226 214 227 215 229 213 225 217 182 220 180 146 233 221 234 222 181 148 183 152 111 149 182 220 231 223 232 224 183 152 112 150 109 124 111 149 255 225 254 226 112 150 256 227 180 146 113 142 233 221 252 228 114 145 234 222 113 142 115 140 249 229 250 230 116 231 114 145 115 140 117 137 247 232 248 233 118 141 116 231 117 137 119 135 245 234 246 235 120 139 118 141 119 135 121 133 243 236 244 237 122 136 120 139 121 133 123 131 243 236 242 238 124 134 244 237 123 131 125 129 241 239 240 240 126 132 242 238 125 129 178 127 235 241 236 242 179 128 126 132 178 127 127 125 237 243 238 244 128 126 179 128 127 125 109 124 255 225 256 227 110 245 128 126 237 243 255 225 257 246 258 247 256 227 238 244 235 241 237 243 275 248 276 249 238 244 236 242 239 250 235 241 273 251 278 252 236 242 274 253 241 239 239 250 271 254 274 253 240 240 272 255 243 236 241 239 271 254 272 255 242 238 244 237 245 234 243 236 267 256 270 257 244 237 268 258 247 232 245 234 267 256 268 258 246 235 248 233 249 229 247 232 263 259 266 260 248 233 264 261 251 262 249 229 261 263 264 261 250 230 262 264 233 221 251 262 261 263 262 264 252 228 234 222 255 225 253 265 259 266 260 267 254 226 256 227 253 265 231 223 281 268 282 269 232 224 254 226 231 223 233 221 279 270 280 271 234 222 232 224 66 121 107 117 283 272 284 273 108 120 66 121 107 117 105 114 285 274 286 275 106 116 108 120 105 114 103 110 285 274 288 276 104 113 286 275 103 110 101 106 287 277 290 278 102 109 288 276 101 106 99 102 289 279 292 280 100 105 290 278 99 102 97 99 293 281 294 282 98 101 100 105 97 99 95 95 293 281 296 283 96 98 294 282 95 95 93 92 297 284 298 285 94 94 96 98 93 92 91 87 299 286 300 287 92 90 94 94 307 288 308 289 337 290 328 291 308 289 338 292 306 293 307 288 335 294 338 292 307 288 336 295 305 296 306 293 339 297 336 295 306 293 340 298 88 65 90 67 305 296 305 296 90 67 89 73 86 70 88 65 339 297 340 298 89 73 87 299 84 74 86 70 333 300 334 301 87 299 85 77 82 78 84 74 329 302 330 303 85 77 83 81 329 302 335 294 337 290 338 292 336 295 330 303 329 302 333 300 335 294 340 298 334 301 336 295 325 304 331 305 327 306 338 292 332 307 328 291 80 82 82 78 331 305 332 307 83 81 81 85 208 200 341 308 214 202 344 309 342 310 215 203 80 82 325 304 208 200 342 310 326 311 209 201 78 86 214 202 345 312 344 309 215 203 346 313 78 86 345 312 91 87 300 287 346 313 92 90 76 314 323 315 303 316 352 317 324 318 303 316 303 316 351 319 77 320 350 321 352 317 77 320 77 320 349 322 347 323 348 324 350 321 77 320 304 325 347 323 327 306 328 291 348 324 304 325 325 304 327 306 341 308 348 324 328 291 342 310 295 326 297 284 317 327 318 328 298 285 296 283 75 329 315 330 76 314 324 318 316 331 76 314 301 332 357 333 302 334 356 335 358 336 302 334 302 334 355 337 353 338 354 339 356 335 302 334 74 340 353 338 315 330 316 331 354 339 74 340 291 341 293 281 361 342 362 343 294 282 292 280 363 344 361 342 367 345 368 346 362 343 364 347 365 348 367 345 369 349 370 350 368 346 366 351 371 352 369 349 375 353 376 354 370 350 372 355 313 356 377 357 375 353 374 358 378 359 376 354 315 330 353 338 373 360 374 358 354 339 316 331 353 338 355 337 371 352 372 355 356 335 354 339 355 337 357 333 365 348 366 351 358 336 356 335 357 333 359 361 363 344 364 347 360 362 358 336 289 279 291 341 359 361 364 347 292 280 360 362 73 363 359 361 301 332 358 336 360 362 301 332 283 272 285 274 289 279 288 276 286 275 290 278 283 272 289 279 359 361 360 362 290 278 284 273 72 364 283 272 73 363 73 363 284 273 72 364 293 281 295 326 361 342 310 365 296 283 362 343 309 366 311 367 367 345 368 346 312 368 310 365 311 367 381 369 369 349 370 350 382 370 312 368 313 356 375 353 381 369 370 350 376 354 382 370 347 323 349 322 383 371 386 372 350 321 384 373 317 327 383 371 319 374 386 372 384 373 320 375 297 284 299 286 383 371 384 373 300 287 298 285 299 286 343 376 341 308 342 310 344 309 300 287 341 308 347 323 383 371 384 373 348 324 342 310 299 286 345 312 343 376 344 309 346 313 300 287 313 356 321 377 377 357 380 378 322 379 378 359 315 330 377 357 323 315 380 378 378 359 324 318 319 374 385 380 321 377 380 378 386 372 322 379 349 322 351 319 385 380 380 378 352 317 386 372 323 315 379 381 351 319 352 317 380 378 324 318 399 382 387 383 401 384 414 385 388 386 402 387 399 382 401 384 403 388 404 389 402 387 400 390 397 391 403 388 395 392 406 393 404 389 396 394 395 392 405 395 393 396 408 397 406 393 394 398 393 396 407 399 391 400 410 401 408 397 392 402 391 400 409 403 411 404 412 405 410 401 392 402 409 403 419 406 417 407 418 408 420 409 410 401 407 399 421 410 419 406 420 409 422 411 408 397 405 395 423 412 407 399 422 411 424 413 408 397 403 388 425 414 405 395 424 413 426 415 406 393 401 384 427 416 403 388 426 415 428 417 404 389 401 384 413 418 415 419 416 420 414 385 402 387 317 327 319 374 441 421 444 422 320 375 442 423 319 374 389 424 443 425 412 405 390 426 444 422 309 366 317 327 441 421 442 423 318 328 310 365 381 369 429 427 413 418 414 385 430 428 382 370 411 404 417 407 439 429 440 430 418 408 412 405 437 431 445 432 439 429 444 422 446 433 440 430 433 434 445 432 437 431 438 435 446 433 434 436 431 437 447 438 433 434 446 433 448 439 434 436 429 427 447 438 449 440 432 441 448 439 450 442 413 418 429 427 415 419 450 442 430 428 416 420 311 367 447 438 381 369 430 428 448 439 382 370 311 367 441 421 447 438 446 433 442 423 448 439 441 421 443 425 445 432 446 433 444 422 442 423 415 419 449 440 451 443 452 444 450 442 416 420 449 440 431 437 451 443 462 445 432 441 452 444 431 437 433 434 459 446 460 447 434 436 432 441 433 434 435 448 459 446 458 449 436 450 460 447 435 448 437 431 457 451 456 452 438 435 458 449 437 431 439 429 453 453 454 454 440 430 438 435 439 429 417 407 473 455 474 456 418 408 440 430 427 416 415 419 475 457 476 458 416 420 428 417 425 414 427 416 463 459 464 460 428 417 426 415 423 412 425 414 465 461 466 462 426 415 424 413 421 410 423 412 469 463 468 464 424 413 470 465 419 406 421 410 471 466 470 465 422 411 472 467 417 407 419 406 473 455 472 467 420 409 474 456 457 451 455 468 477 469 480 470 456 452 478 471 477 469 479 472 483 473 482 474 480 470 484 475 483 473 481 476 487 477 488 478 482 474 484 475 485 479 487 477 491 480 490 481 488 478 492 482 463 459 475 457 485 479 486 483 476 458 464 460 451 443 483 473 475 457 486 483 484 475 476 458 451 443 461 484 483 473 478 471 462 445 484 475 457 451 477 469 461 484 462 445 478 471 458 449 453 453 473 455 455 468 480 470 474 456 456 452 471 466 481 476 479 472 480 470 482 474 472 467 469 463 487 477 471 466 482 474 488 478 472 467 467 485 489 486 469 463 488 478 490 481 470 465 465 461 491 480 489 486 490 481 492 482 466 462 463 459 491 480 465 461 466 462 492 482 464 460 391 400 389 424 503 487 504 488 390 426 392 402 393 396 391 400 501 489 502 490 392 402 394 398 395 392 393 396 497 491 500 492 394 398 498 493 397 391 395 392 495 494 498 493 396 394 496 495 399 382 397 391 493 496 496 495 398 497 494 498 387 383 399 382 505 499 494 498 400 390 506 500 493 496 501 489 505 499 504 488 502 490 506 500 493 496 495 494 499 501 500 492 496 495 494 498 495 494 497 491 499 501 500 492 498 493 496 495 313 356 381 369 505 499 388 386 382 370 506 500 313 356 505 499 503 487 504 488 506 500 314 502 319 374 321 377 503 487 504 488 322 379 320 375 44 6 46 0 2 2 45 9 3 3 47 5 42 503 44 6 4 7 43 46 5 8 45 9 4 7 2 2 6 11 5 8 7 12 3 3 2 2 0 1 8 10 3 3 9 13 1 4 8 10 10 14 14 17 9 13 15 18 11 15 6 11 8 10 16 20 7 12 17 21 9 13 20 22 18 31 16 20 21 24 15 18 17 21 22 25 20 22 14 17 23 26 13 19 15 18 20 22 22 25 26 28 21 24 27 29 23 26 26 28 28 34 18 31 27 29 21 24 19 23 32 33 30 43 28 34 33 36 27 29 29 32 34 37 32 33 26 28 35 38 25 30 27 29 36 39 38 42 32 33 37 41 35 38 33 36 38 42 40 45 30 43 39 40 33 36 31 35 44 6 42 503 40 45 45 9 39 40 41 44 46 0 44 6 38 42 47 5 37 41 39 40 36 39 50 50 48 47 37 41 47 5 49 49 34 37 52 52 50 50 35 38 37 41 51 48 24 27 54 54 52 52 25 30 35 38 53 51 22 25 56 64 54 54 23 26 25 30 55 53 56 64 22 25 58 56 57 55 59 57 23 26 58 56 12 16 62 58 59 57 63 59 13 19 62 58 10 14 64 60 63 59 65 61 11 15 64 60 0 1 48 47 65 61 49 49 1 4 173 66 175 68 90 67 174 69 89 73 90 67 171 71 173 66 88 65 172 72 87 299 89 73 86 70 84 74 171 71 87 299 172 72 85 77 84 74 82 78 169 75 85 77 170 76 83 81 82 78 80 82 167 79 83 81 168 80 81 85 163 143 78 86 145 88 164 144 146 89 79 91 93 92 147 138 145 88 94 94 92 90 146 89 147 138 93 92 149 96 148 93 150 97 94 94 97 99 151 103 149 96 98 101 96 98 150 97 99 102 153 107 151 103 100 105 98 101 152 100 101 106 155 130 153 107 102 109 100 105 154 104 155 130 101 106 157 111 156 108 158 112 102 109 105 114 159 118 157 111 106 116 104 113 158 112 107 117 161 122 159 118 108 120 106 116 160 115 66 121 67 123 161 122 66 121 108 120 162 119 127 125 159 118 161 122 128 126 110 245 162 119 159 118 127 125 157 111 160 115 158 112 128 126 155 130 157 111 178 127 156 108 126 132 179 128 153 107 155 130 125 129 154 104 124 134 126 132 151 103 153 107 123 131 152 100 122 136 124 134 149 96 151 103 121 133 150 97 120 139 122 136 147 138 149 96 119 135 148 93 118 141 120 139 145 88 147 138 117 137 146 89 116 231 118 141 115 140 113 142 145 88 116 231 146 89 114 145 163 143 113 142 176 147 164 144 176 147 114 145 161 122 67 123 111 149 162 119 110 245 112 150 182 220 111 149 177 151 183 152 177 151 112 150 180 146 182 220 177 151 181 148 176 147 177 151 173 66 134 153 175 68 174 69 175 68 135 155 171 71 132 156 173 66 172 72 174 69 133 157 132 156 171 71 169 75 133 157 131 163 170 76 167 79 165 83 184 160 168 80 185 161 166 84 184 160 130 158 167 79 185 161 168 80 131 163 189 165 188 166 186 159 189 165 144 185 187 162 186 159 188 166 68 167 187 162 185 161 68 167 130 158 184 160 68 167 131 163 129 168 68 167 143 164 141 169 190 171 144 185 191 172 142 174 194 176 192 170 141 169 195 177 140 181 142 174 196 179 194 176 139 175 197 180 138 178 140 181 70 183 196 179 138 178 143 164 190 171 69 184 144 185 189 165 69 184 190 171 205 195 207 186 191 172 69 184 207 186 196 179 70 183 199 189 197 180 200 190 70 183 194 176 196 179 201 191 195 177 202 192 197 180 201 191 203 194 192 170 202 192 195 177 193 173 190 171 192 170 205 195 191 172 206 187 193 173 203 194 201 191 199 189 204 193 198 188 200 190 203 194 198 188 205 195 204 193 206 187 198 188 176 147 138 178 163 143 176 147 164 144 138 178 163 143 139 175 210 196 164 144 211 197 140 181 143 164 212 199 210 196 144 185 142 174 211 197 186 159 165 83 212 199 187 162 144 185 213 198 208 200 212 199 165 83 209 201 81 85 166 84 214 202 210 196 212 199 215 203 209 201 213 198 214 202 78 86 210 196 215 203 211 197 79 91 129 168 71 205 221 204 129 168 131 163 222 206 219 207 132 156 221 204 220 208 222 206 133 157 217 209 134 153 219 207 218 210 220 208 135 155 216 211 136 154 217 209 216 211 218 210 136 154 217 209 228 219 230 212 218 210 216 211 230 212 228 219 217 209 226 214 229 213 227 215 218 210 226 214 219 207 224 216 227 215 225 217 220 208 71 205 223 218 224 216 71 205 222 206 225 217 224 216 223 218 228 219 225 217 229 213 223 218 231 223 182 220 233 221 232 224 234 222 183 152 253 265 111 149 231 223 254 226 232 224 112 150 111 149 253 265 255 225 112 150 110 245 256 227 113 142 251 262 233 221 114 145 181 148 234 222 251 262 113 142 249 229 252 228 250 230 114 145 249 229 115 140 247 232 250 230 248 233 116 231 247 232 117 137 245 234 248 233 246 235 118 141 245 234 119 135 243 236 246 235 244 237 120 139 123 131 241 239 243 236 124 134 122 136 244 237 125 129 239 250 241 239 126 132 124 134 242 238 239 250 125 129 235 241 240 240 236 242 126 132 235 241 178 127 237 243 236 242 238 244 179 128 237 243 127 125 255 225 238 244 256 227 128 126 275 248 237 243 257 246 276 249 258 247 238 244 277 504 235 241 275 248 278 252 276 249 236 242 235 241 277 504 273 251 236 242 240 240 274 253 239 250 273 251 271 254 240 240 242 238 272 255 269 505 243 236 271 254 270 257 272 255 244 237 243 236 269 505 267 256 244 237 246 235 268 258 265 506 247 232 267 256 266 260 268 258 248 233 247 232 265 506 263 259 248 233 250 230 264 261 249 229 263 259 261 263 250 230 252 228 262 264 279 270 233 221 261 263 280 271 262 264 234 222 257 246 255 225 259 266 258 247 260 267 256 227 259 266 253 265 281 268 260 267 282 269 254 226 281 268 231 223 279 270 282 269 280 271 232 224 72 364 66 121 283 272 72 364 284 273 66 121 283 272 107 117 285 274 284 273 286 275 108 120 103 110 287 277 285 274 104 113 106 116 286 275 101 106 289 279 287 277 102 109 104 113 288 276 99 102 291 341 289 279 100 105 102 109 290 278 291 341 99 102 293 281 292 280 294 282 100 105 95 95 295 326 293 281 96 98 98 101 294 282 295 326 95 95 297 284 296 283 298 285 96 98 297 284 93 92 299 286 298 285 300 287 94 94 308 289 327 306 337 290 308 289 307 288 338 292 307 288 337 290 335 294 307 288 306 293 336 295 306 293 335 294 339 297 306 293 305 296 340 298 339 297 88 65 305 296 340 298 305 296 89 73 333 300 86 70 339 297 334 301 340 298 87 299 329 302 84 74 333 300 330 303 334 301 85 77 331 305 82 78 329 302 332 307 330 303 83 81 331 305 329 302 337 290 332 307 338 292 330 303 333 300 339 297 335 294 334 301 330 303 336 295 331 305 337 290 327 306 332 307 326 311 328 291 325 304 80 82 331 305 326 311 332 307 81 85 341 308 343 376 214 202 342 310 209 201 215 203 325 304 341 308 208 200 326 311 81 85 209 201 214 202 343 376 345 312 215 203 79 91 346 313 345 312 299 286 91 87 346 313 79 91 92 90 323 315 351 319 303 316 324 318 76 314 303 316 351 319 349 322 77 320 352 317 303 316 77 320 304 325 77 320 347 323 304 325 348 324 77 320 308 289 304 325 327 306 308 289 328 291 304 325 327 306 347 323 341 308 328 291 326 311 342 310 309 366 295 326 317 327 310 365 318 328 296 283 315 330 323 315 76 314 316 331 75 329 76 314 357 333 355 337 302 334 358 336 301 332 302 334 74 340 302 334 353 338 74 340 354 339 302 334 75 329 74 340 315 330 75 329 316 331 74 340 363 344 291 341 361 342 364 347 362 343 292 280 365 348 363 344 367 345 366 351 368 346 364 347 371 352 365 348 369 349 372 355 370 350 366 351 373 360 371 352 375 353 374 358 376 354 372 355 377 357 373 360 375 353 378 359 314 502 376 354 377 357 315 330 373 360 378 359 374 358 316 331 373 360 353 338 371 352 374 358 372 355 354 339 371 352 355 337 365 348 372 355 366 351 356 335 365 348 357 333 363 344 366 351 364 347 358 336 291 341 363 344 359 361 292 280 290 278 360 362 359 361 357 333 301 332 360 362 73 363 301 332 285 274 287 277 289 279 286 275 284 273 290 278 73 363 283 272 359 361 73 363 360 362 284 273 295 326 309 366 361 342 296 283 294 282 362 343 361 342 309 366 367 345 362 343 368 346 310 365 367 345 311 367 369 349 368 346 370 350 312 368 375 353 369 349 381 369 376 354 314 502 382 370 349 322 385 380 383 371 350 321 348 324 384 373 383 371 385 380 319 374 384 373 318 328 320 375 317 327 297 284 383 371 318 328 384 373 298 285 383 371 299 286 341 308 384 373 342 310 300 287 321 377 379 381 377 357 322 379 314 502 378 359 377 357 379 381 323 315 378 359 316 331 324 318 385 380 379 381 321 377 386 372 320 375 322 379 351 319 379 381 385 380 352 317 350 321 386 372 387 383 413 418 401 384 388 386 400 390 402 387 397 391 399 382 403 388 398 497 404 389 400 390 403 388 405 395 395 392 404 389 398 497 396 394 405 395 407 399 393 396 406 393 396 394 394 398 407 399 409 403 391 400 408 397 394 398 392 402 389 424 391 400 411 404 390 426 412 405 392 402 411 404 409 403 417 407 412 405 418 408 410 401 409 403 407 399 419 406 410 401 420 409 408 397 423 412 421 410 407 399 424 413 406 393 408 397 425 414 423 412 405 395 426 415 404 389 406 393 427 416 425 414 403 388 428 417 402 387 404 389 427 416 401 384 415 419 428 417 416 420 402 387 319 374 443 425 441 421 320 375 318 328 442 423 389 424 411 404 443 425 390 426 320 375 444 422 311 367 309 366 441 421 312 368 442 423 310 365 387 383 381 369 413 418 388 386 414 385 382 370 443 425 411 404 439 429 444 422 440 430 412 405 445 432 443 425 439 429 446 433 438 435 440 430 435 448 433 434 437 431 436 450 438 435 434 436 447 438 445 432 433 434 448 439 432 441 434 436 447 438 431 437 449 440 448 439 430 428 450 442 429 427 449 440 415 419 430 428 414 385 416 420 447 438 429 427 381 369 448 439 312 368 382 370 441 421 445 432 447 438 442 423 312 368 448 439 475 457 415 419 451 443 476 458 452 444 416 420 431 437 461 484 451 443 432 441 450 442 452 444 461 484 431 437 459 446 462 445 460 447 432 441 435 448 457 451 459 446 436 450 434 436 460 447 437 431 455 468 457 451 438 435 436 450 458 449 455 468 437 431 453 453 456 452 454 454 438 435 453 453 439 429 473 455 454 454 474 456 440 430 463 459 427 416 475 457 464 460 476 458 428 417 465 461 425 414 463 459 466 462 464 460 426 415 467 485 423 412 465 461 468 464 466 462 424 413 423 412 467 485 469 463 424 413 422 411 470 465 421 410 469 463 471 466 422 411 420 409 472 467 419 406 471 466 473 455 420 409 418 408 474 456 455 468 479 472 477 469 456 452 458 449 478 471 479 472 481 476 483 473 480 470 478 471 484 475 485 479 483 473 487 477 486 483 488 478 484 475 487 477 489 486 491 480 488 478 486 483 492 482 491 480 463 459 485 479 492 482 486 483 464 460 483 473 485 479 475 457 484 475 452 444 476 458 461 484 477 469 483 473 462 445 452 444 484 475 459 446 457 451 461 484 460 447 462 445 458 449 473 455 479 472 455 468 474 456 454 454 456 452 473 455 471 466 479 472 474 456 480 470 472 467 487 477 481 476 471 466 488 478 470 465 472 467 489 486 487 477 469 463 490 481 468 464 470 465 467 485 465 461 489 486 468 464 490 481 466 462 501 489 391 400 503 487 502 490 504 488 392 402 499 501 393 396 501 489 500 492 502 490 394 398 393 396 499 501 497 491 394 398 396 394 498 493 395 392 497 491 495 494 396 394 398 497 496 495 397 391 495 494 493 496 398 497 400 390 494 498 399 382 493 496 505 499 400 390 388 386 506 500 501 489 503 487 505 499 502 490 494 498 506 500 501 489 493 496 499 501 502 490 500 492 494 498 381 369 387 383 505 499 382 370 314 502 506 500 321 377 313 356 503 487 322 379 504 488 314 502 389 424 319 374 503 487 390 426 504 488 320 375</p>
+        </polylist>
+      </mesh>
+    </geometry>
+  </library_geometries>
+  <library_controllers/>
+  <library_visual_scenes>
+    <visual_scene id="Scene" name="Scene">
+      <node id="Suzanne" name="Suzanne" type="NODE">
+        <matrix sid="transform">0.9999999 0 0 0 0 -1.62921e-7 -1 0 0 1 -1.62921e-7 0 0 0 0 1</matrix>
+        <instance_geometry url="#Suzanne_002-mesh"/>
+      </node>
+    </visual_scene>
+  </library_visual_scenes>
+  <scene>
+    <instance_visual_scene url="#Scene"/>
+  </scene>
+</COLLADA>
\ No newline at end of file
diff --git a/plainfrag.glsl b/plainfrag.glsl
new file mode 100644 (file)
index 0000000..f9b91ba
--- /dev/null
@@ -0,0 +1,6 @@
+#version 330
+uniform vec4 color;
+out vec4 FragColor;
+void main() {
+  FragColor = color;
+}
similarity index 100%
rename from solidvertex.glsl
rename to plainvertex.glsl
index f9b91ba..fa00e7a 100644 (file)
@@ -1,6 +1,24 @@
 #version 330
+in vec3 normal;
+in vec3 fragPos;
+uniform vec3 lightPos;
+uniform vec3 viewPos;
+uniform vec4 lightColor;
 uniform vec4 color;
 out vec4 FragColor;
+
 void main() {
-  FragColor = color;
+       float ambient = 0.1;
+       float specularStrength = 0.5;
+       vec3 lightDir = normalize(fragPos - lightPos);
+       float diffuse = max(0, dot(-normal, lightDir));
+
+       vec3 viewDir = normalize(fragPos - viewPos);
+       vec3 reflectDir = reflect(-lightDir, normal);
+       float specular = pow(max(0, dot(viewDir, reflectDir)), 128);
+
+       vec4 lighting = (ambient + diffuse + specular) * lightColor;
+
+       FragColor = lighting * color;
 }
+