diff --git a/model/32bitlogo/32bitlogo.blend b/model/32bitlogo/32bitlogo.blend index 468d638..cedde64 100644 Binary files a/model/32bitlogo/32bitlogo.blend and b/model/32bitlogo/32bitlogo.blend differ diff --git a/model/32bitlogo/model.h b/model/32bitlogo/model.h index 4036993..1029466 100644 --- a/model/32bitlogo/model.h +++ b/model/32bitlogo/model.h @@ -1,4 +1,4 @@ -const vec3 mesh_logo_position[] = { +const vec3 mesh_thirty_two_position[] = { {0.282541, -0.852850, 1.448730}, {1.206800, -0.852850, 1.448730}, {1.206800, -0.581174, 1.448730}, @@ -45,8 +45,7 @@ const vec3 mesh_logo_position[] = { {0.282541, -0.623513, 1.293682}, {0.069755, -0.410642, 1.448730}, {-0.014609, -0.161311, 1.448730}, - {-0.246143, -0.040174, 1.448730}, - {-0.246143, -0.035470, 1.448730}, + {-0.246143, -0.037822, 1.448730}, {-0.037106, 0.093900, 1.448730}, {0.036009, 0.334997, 1.448730}, {-0.018359, 0.556102, 1.448730}, @@ -75,8 +74,7 @@ const vec3 mesh_logo_position[] = { {-0.057729, -0.756411, 1.448730}, {0.069755, -0.410642, 1.293682}, {-0.014609, -0.161311, 1.293682}, - {-0.246143, -0.040174, 1.293682}, - {-0.246143, -0.035470, 1.293682}, + {-0.246143, -0.037822, 1.293682}, {-0.037106, 0.093900, 1.293682}, {0.036009, 0.334997, 1.293682}, {-0.018359, 0.556102, 1.293682}, @@ -103,6 +101,983 @@ const vec3 mesh_logo_position[] = { {-0.750454, -0.762292, 1.293682}, {-0.408310, -0.879900, 1.293682}, {-0.057729, -0.756411, 1.293682}, +}; + +const vec2 mesh_thirty_two_UVMap_uvmap[] = { + {0.160332, 0.824669}, + {0.116367, 0.824669}, + {0.116367, 0.812431}, + {0.160332, 0.812431}, + {0.147877, 0.824669}, + {0.128822, 0.824669}, + {0.128822, 0.812431}, + {0.147877, 0.812431}, + {0.147819, 0.824669}, + {0.128881, 0.824669}, + {0.128881, 0.812431}, + {0.147819, 0.812431}, + {0.148718, 0.824669}, + {0.142203, 0.824669}, + {0.142203, 0.812431}, + {0.148718, 0.812431}, + {0.142203, 0.824669}, + {0.127982, 0.824669}, + {0.127982, 0.812431}, + {0.142203, 0.812431}, + {0.132231, 0.827671}, + {0.132231, 0.818489}, + {0.144469, 0.818489}, + {0.144469, 0.827671}, + {0.132231, 0.818489}, + {0.132231, 0.809429}, + {0.144469, 0.809429}, + {0.144469, 0.818489}, + {0.161686, 0.824669}, + {0.151355, 0.824669}, + {0.151355, 0.812431}, + {0.161686, 0.812431}, + {0.144469, 0.810786}, + {0.144469, 0.826315}, + {0.132231, 0.826315}, + {0.132231, 0.810786}, + {0.144469, 0.812990}, + {0.144469, 0.824111}, + {0.132231, 0.824111}, + {0.132231, 0.812990}, + {0.149737, 0.824669}, + {0.126962, 0.824669}, + {0.126962, 0.812431}, + {0.149737, 0.812431}, + {0.144469, 0.794870}, + {0.144469, 0.811552}, + {0.132231, 0.811552}, + {0.132231, 0.794870}, + {0.144469, 0.811552}, + {0.144469, 0.826524}, + {0.132231, 0.826524}, + {0.132231, 0.811552}, + {0.144469, 0.826524}, + {0.144469, 0.842231}, + {0.132231, 0.842231}, + {0.132231, 0.826524}, + {0.161173, 0.824669}, + {0.138010, 0.824669}, + {0.138010, 0.812431}, + {0.161173, 0.812431}, + {0.138010, 0.824669}, + {0.115527, 0.824669}, + {0.115527, 0.812431}, + {0.138010, 0.812431}, + {0.132231, 0.829735}, + {0.132231, 0.807366}, + {0.144469, 0.807366}, + {0.144469, 0.829735}, + {0.144469, 0.813263}, + {0.144469, 0.823838}, + {0.132231, 0.823838}, + {0.132231, 0.813263}, + {0.147631, 0.824669}, + {0.138262, 0.824669}, + {0.138262, 0.812431}, + {0.147631, 0.812431}, + {0.138262, 0.824669}, + {0.129069, 0.824669}, + {0.129069, 0.812431}, + {0.138262, 0.812431}, + {0.132231, 0.828029}, + {0.132231, 0.820973}, + {0.144469, 0.820973}, + {0.144469, 0.828029}, + {0.132231, 0.820973}, + {0.132231, 0.815218}, + {0.144469, 0.815218}, + {0.144469, 0.820973}, + {0.132231, 0.815218}, + {0.132231, 0.809072}, + {0.144469, 0.809072}, + {0.144469, 0.815218}, + {0.158810, 0.824669}, + {0.142853, 0.824669}, + {0.142853, 0.812431}, + {0.158810, 0.812431}, + {0.142853, 0.824669}, + {0.117890, 0.824669}, + {0.117890, 0.812431}, + {0.142853, 0.812431}, + {0.132231, 0.833293}, + {0.132231, 0.816210}, + {0.144469, 0.816210}, + {0.144469, 0.833293}, + {0.132231, 0.816210}, + {0.132231, 0.803807}, + {0.144469, 0.803807}, + {0.144469, 0.816210}, + {0.146708, 0.824669}, + {0.129992, 0.824669}, + {0.129992, 0.812431}, + {0.146708, 0.812431}, + {0.123023, 0.799694}, + {0.127930, 0.808635}, + {0.109712, 0.812803}, + {0.103662, 0.798551}, + {0.112804, 0.778787}, + {0.126989, 0.790417}, + {0.123023, 0.799694}, + {0.103662, 0.798551}, + {0.153677, 0.799694}, + {0.149711, 0.790417}, + {0.163895, 0.778787}, + {0.173038, 0.798551}, + {0.150383, 0.819727}, + {0.148770, 0.808635}, + {0.166988, 0.812803}, + {0.127459, 0.833609}, + {0.125846, 0.839188}, + {0.106687, 0.839995}, + {0.129678, 0.830079}, + {0.125241, 0.838819}, + {0.106082, 0.841172}, + {0.111325, 0.827390}, + {0.171492, 0.788030}, + {0.127527, 0.788030}, + {0.105208, 0.772501}, + {0.171492, 0.772501}, + {0.125241, 0.838819}, + {0.128938, 0.847087}, + {0.109981, 0.853810}, + {0.106082, 0.841172}, + {0.128938, 0.847087}, + {0.138686, 0.850314}, + {0.138350, 0.865372}, + {0.121140, 0.862347}, + {0.155559, 0.862347}, + {0.147761, 0.847087}, + {0.166719, 0.853810}, + {0.148232, 0.847558}, + {0.152534, 0.838953}, + {0.171425, 0.840298}, + {0.161274, 0.858852}, + {0.138686, 0.850314}, + {0.148232, 0.847558}, + {0.161274, 0.858852}, + {0.138350, 0.865372}, + {0.141846, 0.811727}, + {0.148434, 0.811727}, + {0.148434, 0.826987}, + {0.142249, 0.826987}, + {0.112804, 0.778787}, + {0.137947, 0.771728}, + {0.138014, 0.787055}, + {0.126989, 0.790417}, + {0.147022, 0.830079}, + {0.134451, 0.826987}, + {0.150383, 0.819996}, + {0.165374, 0.827390}, + {0.103662, 0.798013}, + {0.114216, 0.778451}, + {0.122888, 0.799694}, + {0.147694, 0.846785}, + {0.150854, 0.839188}, + {0.170013, 0.839995}, + {0.161475, 0.857877}, + {0.109712, 0.812803}, + {0.141846, 0.811727}, + {0.126317, 0.819727}, + {0.114216, 0.778451}, + {0.138753, 0.771728}, + {0.138686, 0.787055}, + {0.122888, 0.799694}, + {0.126317, 0.819996}, + {0.129678, 0.830079}, + {0.111325, 0.827390}, + {0.162484, 0.778451}, + {0.173038, 0.798013}, + {0.153812, 0.799694}, + {0.138014, 0.787055}, + {0.138350, 0.865372}, + {0.138014, 0.850314}, + {0.147761, 0.847087}, + {0.155559, 0.862347}, + {0.109981, 0.853810}, + {0.128938, 0.847087}, + {0.121140, 0.862347}, + {0.166988, 0.812803}, + {0.148770, 0.808635}, + {0.153677, 0.799694}, + {0.173038, 0.798551}, + {0.138686, 0.787055}, + {0.138753, 0.771728}, + {0.163895, 0.778787}, + {0.149711, 0.790417}, + {0.129140, 0.846247}, + {0.138417, 0.849541}, + {0.138283, 0.864599}, + {0.115830, 0.857675}, + {0.142249, 0.826987}, + {0.129678, 0.830079}, + {0.126317, 0.819996}, + {0.147761, 0.847087}, + {0.151459, 0.838819}, + {0.170618, 0.841172}, + {0.166719, 0.853810}, + {0.127930, 0.808635}, + {0.141846, 0.811727}, + {0.109712, 0.812803}, + {0.129006, 0.846785}, + {0.138283, 0.849541}, + {0.138417, 0.864599}, + {0.115224, 0.857877}, + {0.134854, 0.811727}, + {0.148770, 0.808635}, + {0.150383, 0.819727}, + {0.134451, 0.826987}, + {0.137947, 0.771728}, + {0.162484, 0.778451}, + {0.138014, 0.787055}, + {0.171492, 0.785610}, + {0.161946, 0.800400}, + {0.142652, 0.797038}, + {0.149173, 0.788030}, + {0.127527, 0.788030}, + {0.105208, 0.785610}, + {0.105208, 0.772501}, + {0.149240, 0.833609}, + {0.144938, 0.828029}, + {0.165374, 0.825676}, + {0.127459, 0.833609}, + {0.106687, 0.839995}, + {0.111325, 0.825676}, + {0.149173, 0.788030}, + {0.105208, 0.788030}, + {0.105208, 0.772501}, + {0.171492, 0.772501}, + {0.142652, 0.797038}, + {0.161946, 0.800400}, + {0.143795, 0.817542}, + {0.125107, 0.811559}, + {0.125846, 0.839188}, + {0.129006, 0.846785}, + {0.115224, 0.857877}, + {0.106687, 0.839995}, + {0.147560, 0.846247}, + {0.151660, 0.836499}, + {0.170685, 0.837575}, + {0.160870, 0.857675}, + {0.138283, 0.849541}, + {0.147560, 0.846247}, + {0.160870, 0.857675}, + {0.138417, 0.864599}, + {0.151593, 0.811559}, + {0.132905, 0.817542}, + {0.114754, 0.800400}, + {0.134047, 0.797038}, + {0.171492, 0.772501}, + {0.171492, 0.785610}, + {0.149173, 0.788030}, + {0.141846, 0.811727}, + {0.142249, 0.826987}, + {0.126317, 0.819727}, + {0.134047, 0.797038}, + {0.114754, 0.800400}, + {0.105208, 0.785610}, + {0.127527, 0.788030}, + {0.144938, 0.828029}, + {0.132905, 0.817542}, + {0.151593, 0.811559}, + {0.165374, 0.825676}, + {0.170618, 0.841172}, + {0.151459, 0.838819}, + {0.147022, 0.830079}, + {0.165374, 0.827390}, + {0.105275, 0.840298}, + {0.124165, 0.838953}, + {0.128468, 0.847558}, + {0.115426, 0.858852}, + {0.138283, 0.864599}, + {0.138417, 0.849541}, + {0.147694, 0.846785}, + {0.161475, 0.857877}, + {0.106015, 0.837575}, + {0.125039, 0.836499}, + {0.129140, 0.846247}, + {0.115830, 0.857675}, + {0.128468, 0.847558}, + {0.138014, 0.850314}, + {0.138350, 0.865372}, + {0.115426, 0.858852}, + {0.144469, 0.805324}, + {0.144469, 0.819353}, + {0.132231, 0.819353}, + {0.132231, 0.805324}, + {0.144469, 0.819353}, + {0.144469, 0.831777}, + {0.132231, 0.831777}, + {0.132231, 0.819353}, + {0.164120, 0.824669}, + {0.152179, 0.824669}, + {0.152179, 0.812431}, + {0.164120, 0.812431}, + {0.152179, 0.824669}, + {0.134756, 0.824669}, + {0.134756, 0.812431}, + {0.152179, 0.812431}, + {0.134756, 0.824669}, + {0.112580, 0.824669}, + {0.112580, 0.812431}, + {0.134756, 0.812431}, + {0.132231, 0.829125}, + {0.132231, 0.807976}, + {0.144469, 0.807976}, + {0.144469, 0.829125}, + {0.132231, 0.826180}, + {0.132231, 0.810920}, + {0.144469, 0.810920}, + {0.144469, 0.826180}, + {0.151355, 0.824669}, + {0.133711, 0.824669}, + {0.133711, 0.812431}, + {0.151355, 0.812431}, + {0.133711, 0.824669}, + {0.115014, 0.824669}, + {0.115014, 0.812431}, + {0.133711, 0.812431}, + {0.144469, 0.821983}, + {0.144469, 0.835628}, + {0.132231, 0.835628}, + {0.132231, 0.821983}, + {0.132231, 0.801472}, + {0.144469, 0.801472}, + {0.144469, 0.821983}, + {0.132231, 0.821983}, + {0.147345, 0.824669}, + {0.129355, 0.824669}, + {0.129355, 0.812431}, + {0.147345, 0.812431}, + {0.144469, 0.813740}, + {0.144469, 0.823361}, + {0.132231, 0.823361}, + {0.132231, 0.813740}, + {0.138524, 0.824669}, + {0.128700, 0.824669}, + {0.128700, 0.812431}, + {0.138524, 0.812431}, + {0.128266, 0.826987}, + {0.128266, 0.811727}, + {0.134854, 0.811727}, + {0.134451, 0.826987}, + {0.132231, 0.827062}, + {0.132231, 0.818962}, + {0.144469, 0.818962}, + {0.144469, 0.827062}, + {0.132231, 0.818962}, + {0.132231, 0.810038}, + {0.144469, 0.810038}, + {0.144469, 0.818962}, + {0.147854, 0.824669}, + {0.134948, 0.824669}, + {0.134948, 0.812431}, + {0.147854, 0.812431}, + {0.134948, 0.824669}, + {0.128845, 0.824669}, + {0.128845, 0.812431}, + {0.134948, 0.812431}, + {0.132231, 0.829664}, + {0.132231, 0.807436}, + {0.144469, 0.807436}, + {0.144469, 0.829664}, + {0.163190, 0.824669}, + {0.138699, 0.824669}, + {0.138699, 0.812431}, + {0.163190, 0.812431}, + {0.138699, 0.824669}, + {0.113510, 0.824669}, + {0.113510, 0.812431}, + {0.138699, 0.812431}, + {0.147999, 0.824669}, + {0.138524, 0.824669}, + {0.138524, 0.812431}, + {0.147999, 0.812431}, + {0.171492, 0.824669}, + {0.105208, 0.824669}, + {0.105208, 0.812431}, + {0.171492, 0.812431}, + {0.165374, 0.825676}, + {0.170013, 0.839995}, + {0.149240, 0.833609}, + {0.170013, 0.839995}, + {0.150854, 0.839188}, + {0.149240, 0.833609}, + {0.131762, 0.828029}, + {0.127459, 0.833609}, + {0.111325, 0.825676}, + {0.111325, 0.825676}, + {0.125107, 0.811559}, + {0.143795, 0.817542}, + {0.131762, 0.828029}, +}; + +const vec3 mesh_thirty_two_normal[] = { + {-0.577340, -0.577340, 0.577370}, + {0.577350, -0.577350, 0.577350}, + {0.577350, 0.577350, 0.577350}, + {0.248903, 0.143753, 0.957801}, + {0.541461, -0.407323, 0.735464}, + {0.543112, -0.470522, 0.695441}, + {0.670890, -0.329845, 0.664160}, + {0.763195, 0.042379, 0.644777}, + {0.548256, 0.556443, 0.624329}, + {-0.007863, 0.771728, 0.635905}, + {-0.550550, 0.551640, 0.626568}, + {-0.698178, -0.442028, 0.563169}, + {0.447279, -0.670590, 0.591820}, + {0.434198, -0.394564, 0.809809}, + {0.018562, -0.595761, 0.802947}, + {-0.413666, -0.398758, 0.818458}, + {-0.633461, -0.029666, 0.773206}, + {-0.616919, 0.252718, 0.745349}, + {-0.546563, 0.412003, 0.729056}, + {-0.534526, 0.469643, 0.702650}, + {-0.608034, 0.405395, 0.682605}, + {-0.732063, 0.177264, 0.657770}, + {-0.577340, -0.577341, -0.577370}, + {0.577350, -0.577350, -0.577350}, + {0.577350, 0.577350, -0.577350}, + {0.248903, 0.143753, -0.957801}, + {0.541461, -0.407323, -0.735464}, + {0.543112, -0.470522, -0.695441}, + {0.670890, -0.329845, -0.664160}, + {0.763195, 0.042379, -0.644777}, + {0.548256, 0.556443, -0.624329}, + {-0.007863, 0.771728, -0.635905}, + {-0.550550, 0.551640, -0.626568}, + {-0.698178, -0.442028, -0.563169}, + {0.447279, -0.670590, -0.591820}, + {0.434198, -0.394564, -0.809809}, + {0.018562, -0.595761, -0.802947}, + {-0.413665, -0.398758, -0.818458}, + {-0.633461, -0.029666, -0.773206}, + {-0.616919, 0.252718, -0.745349}, + {-0.546563, 0.412003, -0.729056}, + {-0.534526, 0.469643, -0.702650}, + {-0.608034, 0.405395, -0.682605}, + {-0.732063, 0.177264, -0.657770}, + {0.768959, -0.010367, 0.639214}, + {0.590438, 0.500910, 0.632829}, + {0.288568, 0.010438, 0.957403}, + {0.613472, -0.467798, 0.636252}, + {0.757846, -0.020215, 0.652120}, + {0.658584, 0.380136, 0.649433}, + {0.357919, 0.669416, 0.650981}, + {-0.047750, 0.758537, 0.649878}, + {-0.531321, 0.568964, 0.627676}, + {-0.711294, -0.421807, 0.562263}, + {0.421277, -0.685192, 0.594170}, + {0.406224, -0.419299, 0.811893}, + {-0.013878, -0.601962, 0.798404}, + {-0.424490, -0.403257, 0.810674}, + {-0.604473, 0.012739, 0.796524}, + {-0.389504, 0.424168, 0.817538}, + {-0.099926, 0.662617, 0.742263}, + {-0.577350, 0.577350, 0.577350}, + {-0.577350, -0.577350, 0.577350}, + {-0.091321, -0.667566, 0.738929}, + {-0.377674, -0.434840, 0.817482}, + {-0.601665, -0.025274, 0.798349}, + {-0.415977, 0.400895, 0.816239}, + {0.109490, 0.511296, 0.852402}, + {0.260574, 0.738959, 0.621321}, + {-0.713837, 0.416070, 0.563314}, + {-0.530168, -0.571514, 0.626333}, + {0.002913, -0.768319, 0.640060}, + {0.549238, -0.557296, 0.622703}, + {0.768959, -0.010367, -0.639214}, + {0.590446, 0.500917, -0.632815}, + {0.288569, 0.010438, -0.957402}, + {0.613472, -0.467798, -0.636252}, + {0.757846, -0.020215, -0.652120}, + {0.658584, 0.380136, -0.649433}, + {0.357919, 0.669416, -0.650981}, + {-0.047750, 0.758537, -0.649878}, + {-0.531322, 0.568964, -0.627676}, + {-0.711294, -0.421807, -0.562263}, + {0.421277, -0.685192, -0.594170}, + {0.406223, -0.419299, -0.811894}, + {-0.013878, -0.601962, -0.798404}, + {-0.424490, -0.403257, -0.810674}, + {-0.604473, 0.012739, -0.796524}, + {-0.389505, 0.424168, -0.817537}, + {-0.099926, 0.662617, -0.742263}, + {-0.577350, 0.577350, -0.577350}, + {-0.577350, -0.577350, -0.577350}, + {-0.091322, -0.667574, -0.738922}, + {-0.377674, -0.434839, -0.817483}, + {-0.601665, -0.025274, -0.798349}, + {-0.415977, 0.400895, -0.816239}, + {0.109491, 0.511300, -0.852399}, + {0.260572, 0.738954, -0.621329}, + {-0.713837, 0.416070, -0.563314}, + {-0.530165, -0.571511, -0.626338}, + {0.002913, -0.768319, -0.640060}, + {0.549238, -0.557296, -0.622703}, +}; + +const vec3 mesh_thirty_two_polygon_normal[] = { + {0.000000, 1.000000, 0.000000}, + {-0.070757, -0.997494, 0.000000}, + {-0.088945, -0.996037, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {-0.268568, -0.963261, 0.000000}, + {-0.916167, -0.400796, 0.000000}, + {-0.946553, 0.322549, 0.000000}, + {-0.357270, 0.934001, 0.000000}, + {1.000000, 0.000000, 0.000000}, + {0.866172, -0.499745, 0.000000}, + {0.720277, -0.693687, 0.000000}, + {0.789245, -0.614078, 0.000000}, + {0.968247, -0.249996, 0.000000}, + {0.934616, 0.355658, 0.000000}, + {0.341768, 0.939784, 0.000000}, + {-0.360845, 0.932626, 0.000000}, + {-0.931910, 0.362688, 0.000000}, + {0.948121, -0.317909, 0.000000}, + {0.406936, -0.913456, 0.000000}, + {-0.349281, -0.937018, 0.000000}, + {-0.949201, -0.314671, 0.000000}, + {-0.974455, 0.224581, 0.000000}, + {-0.851964, 0.523601, 0.000000}, + {-0.737933, 0.674874, 0.000000}, + {-0.764228, 0.644947, 0.000000}, + {-0.889229, 0.457463, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {0.533121, -0.846039, 0.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000001, 0.000000, 1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000001, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {-0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {-0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000001, 0.000000, 1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {-0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {-0.000000, 0.000000, -1.000000}, + {-0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {-0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.956963, -0.290211, 0.000000}, + {0.971073, 0.238781, 0.000000}, + {0.692488, 0.721429, 0.000000}, + {0.215369, 0.976533, 0.000000}, + {-0.336129, 0.941816, 0.000000}, + {-0.916642, 0.399710, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {0.708418, 0.705793, 0.000000}, + {-0.109019, 0.994040, 0.000000}, + {0.947244, 0.320513, 0.000000}, + {0.938259, -0.345933, 0.000000}, + {0.470602, 0.882346, 0.000000}, + {0.928951, -0.370204, 0.000000}, + {-0.383565, -0.923514, 0.000000}, + {0.000000, 0.000000, 1.000000}, + {-0.941964, -0.335714, 0.000000}, + {-0.926983, 0.375103, 0.000000}, + {-0.294905, 0.955527, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {-0.918664, -0.395040, 0.000000}, + {-0.325071, -0.945690, 0.000000}, + {0.332233, -0.943197, 0.000000}, + {0.340598, -0.940209, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {-0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000001, 0.000000, -1.000000}, + {-0.000000, 0.000000, -1.000000}, +}; + +const polygon mesh_thirty_two_polygons[] = { + {24, 25, 3, 2, 0, 0}, + {33, 34, 12, 11, 0, 4}, + {82, 83, 54, 53, 0, 8}, + {91, 92, 63, 62, 0, 12}, + {92, 93, 64, 63, 0, 16}, + {93, 94, 65, 64, 0, 20}, + {94, 95, 66, 65, 0, 24}, + {95, 96, 67, 66, 0, 28}, + {23, 24, 2, 1, 0, 32}, + {25, 26, 4, 3, 0, 36}, + {26, 27, 5, 4, 0, 40}, + {27, 28, 6, 5, 0, 44}, + {28, 29, 7, 6, 0, 48}, + {29, 30, 8, 7, 0, 52}, + {30, 31, 9, 8, 0, 56}, + {31, 32, 10, 9, 0, 60}, + {32, 33, 11, 10, 0, 64}, + {34, 35, 13, 12, 0, 68}, + {35, 36, 14, 13, 0, 72}, + {36, 37, 15, 14, 0, 76}, + {37, 38, 16, 15, 0, 80}, + {38, 39, 17, 16, 0, 84}, + {39, 40, 18, 17, 0, 88}, + {40, 41, 19, 18, 0, 92}, + {41, 42, 20, 19, 0, 96}, + {42, 43, 21, 20, 0, 100}, + {43, 22, 0, 21, 0, 104}, + {75, 76, 47, 46, 0, 108}, + {94, 93, 74, 73, 0, 112}, + {101, 95, 94, 73, 0, 116}, + {65, 66, 72, 44, 0, 120}, + {46, 64, 45, -1, 0, 124}, + {39, 38, 29, -1, 0, 127}, + {88, 87, 77, 76, 0, 130}, + {2, 3, 0, 1, 0, 134}, + {87, 86, 78, 77, 0, 138}, + {86, 85, 80, 79, 0, 142}, + {50, 57, 49, -1, 0, 146}, + {84, 83, 82, 81, 0, 149}, + {85, 84, 81, 80, 0, 153}, + {92, 91, 90, 89, 0, 157}, + {101, 100, 96, 95, 0, 161}, + {59, 60, 46, 47, 0, 165}, + {69, 70, 68, -1, 0, 169}, + {15, 16, 7, 8, 0, 172}, + {74, 92, 75, -1, 0, 176}, + {70, 71, 67, 68, 0, 179}, + {75, 88, 76, -1, 0, 183}, + {99, 98, 97, 96, 0, 186}, + {51, 56, 57, 50, 0, 190}, + {78, 86, 79, -1, 0, 194}, + {45, 64, 65, 44, 0, 197}, + {67, 71, 72, 66, 0, 201}, + {13, 14, 9, 10, 0, 205}, + {89, 88, 75, -1, 0, 209}, + {57, 58, 48, 49, 0, 212}, + {93, 92, 74, -1, 0, 216}, + {37, 36, 31, 30, 0, 219}, + {63, 64, 46, 60, 0, 223}, + {100, 99, 96, -1, 0, 227}, + {43, 42, 26, 25, 0, 230}, + {3, 21, 0, -1, 0, 234}, + {17, 18, 6, -1, 0, 237}, + {39, 29, 28, -1, 0, 240}, + {25, 24, 23, 22, 0, 243}, + {26, 42, 41, 27, 0, 247}, + {38, 37, 30, 29, 0, 251}, + {35, 34, 33, 32, 0, 255}, + {36, 35, 32, 31, 0, 259}, + {5, 19, 20, 4, 0, 263}, + {22, 43, 25, -1, 0, 267}, + {92, 89, 75, -1, 0, 270}, + {4, 20, 21, 3, 0, 273}, + {18, 19, 5, 6, 0, 277}, + {48, 58, 59, 47, 0, 281}, + {53, 54, 55, 52, 0, 285}, + {9, 14, 15, 8, 0, 289}, + {11, 12, 13, 10, 0, 293}, + {55, 56, 51, 52, 0, 297}, + {76, 77, 48, 47, 0, 301}, + {77, 78, 49, 48, 0, 305}, + {78, 79, 50, 49, 0, 309}, + {79, 80, 51, 50, 0, 313}, + {80, 81, 52, 51, 0, 317}, + {81, 82, 53, 52, 0, 321}, + {90, 91, 62, 61, 0, 325}, + {96, 97, 68, 67, 0, 329}, + {97, 98, 69, 68, 0, 333}, + {73, 74, 45, 44, 0, 337}, + {72, 101, 73, 44, 0, 341}, + {74, 75, 46, 45, 0, 345}, + {83, 84, 55, 54, 0, 349}, + {85, 86, 57, 56, 0, 353}, + {61, 62, 63, 60, 0, 357}, + {86, 87, 58, 57, 0, 361}, + {87, 88, 59, 58, 0, 365}, + {88, 89, 60, 59, 0, 369}, + {89, 90, 61, 60, 0, 373}, + {98, 99, 70, 69, 0, 377}, + {99, 100, 71, 70, 0, 381}, + {100, 101, 72, 71, 0, 385}, + {84, 85, 56, 55, 0, 389}, + {22, 23, 1, 0, 0, 393}, + {6, 7, 17, -1, 0, 397}, + {7, 16, 17, -1, 0, 400}, + {40, 39, 28, -1, 0, 403}, + {28, 27, 41, 40, 0, 406}, +}; + +const edge_polygon mesh_thirty_two_edge_polygons[] = { + {{24, 25}, {0, 64}}, + {{3, 25}, {0, 9}}, + {{2, 3}, {0, 34}}, + {{2, 24}, {0, 8}}, + {{33, 34}, {1, 67}}, + {{12, 34}, {1, 17}}, + {{11, 12}, {1, 77}}, + {{11, 33}, {1, 16}}, + {{82, 83}, {2, 38}}, + {{54, 83}, {2, 91}}, + {{53, 54}, {2, 75}}, + {{53, 82}, {2, 84}}, + {{91, 92}, {3, 40}}, + {{63, 92}, {3, 4}}, + {{62, 63}, {3, 93}}, + {{62, 91}, {3, 85}}, + {{92, 93}, {4, 56}}, + {{64, 93}, {4, 5}}, + {{63, 64}, {4, 58}}, + {{93, 94}, {5, 28}}, + {{65, 94}, {5, 6}}, + {{64, 65}, {5, 51}}, + {{94, 95}, {6, 29}}, + {{66, 95}, {6, 7}}, + {{65, 66}, {6, 30}}, + {{95, 96}, {7, 41}}, + {{67, 96}, {7, 86}}, + {{66, 67}, {7, 52}}, + {{23, 24}, {8, 64}}, + {{1, 2}, {8, 34}}, + {{1, 23}, {8, 102}}, + {{25, 26}, {9, 60}}, + {{4, 26}, {9, 10}}, + {{3, 4}, {9, 72}}, + {{26, 27}, {10, 65}}, + {{5, 27}, {10, 11}}, + {{4, 5}, {10, 69}}, + {{27, 28}, {11, 106}}, + {{6, 28}, {11, 12}}, + {{5, 6}, {11, 73}}, + {{28, 29}, {12, 63}}, + {{7, 29}, {12, 13}}, + {{6, 7}, {12, 103}}, + {{29, 30}, {13, 66}}, + {{8, 30}, {13, 14}}, + {{7, 8}, {13, 44}}, + {{30, 31}, {14, 57}}, + {{9, 31}, {14, 15}}, + {{8, 9}, {14, 76}}, + {{31, 32}, {15, 68}}, + {{10, 32}, {15, 16}}, + {{9, 10}, {15, 53}}, + {{32, 33}, {16, 67}}, + {{10, 11}, {16, 77}}, + {{34, 35}, {17, 67}}, + {{13, 35}, {17, 18}}, + {{12, 13}, {17, 77}}, + {{35, 36}, {18, 68}}, + {{14, 36}, {18, 19}}, + {{13, 14}, {18, 53}}, + {{36, 37}, {19, 57}}, + {{15, 37}, {19, 20}}, + {{14, 15}, {19, 76}}, + {{37, 38}, {20, 66}}, + {{16, 38}, {20, 21}}, + {{15, 16}, {20, 44}}, + {{38, 39}, {21, 32}}, + {{17, 39}, {21, 22}}, + {{16, 17}, {21, 104}}, + {{39, 40}, {22, 105}}, + {{18, 40}, {22, 23}}, + {{17, 18}, {22, 62}}, + {{40, 41}, {23, 106}}, + {{19, 41}, {23, 24}}, + {{18, 19}, {23, 73}}, + {{41, 42}, {24, 65}}, + {{20, 42}, {24, 25}}, + {{19, 20}, {24, 69}}, + {{42, 43}, {25, 60}}, + {{21, 43}, {25, 26}}, + {{20, 21}, {25, 72}}, + {{22, 43}, {26, 70}}, + {{0, 22}, {26, 102}}, + {{0, 21}, {26, 61}}, + {{75, 76}, {27, 47}}, + {{47, 76}, {27, 79}}, + {{46, 47}, {27, 42}}, + {{46, 75}, {27, 90}}, + {{74, 93}, {28, 56}}, + {{73, 74}, {28, 88}}, + {{73, 94}, {28, 29}}, + {{95, 101}, {29, 41}}, + {{73, 101}, {29, 89}}, + {{66, 72}, {30, 52}}, + {{44, 72}, {30, 89}}, + {{44, 65}, {30, 51}}, + {{46, 64}, {31, 58}}, + {{45, 64}, {31, 51}}, + {{45, 46}, {31, 90}}, + {{29, 38}, {32, 66}}, + {{29, 39}, {32, 63}}, + {{87, 88}, {33, 95}}, + {{77, 87}, {33, 35}}, + {{76, 77}, {33, 79}}, + {{76, 88}, {33, 47}}, + {{0, 3}, {34, 61}}, + {{0, 1}, {34, 102}}, + {{86, 87}, {35, 94}}, + {{78, 86}, {35, 50}}, + {{77, 78}, {35, 80}}, + {{85, 86}, {36, 92}}, + {{80, 85}, {36, 39}}, + {{79, 80}, {36, 82}}, + {{79, 86}, {36, 50}}, + {{50, 57}, {37, 49}}, + {{49, 57}, {37, 55}}, + {{49, 50}, {37, 81}}, + {{83, 84}, {38, 91}}, + {{81, 82}, {38, 84}}, + {{81, 84}, {38, 39}}, + {{84, 85}, {39, 101}}, + {{80, 81}, {39, 83}}, + {{90, 91}, {40, 85}}, + {{89, 90}, {40, 97}}, + {{89, 92}, {40, 71}}, + {{100, 101}, {41, 100}}, + {{96, 100}, {41, 59}}, + {{59, 60}, {42, 96}}, + {{46, 60}, {42, 58}}, + {{47, 59}, {42, 74}}, + {{69, 70}, {43, 98}}, + {{68, 70}, {43, 46}}, + {{68, 69}, {43, 87}}, + {{7, 16}, {44, 104}}, + {{8, 15}, {44, 76}}, + {{74, 92}, {45, 56}}, + {{75, 92}, {45, 71}}, + {{74, 75}, {45, 90}}, + {{70, 71}, {46, 99}}, + {{67, 71}, {46, 52}}, + {{67, 68}, {46, 86}}, + {{75, 88}, {47, 54}}, + {{98, 99}, {48, 98}}, + {{97, 98}, {48, 87}}, + {{96, 97}, {48, 86}}, + {{96, 99}, {48, 59}}, + {{51, 56}, {49, 78}}, + {{56, 57}, {49, 92}}, + {{50, 51}, {49, 82}}, + {{78, 79}, {50, 81}}, + {{44, 45}, {51, 88}}, + {{71, 72}, {52, 100}}, + {{9, 14}, {53, 76}}, + {{10, 13}, {53, 77}}, + {{88, 89}, {54, 96}}, + {{75, 89}, {54, 71}}, + {{57, 58}, {55, 94}}, + {{48, 58}, {55, 74}}, + {{48, 49}, {55, 80}}, + {{31, 36}, {57, 68}}, + {{30, 37}, {57, 66}}, + {{60, 63}, {58, 93}}, + {{99, 100}, {59, 99}}, + {{26, 42}, {60, 65}}, + {{25, 43}, {60, 70}}, + {{3, 21}, {61, 72}}, + {{6, 18}, {62, 73}}, + {{6, 17}, {62, 103}}, + {{28, 39}, {63, 105}}, + {{22, 23}, {64, 102}}, + {{22, 25}, {64, 70}}, + {{27, 41}, {65, 106}}, + {{32, 35}, {67, 68}}, + {{5, 19}, {69, 73}}, + {{4, 20}, {69, 72}}, + {{58, 59}, {74, 95}}, + {{47, 48}, {74, 79}}, + {{54, 55}, {75, 91}}, + {{52, 55}, {75, 78}}, + {{52, 53}, {75, 84}}, + {{55, 56}, {78, 101}}, + {{51, 52}, {78, 83}}, + {{48, 77}, {79, 80}}, + {{49, 78}, {80, 81}}, + {{50, 79}, {81, 82}}, + {{51, 80}, {82, 83}}, + {{52, 81}, {83, 84}}, + {{61, 62}, {85, 93}}, + {{61, 90}, {85, 97}}, + {{68, 97}, {86, 87}}, + {{69, 98}, {87, 98}}, + {{45, 74}, {88, 90}}, + {{44, 73}, {88, 89}}, + {{72, 101}, {89, 100}}, + {{55, 84}, {91, 101}}, + {{57, 86}, {92, 94}}, + {{56, 85}, {92, 101}}, + {{60, 61}, {93, 97}}, + {{58, 87}, {94, 95}}, + {{59, 88}, {95, 96}}, + {{60, 89}, {96, 97}}, + {{70, 99}, {98, 99}}, + {{71, 100}, {99, 100}}, + {{7, 17}, {103, 104}}, + {{28, 40}, {105, 106}}, +}; + +const mesh_material mesh_thirty_two_materials[] = { + { // material colors.png + .width = 8, + .height = 8, + .offset = 0, + }, +}; +const vec2 * mesh_thirty_two_uv_layers[] = { + mesh_thirty_two_UVMap_uvmap, +}; + +const mesh mesh_thirty_two = { + .position = mesh_thirty_two_position, + .position_length = (sizeof (mesh_thirty_two_position)) / (sizeof (mesh_thirty_two_position[0])), + .normal = mesh_thirty_two_normal, + .normal_length = (sizeof (mesh_thirty_two_normal)) / (sizeof (mesh_thirty_two_normal[0])), + .polygon_normal = mesh_thirty_two_polygon_normal, + .polygon_normal_length = (sizeof (mesh_thirty_two_polygon_normal)) / (sizeof (mesh_thirty_two_polygon_normal[0])), + .polygons = mesh_thirty_two_polygons, + .polygons_length = (sizeof (mesh_thirty_two_polygons)) / (sizeof (mesh_thirty_two_polygons[0])), + .uv_layers = mesh_thirty_two_uv_layers, + .uv_layers_length = (sizeof (mesh_thirty_two_uv_layers)) / (sizeof (mesh_thirty_two_uv_layers[0])), + .materials = mesh_thirty_two_materials, + .materials_length = (sizeof (mesh_thirty_two_materials)) / (sizeof (mesh_thirty_two_materials[0])), + .edge_polygons = mesh_thirty_two_edge_polygons, + .edge_polygons_length = (sizeof (mesh_thirty_two_edge_polygons)) / (sizeof (mesh_thirty_two_edge_polygons[0])), +}; + +const vec3 mesh_bit_position[] = { {0.439697, 0.711396, 0.195550}, {0.045385, 0.711396, 0.259268}, {-0.135785, 0.711396, 0.443343}, @@ -187,46 +1162,908 @@ const vec3 mesh_logo_position[] = { {-0.867570, 0.555794, -0.740357}, {1.123526, 0.555794, -0.740357}, {1.123526, 0.555794, -0.902010}, + {0.052922, 0.711396, 0.938219}, + {0.052923, 0.555794, 0.938219}, + {-0.293360, 0.711396, 0.938218}, + {-0.293359, 0.555794, 0.938219}, +}; + +const vec2 mesh_bit_UVMap_uvmap[] = { + {0.834903, 0.850943}, + {0.834903, 0.821784}, + {0.844261, 0.821784}, + {0.844261, 0.850943}, + {0.834903, 0.840463}, + {0.834903, 0.832264}, + {0.844261, 0.832264}, + {0.844261, 0.840463}, + {0.834903, 0.840424}, + {0.834903, 0.832303}, + {0.844261, 0.832303}, + {0.844261, 0.840424}, + {0.138848, 0.209687}, + {0.138848, 0.189540}, + {0.149454, 0.189540}, + {0.149454, 0.209687}, + {0.138848, 0.206462}, + {0.138848, 0.192765}, + {0.149454, 0.192765}, + {0.149454, 0.206462}, + {0.138848, 0.209687}, + {0.138848, 0.189540}, + {0.149454, 0.189540}, + {0.149454, 0.209687}, + {0.138848, 0.239067}, + {0.138848, 0.160160}, + {0.149454, 0.160160}, + {0.149454, 0.239067}, + {0.138848, 0.209687}, + {0.138848, 0.189540}, + {0.149454, 0.189540}, + {0.149454, 0.209687}, + {0.819600, 0.202248}, + {0.819600, 0.186660}, + {0.828847, 0.186660}, + {0.828847, 0.202248}, + {0.819600, 0.203236}, + {0.819600, 0.185672}, + {0.828847, 0.185672}, + {0.828847, 0.203236}, + {0.819600, 0.200117}, + {0.819600, 0.188791}, + {0.828847, 0.188791}, + {0.828847, 0.200117}, + {0.834903, 0.858094}, + {0.834903, 0.848733}, + {0.844261, 0.848733}, + {0.844261, 0.858094}, + {0.834903, 0.848733}, + {0.834903, 0.833399}, + {0.844261, 0.833399}, + {0.844261, 0.848733}, + {0.834903, 0.833399}, + {0.834903, 0.814633}, + {0.844261, 0.814633}, + {0.844261, 0.833399}, + {0.834903, 0.853326}, + {0.834903, 0.839380}, + {0.844261, 0.839380}, + {0.844261, 0.853326}, + {0.834903, 0.839380}, + {0.834903, 0.819402}, + {0.844261, 0.819402}, + {0.844261, 0.839380}, + {0.834903, 0.841357}, + {0.834903, 0.831371}, + {0.844261, 0.831371}, + {0.844261, 0.841357}, + {0.834903, 0.836305}, + {0.834903, 0.823928}, + {0.844261, 0.823928}, + {0.844261, 0.836305}, + {0.834903, 0.848799}, + {0.834903, 0.823928}, + {0.844261, 0.823928}, + {0.844261, 0.848799}, + {0.834903, 0.848799}, + {0.834903, 0.836305}, + {0.844261, 0.836305}, + {0.844261, 0.848799}, + {0.138848, 0.239067}, + {0.138848, 0.160160}, + {0.149454, 0.160160}, + {0.149454, 0.239067}, + {0.138848, 0.209687}, + {0.138848, 0.189540}, + {0.149454, 0.189540}, + {0.149454, 0.209687}, + {0.138848, 0.206462}, + {0.138848, 0.192765}, + {0.149454, 0.192765}, + {0.149454, 0.206462}, + {0.138848, 0.206462}, + {0.138848, 0.192765}, + {0.149454, 0.192765}, + {0.149454, 0.206462}, + {0.138848, 0.219783}, + {0.138848, 0.179443}, + {0.149454, 0.179443}, + {0.149454, 0.219783}, + {0.828847, 0.237633}, + {0.819600, 0.237633}, + {0.819600, 0.151275}, + {0.828847, 0.151275}, + {0.819600, 0.203236}, + {0.819600, 0.185672}, + {0.828847, 0.185672}, + {0.828847, 0.203236}, + {0.819600, 0.237633}, + {0.819600, 0.151275}, + {0.828847, 0.151275}, + {0.828847, 0.237633}, + {0.834903, 0.833848}, + {0.834903, 0.816667}, + {0.844261, 0.816667}, + {0.844261, 0.833848}, + {0.834903, 0.842792}, + {0.834903, 0.829935}, + {0.844261, 0.829935}, + {0.844261, 0.842792}, + {0.834903, 0.854770}, + {0.834903, 0.832689}, + {0.844261, 0.832689}, + {0.844261, 0.854770}, + {0.834903, 0.832689}, + {0.834903, 0.817958}, + {0.844261, 0.817958}, + {0.844261, 0.832689}, + {0.834903, 0.856061}, + {0.834903, 0.833848}, + {0.844261, 0.833848}, + {0.844261, 0.856061}, + {0.834903, 0.839571}, + {0.834903, 0.823339}, + {0.844261, 0.823339}, + {0.844261, 0.839571}, + {0.844261, 0.849389}, + {0.834903, 0.849389}, + {0.834903, 0.839571}, + {0.844261, 0.839571}, + {0.834903, 0.844433}, + {0.834903, 0.834983}, + {0.844261, 0.834983}, + {0.844261, 0.844433}, + {0.834903, 0.834983}, + {0.834903, 0.828295}, + {0.844261, 0.828295}, + {0.844261, 0.834983}, + {0.138848, 0.206462}, + {0.138848, 0.192765}, + {0.149454, 0.192765}, + {0.149454, 0.206462}, + {0.138848, 0.219783}, + {0.138848, 0.179443}, + {0.149454, 0.179443}, + {0.149454, 0.219783}, + {0.818560, 0.228851}, + {0.818560, 0.142492}, + {0.829887, 0.142492}, + {0.829887, 0.228851}, + {0.818560, 0.160057}, + {0.802972, 0.142492}, + {0.845475, 0.142492}, + {0.829887, 0.160057}, + {0.829887, 0.246415}, + {0.818560, 0.246415}, + {0.818560, 0.160057}, + {0.829887, 0.160057}, + {0.845475, 0.228851}, + {0.845475, 0.246415}, + {0.829887, 0.228851}, + {0.802972, 0.228851}, + {0.818560, 0.228851}, + {0.802972, 0.246415}, + {0.829887, 0.160057}, + {0.845475, 0.142492}, + {0.845475, 0.160057}, + {0.123981, 0.140013}, + {0.137677, 0.160160}, + {0.123981, 0.160160}, + {0.137677, 0.160160}, + {0.150625, 0.160160}, + {0.150625, 0.239067}, + {0.137677, 0.239067}, + {0.802972, 0.142492}, + {0.818560, 0.160057}, + {0.802972, 0.160057}, + {0.855145, 0.880998}, + {0.840651, 0.871876}, + {0.848422, 0.856985}, + {0.859963, 0.858934}, + {0.848422, 0.856985}, + {0.846363, 0.846460}, + {0.856466, 0.841626}, + {0.859963, 0.858934}, + {0.840651, 0.800851}, + {0.830665, 0.800851}, + {0.819202, 0.783777}, + {0.841817, 0.783777}, + {0.838863, 0.825722}, + {0.845275, 0.813325}, + {0.854251, 0.825332}, + {0.846363, 0.833674}, + {0.856815, 0.862521}, + {0.845275, 0.859402}, + {0.854251, 0.847396}, + {0.845275, 0.813325}, + {0.838786, 0.800851}, + {0.852425, 0.790638}, + {0.856815, 0.810207}, + {0.838786, 0.800851}, + {0.830665, 0.800851}, + {0.819202, 0.783777}, + {0.839602, 0.783777}, + {0.839602, 0.888951}, + {0.838786, 0.871876}, + {0.852425, 0.882090}, + {0.164321, 0.259214}, + {0.150625, 0.239067}, + {0.164321, 0.239067}, + {0.830665, 0.871876}, + {0.840651, 0.871876}, + {0.841817, 0.888951}, + {0.819202, 0.888951}, + {0.855145, 0.791729}, + {0.840651, 0.800851}, + {0.841817, 0.783777}, + {0.164321, 0.259214}, + {0.123981, 0.259214}, + {0.137677, 0.239067}, + {0.150625, 0.239067}, + {0.830665, 0.825722}, + {0.838863, 0.825722}, + {0.840379, 0.842718}, + {0.830665, 0.842718}, + {0.838863, 0.847006}, + {0.840379, 0.830010}, + {0.846363, 0.839054}, + {0.123981, 0.140013}, + {0.164321, 0.140013}, + {0.150625, 0.160160}, + {0.137677, 0.160160}, + {0.819202, 0.888951}, + {0.830665, 0.871876}, + {0.838786, 0.871876}, + {0.839602, 0.888951}, + {0.845275, 0.859402}, + {0.838863, 0.847006}, + {0.846363, 0.839054}, + {0.854251, 0.847396}, + {0.830665, 0.830010}, + {0.840379, 0.830010}, + {0.838863, 0.847006}, + {0.830665, 0.847006}, + {0.845475, 0.246415}, + {0.802972, 0.246415}, + {0.818560, 0.228851}, + {0.829887, 0.228851}, + {0.854251, 0.825332}, + {0.845275, 0.813325}, + {0.856815, 0.810207}, + {0.150625, 0.160160}, + {0.164321, 0.140013}, + {0.164321, 0.160160}, + {0.852425, 0.790638}, + {0.838786, 0.800851}, + {0.839602, 0.783777}, + {0.846363, 0.826267}, + {0.856466, 0.831101}, + {0.846363, 0.839054}, + {0.840379, 0.830010}, + {0.846363, 0.833674}, + {0.840379, 0.842718}, + {0.838863, 0.825722}, + {0.819202, 0.841906}, + {0.830665, 0.842718}, + {0.830665, 0.871876}, + {0.819202, 0.888951}, + {0.852425, 0.882090}, + {0.838786, 0.871876}, + {0.845275, 0.859402}, + {0.856815, 0.862521}, + {0.846363, 0.846460}, + {0.840379, 0.842718}, + {0.846363, 0.833674}, + {0.856466, 0.841626}, + {0.841817, 0.888951}, + {0.840651, 0.871876}, + {0.855145, 0.880998}, + {0.848422, 0.815742}, + {0.840651, 0.800851}, + {0.855145, 0.791729}, + {0.859963, 0.813793}, + {0.164321, 0.259214}, + {0.123981, 0.259214}, + {0.137677, 0.239067}, + {0.150625, 0.239067}, + {0.123981, 0.140013}, + {0.164321, 0.140013}, + {0.150625, 0.160160}, + {0.137677, 0.160160}, + {0.150625, 0.160160}, + {0.164321, 0.140013}, + {0.164321, 0.160160}, + {0.150625, 0.160160}, + {0.150625, 0.239067}, + {0.137677, 0.239067}, + {0.137677, 0.160160}, + {0.137677, 0.239067}, + {0.123981, 0.259214}, + {0.123981, 0.239067}, + {0.830665, 0.825722}, + {0.830665, 0.842718}, + {0.819202, 0.841906}, + {0.819202, 0.826720}, + {0.123981, 0.140013}, + {0.137677, 0.160160}, + {0.123981, 0.160160}, + {0.819600, 0.215705}, + {0.819600, 0.173202}, + {0.828847, 0.173202}, + {0.828847, 0.215705}, + {0.137677, 0.239067}, + {0.123981, 0.259214}, + {0.123981, 0.239067}, + {0.164321, 0.259214}, + {0.150625, 0.239067}, + {0.164321, 0.239067}, + {0.846363, 0.826267}, + {0.848422, 0.815742}, + {0.859963, 0.813793}, + {0.856466, 0.831101}, + {0.819600, 0.202248}, + {0.819600, 0.186660}, + {0.828847, 0.186660}, + {0.828847, 0.202248}, + {0.834903, 0.888951}, + {0.834903, 0.846008}, + {0.844262, 0.847257}, + {0.844261, 0.888951}, + {0.830665, 0.830010}, + {0.819202, 0.830772}, + {0.819202, 0.783777}, + {0.830665, 0.800851}, + {0.830665, 0.847006}, + {0.830665, 0.871876}, + {0.819202, 0.888951}, + {0.819202, 0.847257}, + {0.844261, 0.830772}, + {0.834903, 0.830821}, + {0.834903, 0.783777}, + {0.844261, 0.783777}, + {0.830665, 0.847006}, + {0.819202, 0.847257}, + {0.819202, 0.830772}, + {0.830665, 0.830010}, + {0.819202, 0.826720}, + {0.819202, 0.783777}, + {0.830665, 0.800851}, + {0.830665, 0.825722}, + {0.844262, 0.847257}, + {0.834903, 0.846008}, + {0.834903, 0.830821}, + {0.844261, 0.830772}, +}; + +const vec3 mesh_bit_normal[] = { + {0.004704, 0.671615, -0.740885}, + {-0.351364, 0.643279, -0.680246}, + {-0.033379, 0.888943, -0.456800}, + {0.288314, 0.654254, -0.699161}, + {-0.015804, 0.673709, -0.738828}, + {-0.425728, 0.628764, -0.650701}, + {-0.729444, 0.647184, -0.221505}, + {-0.577354, 0.577343, 0.577354}, + {0.577354, 0.577342, 0.577355}, + {0.727186, 0.642603, -0.241375}, + {0.405701, 0.632622, -0.659694}, + {-0.075895, 0.773716, 0.628970}, + {-0.431113, 0.855363, 0.287220}, + {-0.301510, 0.904535, -0.301509}, + {0.301511, 0.904534, -0.301511}, + {0.581737, 0.788291, 0.200446}, + {0.304066, 0.799806, 0.517547}, + {0.000608, 0.804324, 0.594191}, + {-0.430089, 0.855774, 0.287529}, + {-0.301511, 0.904534, -0.301511}, + {0.301510, 0.904535, -0.301509}, + {0.430743, 0.855513, 0.287329}, + {0.004704, -0.671615, -0.740885}, + {-0.351364, -0.643279, -0.680246}, + {-0.033379, -0.888943, -0.456800}, + {0.288314, -0.654254, -0.699161}, + {-0.015804, -0.673709, -0.738828}, + {-0.425728, -0.628764, -0.650701}, + {-0.729444, -0.647184, -0.221505}, + {-0.577355, -0.577341, 0.577355}, + {0.577354, -0.577342, 0.577354}, + {0.727186, -0.642603, -0.241375}, + {0.405701, -0.632622, -0.659694}, + {-0.075895, -0.773716, 0.628970}, + {-0.431113, -0.855363, 0.287220}, + {-0.301510, -0.904535, -0.301510}, + {0.301511, -0.904534, -0.301511}, + {0.581737, -0.788291, 0.200446}, + {0.304066, -0.799806, 0.517547}, + {0.000608, -0.804324, 0.594191}, + {-0.430089, -0.855774, 0.287529}, + {-0.301511, -0.904534, -0.301511}, + {0.301509, -0.904535, -0.301510}, + {0.430743, -0.855513, 0.287329}, + {-0.577359, 0.577332, 0.577359}, + {0.577350, 0.577350, 0.577350}, + {0.301511, 0.904534, 0.301511}, + {-0.301511, 0.904534, 0.301511}, + {-0.577350, 0.577350, 0.577350}, + {0.577359, 0.577332, 0.577359}, + {0.577359, 0.577332, -0.577359}, + {-0.577350, 0.577350, -0.577350}, + {-0.301511, 0.904534, -0.301511}, + {0.301511, 0.904534, -0.301511}, + {0.577350, 0.577350, -0.577350}, + {-0.577359, 0.577332, -0.577359}, + {-0.577359, -0.577332, 0.577359}, + {0.577350, -0.577350, 0.577350}, + {0.301511, -0.904534, 0.301511}, + {-0.301511, -0.904534, 0.301511}, + {-0.577350, -0.577350, 0.577350}, + {0.577359, -0.577332, 0.577359}, + {0.577359, -0.577332, -0.577359}, + {-0.577350, -0.577350, -0.577350}, + {-0.301511, -0.904534, -0.301511}, + {0.301511, -0.904534, -0.301511}, + {0.577350, -0.577350, -0.577350}, + {-0.577359, -0.577332, -0.577359}, + {0.301511, 0.904534, -0.301511}, + {0.577350, 0.577350, -0.577350}, + {-0.577354, 0.577343, -0.577354}, + {-0.577354, 0.577343, 0.577354}, + {0.577350, 0.577350, 0.577350}, + {0.301511, 0.904534, 0.301511}, + {0.577350, 0.577350, 0.577350}, + {0.577350, 0.577350, -0.577350}, + {0.301511, -0.904534, -0.301511}, + {0.577350, -0.577350, -0.577350}, + {-0.577354, -0.577343, -0.577354}, + {-0.577354, -0.577343, 0.577354}, + {0.577350, -0.577350, 0.577350}, + {0.301511, -0.904534, 0.301511}, + {0.577350, -0.577350, 0.577350}, + {0.577350, -0.577350, -0.577350}, + {-0.000000, 0.707107, 0.707107}, + {-0.000000, -0.707106, 0.707107}, + {-0.000000, 0.707108, 0.707105}, + {-0.000000, -0.707106, 0.707108}, +}; + +const vec3 mesh_bit_polygon_normal[] = { + {0.000000, 0.000000, -1.000000}, + {-1.000000, 0.000000, 0.000000}, + {1.000000, 0.000000, 0.000000}, + {0.000000, 0.000000, 1.000000}, + {-1.000000, 0.000000, 0.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {1.000000, 0.000000, 0.000000}, + {0.000000, 0.000000, 1.000000}, + {1.000000, 0.000000, 0.000000}, + {0.603168, 0.000000, -0.797614}, + {0.134376, 0.000000, -0.990930}, + {-0.176627, 0.000000, -0.984278}, + {-0.831148, 0.000000, -0.556051}, + {-1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {-0.382229, 0.000000, 0.924068}, + {0.000000, 0.000000, -1.000000}, + {0.384119, 0.000000, 0.923283}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 0.000000, 1.000000}, + {-1.000000, 0.000000, 0.000000}, + {1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, 0.000000, 1.000000}, + {-0.159524, 0.000000, -0.987194}, + {-0.712707, 0.000000, -0.701462}, + {1.000000, 0.000000, 0.000000}, + {0.801514, 0.000000, -0.597976}, + {0.172046, 0.000000, -0.985089}, + {-0.385174, 0.000000, 0.922844}, + {0.154604, 0.000000, 0.987976}, + {1.000000, 0.000000, 0.000000}, + {0.787750, 0.000000, 0.615995}, + {1.000000, 0.000000, 0.000000}, + {1.000000, 0.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, -0.000001}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, 1.000000, -0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, -0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, -0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, -0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {1.000000, 0.000000, 0.000000}, + {0.000000, 0.000003, 1.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, 0.000000, 1.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, -0.000000}, + {-0.000001, 0.000003, 1.000000}, +}; + +const polygon mesh_bit_polygons[] = { + {35, 36, 14, 13, 0, 0}, + {40, 41, 19, 18, 0, 4}, + {42, 43, 21, 20, 0, 8}, + {56, 57, 45, 44, 0, 12}, + {59, 60, 48, 47, 0, 16}, + {62, 63, 51, 50, 0, 20}, + {64, 65, 53, 52, 0, 24}, + {66, 67, 55, 54, 0, 28}, + {76, 77, 69, 68, 0, 32}, + {79, 80, 72, 71, 0, 36}, + {82, 83, 75, 74, 0, 40}, + {24, 25, 3, 2, 0, 44}, + {25, 26, 4, 3, 0, 48}, + {26, 27, 5, 4, 0, 52}, + {27, 28, 6, 5, 0, 56}, + {28, 29, 7, 6, 0, 60}, + {34, 35, 13, 12, 0, 64}, + {39, 40, 18, 17, 0, 68}, + {41, 42, 20, 19, 0, 72}, + {43, 39, 17, 21, 0, 76}, + {58, 59, 47, 46, 0, 80}, + {60, 61, 49, 48, 0, 84}, + {63, 64, 52, 51, 0, 88}, + {65, 66, 54, 53, 0, 92}, + {67, 56, 44, 55, 0, 96}, + {75, 83, 76, 68, 0, 100}, + {77, 78, 70, 69, 0, 104}, + {81, 82, 74, 73, 0, 108}, + {22, 23, 1, 0, 0, 112}, + {23, 24, 2, 1, 0, 116}, + {30, 31, 9, 8, 0, 120}, + {31, 32, 10, 9, 0, 124}, + {32, 22, 0, 10, 0, 128}, + {33, 34, 12, 11, 0, 132}, + {16, 38, 33, 11, 0, 136}, + {36, 37, 15, 14, 0, 140}, + {37, 38, 16, 15, 0, 144}, + {57, 58, 46, 45, 0, 148}, + {61, 62, 50, 49, 0, 152}, + {73, 74, 75, 68, 0, 156}, + {81, 79, 78, 76, 0, 160}, + {83, 82, 81, 76, 0, 164}, + {69, 70, 68, -1, 0, 168}, + {72, 73, 71, -1, 0, 171}, + {76, 78, 77, -1, 0, 174}, + {49, 47, 48, -1, 0, 177}, + {47, 52, 53, 46, 0, 180}, + {79, 81, 80, -1, 0, 184}, + {32, 34, 33, 22, 0, 187}, + {33, 38, 23, 22, 0, 191}, + {12, 13, 8, 9, 0, 195}, + {40, 39, 25, 24, 0, 199}, + {4, 17, 3, -1, 0, 203}, + {39, 43, 27, 26, 0, 206}, + {43, 42, 29, 28, 0, 210}, + {6, 21, 5, -1, 0, 214}, + {55, 53, 54, -1, 0, 217}, + {35, 34, 31, 30, 0, 220}, + {10, 12, 9, -1, 0, 224}, + {55, 44, 46, 53, 0, 227}, + {41, 40, 37, 36, 0, 231}, + {18, 15, 2, -1, 0, 235}, + {49, 50, 52, 47, 0, 238}, + {7, 20, 21, 6, 0, 242}, + {17, 18, 2, 3, 0, 246}, + {14, 15, 18, 19, 0, 250}, + {70, 71, 73, 68, 0, 254}, + {25, 39, 26, -1, 0, 258}, + {52, 50, 51, -1, 0, 261}, + {27, 43, 28, -1, 0, 264}, + {16, 1, 2, 15, 0, 267}, + {24, 37, 40, -1, 0, 271}, + {85, 36, 35, 30, 0, 274}, + {5, 21, 17, 4, 0, 278}, + {38, 37, 24, 23, 0, 282}, + {31, 34, 32, -1, 0, 286}, + {11, 12, 10, 0, 0, 289}, + {62, 61, 59, 64, 0, 293}, + {56, 67, 65, 58, 0, 297}, + {65, 67, 66, -1, 0, 301}, + {65, 64, 59, 58, 0, 304}, + {59, 61, 60, -1, 0, 308}, + {41, 36, 85, 87, 0, 311}, + {56, 58, 57, -1, 0, 315}, + {78, 79, 71, 70, 0, 318}, + {46, 44, 45, -1, 0, 322}, + {62, 64, 63, -1, 0, 325}, + {16, 11, 0, 1, 0, 328}, + {80, 81, 73, 72, 0, 332}, + {29, 87, 86, 7, 0, 336}, + {14, 84, 8, 13, 0, 340}, + {19, 20, 7, 86, 0, 344}, + {84, 85, 30, 8, 0, 348}, + {19, 86, 84, 14, 0, 352}, + {87, 29, 42, 41, 0, 356}, + {86, 87, 85, 84, 0, 360}, +}; + +const edge_polygon mesh_bit_edge_polygons[] = { + {{35, 36}, {0, 72}}, + {{14, 36}, {0, 35}}, + {{13, 14}, {0, 90}}, + {{13, 35}, {0, 16}}, + {{40, 41}, {1, 60}}, + {{19, 41}, {1, 18}}, + {{18, 19}, {1, 65}}, + {{18, 40}, {1, 17}}, + {{42, 43}, {2, 54}}, + {{21, 43}, {2, 19}}, + {{20, 21}, {2, 63}}, + {{20, 42}, {2, 18}}, + {{56, 57}, {3, 83}}, + {{45, 57}, {3, 37}}, + {{44, 45}, {3, 85}}, + {{44, 56}, {3, 24}}, + {{59, 60}, {4, 81}}, + {{48, 60}, {4, 21}}, + {{47, 48}, {4, 45}}, + {{47, 59}, {4, 20}}, + {{62, 63}, {5, 86}}, + {{51, 63}, {5, 22}}, + {{50, 51}, {5, 68}}, + {{50, 62}, {5, 38}}, + {{64, 65}, {6, 80}}, + {{53, 65}, {6, 23}}, + {{52, 53}, {6, 46}}, + {{52, 64}, {6, 22}}, + {{66, 67}, {7, 79}}, + {{55, 67}, {7, 24}}, + {{54, 55}, {7, 56}}, + {{54, 66}, {7, 23}}, + {{76, 77}, {8, 44}}, + {{69, 77}, {8, 26}}, + {{68, 69}, {8, 42}}, + {{68, 76}, {8, 25}}, + {{79, 80}, {9, 47}}, + {{72, 80}, {9, 88}}, + {{71, 72}, {9, 43}}, + {{71, 79}, {9, 84}}, + {{82, 83}, {10, 41}}, + {{75, 83}, {10, 25}}, + {{74, 75}, {10, 39}}, + {{74, 82}, {10, 27}}, + {{24, 25}, {11, 51}}, + {{3, 25}, {11, 12}}, + {{2, 3}, {11, 64}}, + {{2, 24}, {11, 29}}, + {{25, 26}, {12, 67}}, + {{4, 26}, {12, 13}}, + {{3, 4}, {12, 52}}, + {{26, 27}, {13, 53}}, + {{5, 27}, {13, 14}}, + {{4, 5}, {13, 73}}, + {{27, 28}, {14, 69}}, + {{6, 28}, {14, 15}}, + {{5, 6}, {14, 55}}, + {{28, 29}, {15, 54}}, + {{7, 29}, {15, 89}}, + {{6, 7}, {15, 63}}, + {{34, 35}, {16, 57}}, + {{12, 13}, {16, 50}}, + {{12, 34}, {16, 33}}, + {{39, 40}, {17, 51}}, + {{17, 18}, {17, 64}}, + {{17, 39}, {17, 19}}, + {{41, 42}, {18, 94}}, + {{19, 20}, {18, 91}}, + {{39, 43}, {19, 53}}, + {{17, 21}, {19, 73}}, + {{58, 59}, {20, 80}}, + {{46, 47}, {20, 46}}, + {{46, 58}, {20, 37}}, + {{60, 61}, {21, 81}}, + {{49, 61}, {21, 38}}, + {{48, 49}, {21, 45}}, + {{63, 64}, {22, 86}}, + {{51, 52}, {22, 68}}, + {{65, 66}, {23, 79}}, + {{53, 54}, {23, 56}}, + {{56, 67}, {24, 78}}, + {{44, 55}, {24, 59}}, + {{76, 83}, {25, 41}}, + {{68, 75}, {25, 39}}, + {{77, 78}, {26, 44}}, + {{70, 78}, {26, 84}}, + {{69, 70}, {26, 42}}, + {{81, 82}, {27, 41}}, + {{73, 74}, {27, 39}}, + {{73, 81}, {27, 88}}, + {{22, 23}, {28, 49}}, + {{1, 23}, {28, 29}}, + {{0, 1}, {28, 87}}, + {{0, 22}, {28, 32}}, + {{23, 24}, {29, 74}}, + {{1, 2}, {29, 70}}, + {{30, 31}, {30, 57}}, + {{9, 31}, {30, 31}}, + {{8, 9}, {30, 50}}, + {{8, 30}, {30, 92}}, + {{31, 32}, {31, 75}}, + {{10, 32}, {31, 32}}, + {{9, 10}, {31, 58}}, + {{22, 32}, {32, 48}}, + {{0, 10}, {32, 76}}, + {{33, 34}, {33, 48}}, + {{11, 12}, {33, 76}}, + {{11, 33}, {33, 34}}, + {{16, 38}, {34, 36}}, + {{33, 38}, {34, 49}}, + {{11, 16}, {34, 87}}, + {{36, 37}, {35, 60}}, + {{15, 37}, {35, 36}}, + {{14, 15}, {35, 65}}, + {{37, 38}, {36, 74}}, + {{15, 16}, {36, 70}}, + {{57, 58}, {37, 83}}, + {{45, 46}, {37, 85}}, + {{61, 62}, {38, 77}}, + {{49, 50}, {38, 62}}, + {{68, 73}, {39, 66}}, + {{79, 81}, {40, 47}}, + {{78, 79}, {40, 84}}, + {{76, 78}, {40, 44}}, + {{76, 81}, {40, 41}}, + {{68, 70}, {42, 66}}, + {{72, 73}, {43, 88}}, + {{71, 73}, {43, 66}}, + {{47, 49}, {45, 62}}, + {{47, 52}, {46, 62}}, + {{46, 53}, {46, 59}}, + {{80, 81}, {47, 88}}, + {{32, 34}, {48, 75}}, + {{22, 33}, {48, 49}}, + {{23, 38}, {49, 74}}, + {{8, 13}, {50, 90}}, + {{9, 12}, {50, 58}}, + {{25, 39}, {51, 67}}, + {{24, 40}, {51, 71}}, + {{4, 17}, {52, 73}}, + {{3, 17}, {52, 64}}, + {{27, 43}, {53, 69}}, + {{26, 39}, {53, 67}}, + {{29, 42}, {54, 94}}, + {{28, 43}, {54, 69}}, + {{6, 21}, {55, 63}}, + {{5, 21}, {55, 73}}, + {{53, 55}, {56, 59}}, + {{31, 34}, {57, 75}}, + {{30, 35}, {57, 72}}, + {{10, 12}, {58, 76}}, + {{44, 46}, {59, 85}}, + {{37, 40}, {60, 71}}, + {{36, 41}, {60, 82}}, + {{15, 18}, {61, 65}}, + {{2, 15}, {61, 70}}, + {{2, 18}, {61, 64}}, + {{50, 52}, {62, 68}}, + {{7, 20}, {63, 91}}, + {{14, 19}, {65, 93}}, + {{70, 71}, {66, 84}}, + {{1, 16}, {70, 87}}, + {{24, 37}, {71, 74}}, + {{36, 85}, {72, 82}}, + {{30, 85}, {72, 92}}, + {{0, 11}, {76, 87}}, + {{59, 61}, {77, 81}}, + {{59, 64}, {77, 80}}, + {{62, 64}, {77, 86}}, + {{65, 67}, {78, 79}}, + {{58, 65}, {78, 80}}, + {{56, 58}, {78, 83}}, + {{85, 87}, {82, 95}}, + {{41, 87}, {82, 94}}, + {{29, 87}, {89, 94}}, + {{86, 87}, {89, 95}}, + {{7, 86}, {89, 91}}, + {{14, 84}, {90, 93}}, + {{8, 84}, {90, 92}}, + {{19, 86}, {91, 93}}, + {{84, 85}, {92, 95}}, + {{84, 86}, {93, 95}}, +}; + +const mesh_material mesh_bit_materials[] = { + { // material colors.png + .width = 8, + .height = 8, + .offset = 0, + }, +}; +const vec2 * mesh_bit_uv_layers[] = { + mesh_bit_UVMap_uvmap, +}; + +const mesh mesh_bit = { + .position = mesh_bit_position, + .position_length = (sizeof (mesh_bit_position)) / (sizeof (mesh_bit_position[0])), + .normal = mesh_bit_normal, + .normal_length = (sizeof (mesh_bit_normal)) / (sizeof (mesh_bit_normal[0])), + .polygon_normal = mesh_bit_polygon_normal, + .polygon_normal_length = (sizeof (mesh_bit_polygon_normal)) / (sizeof (mesh_bit_polygon_normal[0])), + .polygons = mesh_bit_polygons, + .polygons_length = (sizeof (mesh_bit_polygons)) / (sizeof (mesh_bit_polygons[0])), + .uv_layers = mesh_bit_uv_layers, + .uv_layers_length = (sizeof (mesh_bit_uv_layers)) / (sizeof (mesh_bit_uv_layers[0])), + .materials = mesh_bit_materials, + .materials_length = (sizeof (mesh_bit_materials)) / (sizeof (mesh_bit_materials[0])), + .edge_polygons = mesh_bit_edge_polygons, + .edge_polygons_length = (sizeof (mesh_bit_edge_polygons)) / (sizeof (mesh_bit_edge_polygons[0])), +}; + +const vec3 mesh_jam_position[] = { {1.473838, -0.866752, -0.594378}, {1.473838, -0.866752, -0.721493}, {1.473838, 0.643730, -0.721493}, {1.473838, 0.643730, -0.529676}, - {1.473838, 0.083877, -0.451804}, {1.473838, -0.173655, -0.428901}, - {1.473838, 0.084997, -0.407143}, {1.473838, 0.643730, -0.329843}, {1.473838, 0.643730, -0.131155}, {1.473838, -0.866752, -0.131155}, {1.473838, -0.866752, -0.257124}, - {1.473838, 0.105152, -0.257124}, - {1.473838, 0.330212, -0.253116}, {1.473838, 0.442183, -0.249108}, - {1.473838, 0.060364, -0.292625}, {1.473838, -0.463658, -0.364771}, {1.473838, -0.463658, -0.489595}, - {1.473838, 0.060364, -0.560596}, {1.473838, 0.442183, -0.603540}, - {1.473838, 0.105152, -0.594378}, {1.318238, -0.866752, -0.594378}, {1.318238, -0.866752, -0.721493}, {1.318238, 0.643730, -0.721493}, {1.318238, 0.643730, -0.529676}, - {1.318238, 0.083877, -0.451804}, {1.318238, -0.173655, -0.428901}, - {1.318238, 0.084997, -0.407143}, {1.318238, 0.643730, -0.329843}, {1.318238, 0.643730, -0.131155}, {1.318238, -0.866752, -0.131155}, {1.318238, -0.866752, -0.257124}, - {1.318238, 0.105152, -0.257124}, - {1.318238, 0.330212, -0.253116}, {1.318238, 0.442183, -0.249108}, - {1.318238, 0.060364, -0.292625}, {1.318238, -0.463658, -0.364771}, {1.318238, -0.463658, -0.489595}, - {1.318238, 0.060364, -0.560596}, {1.318238, 0.442183, -0.603540}, - {1.318238, 0.105152, -0.594378}, {1.473838, -0.889146, 1.010013}, {1.473838, -0.750303, 0.818768}, {1.473838, -0.367364, 0.749485}, @@ -264,11 +2101,8 @@ const vec3 mesh_logo_position[] = { {1.473838, -0.497249, 0.146550}, {1.473838, -0.866752, 0.093872}, {1.473838, 0.439943, 0.277100}, - {1.473838, 0.303339, 0.261067}, - {1.473838, 0.119988, 0.235301}, {1.473838, -0.248675, 0.182050}, {1.473838, -0.248675, 0.372149}, - {1.473838, 0.298861, 0.294278}, {1.318238, -0.866752, -0.074469}, {1.318238, 0.643730, 0.178615}, {1.318238, 0.643730, 0.375585}, @@ -278,3905 +2112,740 @@ const vec3 mesh_logo_position[] = { {1.318238, -0.497249, 0.146550}, {1.318238, -0.866752, 0.093872}, {1.318238, 0.439943, 0.277100}, - {1.318238, 0.303339, 0.261067}, - {1.318238, 0.119988, 0.235301}, {1.318238, -0.248675, 0.182050}, {1.318238, -0.248675, 0.372149}, - {1.318238, 0.298861, 0.294278}, }; -const vec2 mesh_logo_UVMap_uvmap[] = { - {0.171492, 0.812431}, - {0.171492, 0.824669}, - {0.105208, 0.812431}, - {0.105208, 0.812431}, - {0.171492, 0.824669}, - {0.105208, 0.824669}, - {0.160332, 0.812431}, - {0.160332, 0.824669}, - {0.116367, 0.812431}, - {0.116367, 0.812431}, - {0.160332, 0.824669}, - {0.116367, 0.824669}, - {0.147877, 0.812431}, - {0.147877, 0.824669}, - {0.128822, 0.812431}, - {0.128822, 0.812431}, - {0.147877, 0.824669}, - {0.128822, 0.824669}, - {0.132231, 0.818416}, - {0.144469, 0.818685}, - {0.132231, 0.818685}, - {0.147819, 0.812431}, - {0.147819, 0.824669}, - {0.128881, 0.812431}, - {0.128881, 0.812431}, - {0.147819, 0.824669}, - {0.128881, 0.824669}, - {0.148718, 0.812431}, - {0.142203, 0.824669}, - {0.142203, 0.812431}, - {0.142203, 0.812431}, - {0.142203, 0.824669}, - {0.127982, 0.812431}, - {0.127982, 0.812431}, - {0.142203, 0.824669}, - {0.127982, 0.824669}, - {0.144469, 0.827671}, - {0.132231, 0.818489}, - {0.144469, 0.818489}, - {0.144469, 0.818489}, - {0.132231, 0.818489}, - {0.144469, 0.809429}, - {0.144469, 0.809429}, - {0.132231, 0.818489}, - {0.132231, 0.809429}, - {0.161686, 0.812431}, - {0.151355, 0.824669}, - {0.151355, 0.812431}, - {0.144469, 0.818416}, - {0.144469, 0.818685}, - {0.132231, 0.818416}, - {0.148718, 0.824669}, - {0.142203, 0.824669}, - {0.148718, 0.812431}, - {0.132231, 0.827671}, - {0.132231, 0.818489}, - {0.144469, 0.827671}, - {0.161686, 0.824669}, - {0.151355, 0.824669}, - {0.161686, 0.812431}, - {0.844261, 0.888951}, - {0.834903, 0.888951}, - {0.844261, 0.783777}, - {0.844261, 0.783777}, - {0.834903, 0.888951}, - {0.834903, 0.783777}, - {0.844261, 0.850943}, - {0.834903, 0.850943}, - {0.844261, 0.821784}, - {0.844261, 0.821784}, - {0.834903, 0.850943}, - {0.834903, 0.821784}, - {0.844261, 0.840463}, - {0.834903, 0.832264}, - {0.844261, 0.832264}, - {0.844261, 0.840424}, - {0.834903, 0.840424}, - {0.844261, 0.832303}, - {0.844261, 0.832303}, - {0.834903, 0.840424}, - {0.834903, 0.832303}, - {0.834903, 0.840463}, - {0.834903, 0.832264}, - {0.844261, 0.840463}, - {0.149454, 0.209687}, - {0.138848, 0.209687}, - {0.149454, 0.189540}, - {0.149454, 0.189540}, - {0.138848, 0.209687}, - {0.138848, 0.189540}, - {0.149454, 0.206462}, - {0.138848, 0.206462}, - {0.149454, 0.192765}, - {0.149454, 0.192765}, - {0.138848, 0.206462}, - {0.138848, 0.192765}, - {0.149454, 0.209687}, - {0.138848, 0.209687}, - {0.149454, 0.189540}, - {0.149454, 0.189540}, - {0.138848, 0.209687}, - {0.138848, 0.189540}, - {0.149454, 0.239067}, - {0.138848, 0.160160}, - {0.149454, 0.160160}, - {0.149454, 0.209687}, - {0.138848, 0.209687}, - {0.149454, 0.189540}, - {0.149454, 0.189540}, - {0.138848, 0.209687}, - {0.138848, 0.189540}, - {0.138848, 0.239067}, - {0.138848, 0.160160}, - {0.149454, 0.239067}, - {0.828847, 0.202248}, - {0.819600, 0.202248}, - {0.828847, 0.186660}, - {0.828847, 0.186660}, - {0.819600, 0.202248}, - {0.819600, 0.186660}, - {0.828847, 0.203236}, - {0.819600, 0.185672}, - {0.828847, 0.185672}, - {0.828847, 0.200117}, - {0.819600, 0.188791}, - {0.828847, 0.188791}, - {0.819600, 0.203236}, - {0.819600, 0.185672}, - {0.828847, 0.203236}, - {0.819600, 0.200117}, - {0.819600, 0.188791}, - {0.828847, 0.200117}, - {0.503929, 0.503124}, - {0.495047, 0.503124}, - {0.503929, 0.495008}, - {0.503929, 0.495008}, - {0.495047, 0.503124}, - {0.495047, 0.495008}, - {0.495047, 0.492942}, - {0.503929, 0.505189}, - {0.495047, 0.505189}, - {0.495047, 0.492723}, - {0.503929, 0.492723}, - {0.495047, 0.505409}, - {0.495047, 0.505409}, - {0.503929, 0.492723}, - {0.503929, 0.505409}, - {0.503929, 0.503087}, - {0.495047, 0.503087}, - {0.503929, 0.495044}, - {0.503929, 0.495044}, - {0.495047, 0.503087}, - {0.495047, 0.495044}, - {0.503929, 0.503051}, - {0.495047, 0.503051}, - {0.503929, 0.495081}, - {0.503929, 0.495081}, - {0.495047, 0.503051}, - {0.495047, 0.495081}, +const vec2 mesh_jam_UVMap_uvmap[] = { {0.503929, 0.492942}, {0.503929, 0.505189}, + {0.495047, 0.505189}, {0.495047, 0.492942}, - {0.495047, 0.488189}, - {0.503929, 0.509942}, - {0.495047, 0.509942}, - {0.503929, 0.504568}, - {0.495047, 0.493564}, - {0.503929, 0.493564}, - {0.503929, 0.508008}, - {0.495047, 0.502733}, - {0.503929, 0.502733}, - {0.503929, 0.502733}, - {0.495047, 0.502733}, - {0.503929, 0.490123}, - {0.503929, 0.490123}, - {0.495047, 0.502733}, - {0.495047, 0.490123}, - {0.495047, 0.487555}, - {0.503929, 0.487555}, - {0.495047, 0.510576}, - {0.503929, 0.510923}, - {0.495047, 0.499807}, - {0.503929, 0.499807}, - {0.495047, 0.510576}, - {0.503929, 0.487555}, - {0.503929, 0.510576}, + {0.503929, 0.492723}, + {0.503929, 0.505409}, + {0.495047, 0.505409}, + {0.495047, 0.492723}, + {0.495047, 0.503087}, + {0.495047, 0.495044}, + {0.503929, 0.495044}, + {0.503929, 0.503087}, + {0.495047, 0.503051}, + {0.495047, 0.495081}, + {0.503929, 0.495081}, + {0.503929, 0.503051}, {0.503929, 0.488189}, {0.503929, 0.509942}, + {0.495047, 0.509942}, {0.495047, 0.488189}, {0.495047, 0.504568}, {0.495047, 0.493564}, + {0.503929, 0.493564}, {0.503929, 0.504568}, - {0.495047, 0.508008}, + {0.503929, 0.487555}, + {0.503929, 0.510576}, + {0.495047, 0.510576}, + {0.495047, 0.487555}, {0.495047, 0.502733}, - {0.503929, 0.508008}, + {0.495047, 0.490123}, + {0.503929, 0.490123}, + {0.503929, 0.502733}, {0.495047, 0.510923}, {0.495047, 0.499807}, + {0.503929, 0.499807}, {0.503929, 0.510923}, - {0.495047, 0.492778}, - {0.503929, 0.505354}, - {0.495047, 0.505354}, - {0.503929, 0.504458}, - {0.495047, 0.493673}, - {0.503929, 0.493673}, - {0.503929, 0.507401}, - {0.495047, 0.490730}, - {0.503929, 0.490730}, - {0.503929, 0.504440}, - {0.495047, 0.493692}, - {0.503929, 0.493692}, - {0.503929, 0.521258}, - {0.495047, 0.521258}, - {0.503929, 0.485947}, - {0.503929, 0.485947}, - {0.495047, 0.476874}, - {0.503929, 0.476874}, - {0.503929, 0.485947}, - {0.495047, 0.521258}, - {0.495047, 0.485947}, {0.503929, 0.492778}, {0.503929, 0.505354}, + {0.495047, 0.505354}, {0.495047, 0.492778}, {0.495047, 0.504458}, {0.495047, 0.493673}, + {0.503929, 0.493673}, {0.503929, 0.504458}, {0.495047, 0.507401}, {0.495047, 0.490730}, + {0.503929, 0.490730}, {0.503929, 0.507401}, {0.495047, 0.504440}, {0.495047, 0.493692}, + {0.503929, 0.493692}, {0.503929, 0.504440}, - {0.495047, 0.485947}, - {0.495047, 0.476874}, - {0.503929, 0.485947}, - {0.132231, 0.810786}, - {0.144469, 0.826315}, - {0.132231, 0.826315}, - {0.132231, 0.812990}, - {0.144469, 0.812990}, - {0.132231, 0.824111}, - {0.132231, 0.824111}, - {0.144469, 0.812990}, - {0.144469, 0.824111}, - {0.149737, 0.812431}, - {0.126962, 0.824669}, - {0.126962, 0.812431}, - {0.132231, 0.794870}, - {0.144469, 0.794870}, - {0.132231, 0.811552}, - {0.132231, 0.811552}, - {0.144469, 0.794870}, - {0.144469, 0.811552}, - {0.132231, 0.811552}, - {0.144469, 0.826524}, - {0.132231, 0.826524}, - {0.132231, 0.826524}, - {0.144469, 0.826524}, - {0.132231, 0.842231}, - {0.132231, 0.842231}, - {0.144469, 0.826524}, - {0.144469, 0.842231}, - {0.161173, 0.812431}, - {0.138010, 0.824669}, - {0.138010, 0.812431}, - {0.138010, 0.812431}, - {0.138010, 0.824669}, - {0.115527, 0.812431}, - {0.115527, 0.812431}, - {0.138010, 0.824669}, - {0.115527, 0.824669}, - {0.144469, 0.829735}, - {0.132231, 0.807366}, - {0.144469, 0.807366}, - {0.132231, 0.813263}, - {0.144469, 0.823838}, - {0.132231, 0.823838}, - {0.147631, 0.812431}, - {0.147631, 0.824669}, - {0.138262, 0.812431}, - {0.138262, 0.812431}, - {0.147631, 0.824669}, - {0.138262, 0.824669}, - {0.138262, 0.812431}, - {0.129069, 0.824669}, - {0.129069, 0.812431}, - {0.144469, 0.828029}, - {0.132231, 0.828029}, - {0.144469, 0.820973}, - {0.144469, 0.820973}, - {0.132231, 0.828029}, - {0.132231, 0.820973}, - {0.144469, 0.820973}, - {0.132231, 0.815218}, - {0.144469, 0.815218}, - {0.144469, 0.815218}, - {0.132231, 0.815218}, - {0.144469, 0.809072}, - {0.144469, 0.809072}, - {0.132231, 0.815218}, - {0.132231, 0.809072}, - {0.158810, 0.812431}, - {0.142853, 0.824669}, - {0.142853, 0.812431}, - {0.142853, 0.812431}, - {0.142853, 0.824669}, - {0.117890, 0.812431}, - {0.117890, 0.812431}, - {0.142853, 0.824669}, - {0.117890, 0.824669}, - {0.144469, 0.833293}, - {0.132231, 0.833293}, - {0.144469, 0.816210}, - {0.144469, 0.816210}, - {0.132231, 0.803807}, - {0.144469, 0.803807}, - {0.144469, 0.816210}, - {0.132231, 0.833293}, - {0.132231, 0.816210}, - {0.144469, 0.810786}, - {0.144469, 0.826315}, - {0.132231, 0.810786}, - {0.149737, 0.824669}, - {0.126962, 0.824669}, - {0.149737, 0.812431}, - {0.144469, 0.811552}, - {0.144469, 0.826524}, - {0.132231, 0.811552}, - {0.161173, 0.824669}, - {0.138010, 0.824669}, - {0.161173, 0.812431}, - {0.132231, 0.829735}, - {0.132231, 0.807366}, - {0.144469, 0.829735}, - {0.144469, 0.813263}, - {0.144469, 0.823838}, - {0.132231, 0.813263}, - {0.138262, 0.824669}, - {0.129069, 0.824669}, - {0.138262, 0.812431}, - {0.132231, 0.820973}, - {0.132231, 0.815218}, - {0.144469, 0.820973}, - {0.158810, 0.824669}, - {0.142853, 0.824669}, - {0.158810, 0.812431}, - {0.132231, 0.816210}, - {0.132231, 0.803807}, - {0.144469, 0.816210}, - {0.173038, 0.798551}, - {0.148770, 0.808635}, - {0.153677, 0.799694}, - {0.173038, 0.798551}, - {0.149711, 0.790417}, - {0.163895, 0.778787}, - {0.166988, 0.812803}, - {0.148770, 0.808635}, - {0.173038, 0.798551}, - {0.150383, 0.819727}, - {0.134451, 0.826987}, - {0.134854, 0.811727}, - {0.150383, 0.819727}, - {0.148770, 0.808635}, - {0.166988, 0.812803}, - {0.150383, 0.819996}, - {0.134451, 0.826987}, - {0.150383, 0.819727}, - {0.165374, 0.827390}, - {0.151459, 0.838819}, - {0.147022, 0.830079}, - {0.165374, 0.827390}, - {0.134451, 0.826987}, - {0.150383, 0.819996}, - {0.170618, 0.841172}, - {0.151459, 0.838819}, - {0.165374, 0.827390}, - {0.166719, 0.853810}, - {0.151459, 0.838819}, - {0.170618, 0.841172}, - {0.155559, 0.862347}, - {0.138014, 0.850314}, - {0.147761, 0.847087}, - {0.155559, 0.862347}, - {0.147761, 0.847087}, - {0.166719, 0.853810}, - {0.138350, 0.865372}, - {0.138014, 0.850314}, - {0.155559, 0.862347}, - {0.115426, 0.858852}, - {0.124165, 0.838953}, - {0.128468, 0.847558}, - {0.115426, 0.858852}, - {0.138014, 0.850314}, - {0.138350, 0.865372}, - {0.105275, 0.840298}, - {0.124165, 0.838953}, - {0.115426, 0.858852}, - {0.128468, 0.847558}, - {0.138014, 0.850314}, - {0.115426, 0.858852}, - {0.147761, 0.847087}, - {0.151459, 0.838819}, - {0.166719, 0.853810}, - {0.147022, 0.830079}, - {0.134451, 0.826987}, - {0.165374, 0.827390}, - {0.134451, 0.826987}, - {0.128266, 0.811727}, - {0.134854, 0.811727}, - {0.128266, 0.826987}, - {0.128266, 0.811727}, - {0.134451, 0.826987}, - {0.134854, 0.811727}, - {0.148770, 0.808635}, - {0.150383, 0.819727}, - {0.153677, 0.799694}, - {0.149711, 0.790417}, - {0.173038, 0.798551}, - {0.149711, 0.790417}, - {0.138753, 0.771728}, - {0.163895, 0.778787}, - {0.138686, 0.787055}, - {0.138753, 0.771728}, - {0.149711, 0.790417}, - {0.122888, 0.799694}, - {0.138753, 0.771728}, - {0.138686, 0.787055}, - {0.103662, 0.798013}, - {0.114216, 0.778451}, - {0.122888, 0.799694}, - {0.114216, 0.778451}, - {0.138753, 0.771728}, - {0.122888, 0.799694}, - {0.103662, 0.798551}, - {0.123023, 0.799694}, - {0.109712, 0.812803}, - {0.103662, 0.798551}, - {0.112804, 0.778787}, - {0.123023, 0.799694}, - {0.109712, 0.812803}, - {0.141846, 0.811727}, - {0.126317, 0.819727}, - {0.109712, 0.812803}, - {0.123023, 0.799694}, - {0.127930, 0.808635}, - {0.126317, 0.819727}, - {0.142249, 0.826987}, - {0.126317, 0.819996}, - {0.126317, 0.819996}, - {0.129678, 0.830079}, - {0.111325, 0.827390}, - {0.111325, 0.827390}, - {0.129678, 0.830079}, - {0.106082, 0.841172}, - {0.106082, 0.841172}, - {0.128938, 0.847087}, - {0.109981, 0.853810}, - {0.106082, 0.841172}, - {0.129678, 0.830079}, - {0.125241, 0.838819}, - {0.109981, 0.853810}, - {0.128938, 0.847087}, - {0.121140, 0.862347}, - {0.121140, 0.862347}, - {0.128938, 0.847087}, - {0.138350, 0.865372}, - {0.138350, 0.865372}, - {0.148232, 0.847558}, - {0.161274, 0.858852}, - {0.138350, 0.865372}, - {0.128938, 0.847087}, - {0.138686, 0.850314}, - {0.161274, 0.858852}, - {0.148232, 0.847558}, - {0.171425, 0.840298}, - {0.171425, 0.840298}, - {0.148232, 0.847558}, - {0.152534, 0.838953}, - {0.138686, 0.850314}, - {0.148232, 0.847558}, - {0.138350, 0.865372}, - {0.125241, 0.838819}, - {0.128938, 0.847087}, - {0.106082, 0.841172}, - {0.142249, 0.826987}, - {0.129678, 0.830079}, - {0.126317, 0.819996}, - {0.142249, 0.826987}, - {0.141846, 0.811727}, - {0.148434, 0.826987}, - {0.148434, 0.826987}, - {0.141846, 0.811727}, - {0.148434, 0.811727}, - {0.141846, 0.811727}, - {0.142249, 0.826987}, - {0.126317, 0.819727}, - {0.127930, 0.808635}, - {0.141846, 0.811727}, - {0.109712, 0.812803}, - {0.123023, 0.799694}, - {0.112804, 0.778787}, - {0.126989, 0.790417}, - {0.126989, 0.790417}, - {0.112804, 0.778787}, - {0.138014, 0.787055}, - {0.138014, 0.787055}, - {0.162484, 0.778451}, - {0.153812, 0.799694}, - {0.138014, 0.787055}, - {0.112804, 0.778787}, - {0.137947, 0.771728}, - {0.153812, 0.799694}, - {0.162484, 0.778451}, - {0.173038, 0.798013}, - {0.137947, 0.771728}, - {0.162484, 0.778451}, - {0.138014, 0.787055}, - {0.844261, 0.858094}, - {0.834903, 0.848733}, - {0.844261, 0.848733}, - {0.844261, 0.848733}, - {0.834903, 0.848733}, - {0.844261, 0.833399}, - {0.844261, 0.833399}, - {0.834903, 0.848733}, - {0.834903, 0.833399}, - {0.844261, 0.833399}, - {0.834903, 0.814633}, - {0.844261, 0.814633}, - {0.844261, 0.853326}, - {0.834903, 0.853326}, - {0.844261, 0.839380}, - {0.844261, 0.839380}, - {0.834903, 0.853326}, - {0.834903, 0.839380}, - {0.844261, 0.839380}, - {0.834903, 0.819402}, - {0.844261, 0.819402}, - {0.844261, 0.841357}, - {0.834903, 0.841357}, - {0.844261, 0.831371}, - {0.844261, 0.831371}, - {0.834903, 0.841357}, - {0.834903, 0.831371}, - {0.844261, 0.836305}, - {0.834903, 0.836305}, - {0.844261, 0.823928}, - {0.844261, 0.823928}, - {0.834903, 0.836305}, - {0.834903, 0.823928}, - {0.844261, 0.848799}, - {0.834903, 0.848799}, - {0.844261, 0.823928}, - {0.844261, 0.823928}, - {0.834903, 0.848799}, - {0.834903, 0.823928}, - {0.844261, 0.848799}, - {0.834903, 0.836305}, - {0.844261, 0.836305}, - {0.834903, 0.858094}, - {0.834903, 0.848733}, - {0.844261, 0.858094}, - {0.834903, 0.833399}, - {0.834903, 0.814633}, - {0.844261, 0.833399}, - {0.834903, 0.839380}, - {0.834903, 0.819402}, - {0.844261, 0.839380}, - {0.834903, 0.848799}, - {0.834903, 0.836305}, - {0.844261, 0.848799}, - {0.149454, 0.239067}, - {0.138848, 0.160160}, - {0.149454, 0.160160}, - {0.149454, 0.209687}, - {0.138848, 0.209687}, - {0.149454, 0.189540}, - {0.149454, 0.189540}, - {0.138848, 0.209687}, - {0.138848, 0.189540}, - {0.149454, 0.206462}, - {0.138848, 0.206462}, - {0.149454, 0.192765}, - {0.149454, 0.192765}, - {0.138848, 0.206462}, - {0.138848, 0.192765}, - {0.149454, 0.206462}, - {0.138848, 0.206462}, - {0.149454, 0.192765}, - {0.149454, 0.192765}, - {0.138848, 0.206462}, - {0.138848, 0.192765}, - {0.149454, 0.219783}, - {0.138848, 0.179443}, - {0.149454, 0.179443}, - {0.138848, 0.239067}, - {0.138848, 0.160160}, - {0.149454, 0.239067}, - {0.138848, 0.219783}, - {0.138848, 0.179443}, - {0.149454, 0.219783}, - {0.828847, 0.151275}, - {0.819600, 0.237633}, - {0.819600, 0.151275}, - {0.828847, 0.203236}, - {0.819600, 0.185672}, - {0.828847, 0.185672}, - {0.828847, 0.237633}, - {0.819600, 0.237633}, - {0.828847, 0.151275}, - {0.828847, 0.151275}, - {0.819600, 0.237633}, - {0.819600, 0.151275}, - {0.828847, 0.237633}, - {0.819600, 0.237633}, - {0.828847, 0.151275}, - {0.819600, 0.203236}, - {0.819600, 0.185672}, - {0.828847, 0.203236}, - {0.503929, 0.547286}, - {0.495047, 0.547286}, - {0.503929, 0.450845}, - {0.503929, 0.450845}, {0.495047, 0.547286}, {0.495047, 0.450845}, - {0.495047, 0.472774}, - {0.503929, 0.472774}, - {0.495047, 0.508859}, - {0.495047, 0.508859}, - {0.503929, 0.472774}, - {0.503929, 0.508859}, - {0.495047, 0.508859}, - {0.503929, 0.525357}, - {0.495047, 0.525357}, - {0.495047, 0.450845}, + {0.503929, 0.450845}, {0.503929, 0.547286}, - {0.495047, 0.547286}, - {0.495047, 0.469913}, - {0.503929, 0.494447}, - {0.495047, 0.494447}, - {0.495047, 0.494447}, - {0.503929, 0.494447}, - {0.495047, 0.528218}, - {0.495047, 0.528218}, - {0.503929, 0.494447}, {0.503929, 0.528218}, - {0.495047, 0.457278}, + {0.495047, 0.528218}, + {0.495047, 0.469913}, + {0.503929, 0.469913}, + {0.503929, 0.450845}, + {0.503929, 0.547286}, + {0.495047, 0.547286}, + {0.495047, 0.450845}, {0.503929, 0.457278}, - {0.495047, 0.478801}, - {0.495047, 0.478801}, {0.503929, 0.540853}, {0.495047, 0.540853}, - {0.495047, 0.478801}, - {0.503929, 0.457278}, - {0.503929, 0.478801}, - {0.503929, 0.508859}, - {0.503929, 0.525357}, - {0.495047, 0.508859}, - {0.503929, 0.450845}, - {0.503929, 0.547286}, - {0.495047, 0.450845}, - {0.503929, 0.469913}, - {0.503929, 0.494447}, - {0.495047, 0.469913}, - {0.503929, 0.478801}, - {0.503929, 0.540853}, - {0.495047, 0.478801}, - {0.503929, 0.499807}, - {0.495047, 0.499807}, - {0.503929, 0.487209}, - {0.503929, 0.487209}, + {0.495047, 0.457278}, {0.495047, 0.499807}, {0.495047, 0.487209}, - {0.503929, 0.543624}, - {0.495047, 0.518984}, - {0.503929, 0.518984}, - {0.503929, 0.518984}, - {0.495047, 0.518984}, - {0.503929, 0.454508}, - {0.503929, 0.454508}, - {0.495047, 0.518984}, - {0.495047, 0.454508}, - {0.495047, 0.490808}, - {0.503929, 0.490808}, - {0.495047, 0.507323}, - {0.495047, 0.507323}, - {0.503929, 0.490808}, - {0.503929, 0.507323}, - {0.495047, 0.468743}, - {0.503929, 0.468743}, - {0.495047, 0.517269}, - {0.495047, 0.517269}, - {0.503929, 0.468743}, - {0.503929, 0.517269}, - {0.495047, 0.517269}, - {0.503929, 0.529388}, - {0.495047, 0.529388}, - {0.495047, 0.496075}, - {0.503929, 0.496075}, - {0.495047, 0.502056}, - {0.495047, 0.502056}, - {0.503929, 0.496075}, - {0.503929, 0.502056}, - {0.495047, 0.493529}, - {0.503929, 0.504603}, - {0.495047, 0.504603}, + {0.503929, 0.487209}, + {0.503929, 0.499807}, {0.495047, 0.543624}, {0.495047, 0.518984}, + {0.503929, 0.518984}, {0.503929, 0.543624}, - {0.503929, 0.517269}, - {0.503929, 0.529388}, - {0.495047, 0.517269}, + {0.495047, 0.518984}, + {0.495047, 0.454508}, + {0.503929, 0.454508}, + {0.503929, 0.518984}, {0.503929, 0.493529}, {0.503929, 0.504603}, + {0.495047, 0.504603}, {0.495047, 0.493529}, - {0.503929, 0.547958}, - {0.495047, 0.547958}, - {0.503929, 0.450173}, - {0.503929, 0.450173}, + {0.503929, 0.490808}, + {0.503929, 0.507323}, + {0.495047, 0.507323}, + {0.495047, 0.490808}, + {0.503929, 0.468743}, + {0.503929, 0.517269}, + {0.495047, 0.517269}, + {0.495047, 0.468743}, + {0.503929, 0.517269}, + {0.503929, 0.529388}, + {0.495047, 0.529388}, + {0.495047, 0.517269}, + {0.503929, 0.496075}, + {0.503929, 0.502056}, + {0.495047, 0.502056}, + {0.495047, 0.496075}, {0.495047, 0.547958}, {0.495047, 0.450173}, - {0.495047, 0.450170}, - {0.503929, 0.450170}, - {0.495047, 0.547961}, - {0.495047, 0.547961}, + {0.503929, 0.450173}, + {0.503929, 0.547958}, + {0.495047, 0.510981}, + {0.495047, 0.487150}, + {0.503929, 0.487150}, + {0.503929, 0.510981}, {0.503929, 0.450170}, {0.503929, 0.547961}, - {0.503929, 0.510981}, - {0.495047, 0.510981}, - {0.503929, 0.487150}, - {0.503929, 0.487150}, - {0.495047, 0.510981}, - {0.495047, 0.487150}, - {0.495047, 0.487150}, - {0.503929, 0.487150}, - {0.495047, 0.510981}, - {0.495047, 0.510981}, - {0.503929, 0.487150}, - {0.503929, 0.510981}, - {0.495047, 0.492997}, - {0.503929, 0.505134}, - {0.495047, 0.505134}, + {0.495047, 0.547961}, + {0.495047, 0.450170}, {0.503929, 0.492997}, {0.503929, 0.505134}, + {0.495047, 0.505134}, {0.495047, 0.492997}, - {0.171492, 0.772501}, - {0.127527, 0.788030}, - {0.105208, 0.772501}, - {0.171492, 0.788030}, - {0.127527, 0.788030}, - {0.171492, 0.772501}, - {0.127527, 0.788030}, - {0.114754, 0.800400}, - {0.105208, 0.785610}, - {0.127527, 0.788030}, - {0.105208, 0.785610}, - {0.105208, 0.772501}, - {0.134047, 0.797038}, - {0.144938, 0.828029}, - {0.132905, 0.817542}, - {0.134047, 0.797038}, - {0.114754, 0.800400}, - {0.127527, 0.788030}, - {0.151593, 0.811559}, - {0.144938, 0.828029}, - {0.134047, 0.797038}, - {0.165374, 0.825676}, - {0.150854, 0.839188}, - {0.149240, 0.833609}, - {0.165374, 0.825676}, - {0.144938, 0.828029}, - {0.151593, 0.811559}, - {0.170013, 0.839995}, - {0.150854, 0.839188}, - {0.165374, 0.825676}, - {0.161475, 0.857877}, - {0.138417, 0.849541}, - {0.147694, 0.846785}, - {0.161475, 0.857877}, - {0.150854, 0.839188}, - {0.170013, 0.839995}, - {0.138283, 0.864599}, - {0.138417, 0.849541}, - {0.161475, 0.857877}, - {0.115830, 0.857675}, - {0.125039, 0.836499}, - {0.129140, 0.846247}, - {0.115830, 0.857675}, - {0.138417, 0.849541}, - {0.138283, 0.864599}, - {0.106015, 0.837575}, - {0.125039, 0.836499}, - {0.115830, 0.857675}, - {0.129140, 0.846247}, - {0.138417, 0.849541}, - {0.115830, 0.857675}, - {0.147694, 0.846785}, - {0.150854, 0.839188}, - {0.161475, 0.857877}, - {0.149240, 0.833609}, - {0.144938, 0.828029}, - {0.165374, 0.825676}, - {0.132905, 0.817542}, - {0.114754, 0.800400}, - {0.134047, 0.797038}, - {0.171492, 0.772501}, - {0.149173, 0.788030}, - {0.105208, 0.772501}, - {0.171492, 0.772501}, - {0.171492, 0.785610}, - {0.149173, 0.788030}, - {0.105208, 0.772501}, - {0.149173, 0.788030}, - {0.105208, 0.788030}, - {0.149173, 0.788030}, - {0.161946, 0.800400}, - {0.142652, 0.797038}, - {0.142652, 0.797038}, - {0.143795, 0.817542}, - {0.125107, 0.811559}, - {0.142652, 0.797038}, - {0.161946, 0.800400}, - {0.143795, 0.817542}, - {0.125107, 0.811559}, - {0.127459, 0.833609}, - {0.111325, 0.825676}, - {0.125107, 0.811559}, - {0.143795, 0.817542}, - {0.131762, 0.828029}, - {0.111325, 0.825676}, - {0.127459, 0.833609}, - {0.106687, 0.839995}, - {0.106687, 0.839995}, - {0.129006, 0.846785}, - {0.115224, 0.857877}, - {0.106687, 0.839995}, - {0.127459, 0.833609}, - {0.125846, 0.839188}, - {0.115224, 0.857877}, - {0.129006, 0.846785}, - {0.138417, 0.864599}, - {0.138417, 0.864599}, - {0.147560, 0.846247}, - {0.160870, 0.857675}, - {0.138417, 0.864599}, - {0.129006, 0.846785}, - {0.138283, 0.849541}, - {0.160870, 0.857675}, - {0.147560, 0.846247}, - {0.170685, 0.837575}, - {0.170685, 0.837575}, - {0.147560, 0.846247}, - {0.151660, 0.836499}, - {0.138283, 0.849541}, - {0.147560, 0.846247}, - {0.138417, 0.864599}, - {0.125846, 0.839188}, - {0.129006, 0.846785}, - {0.106687, 0.839995}, - {0.131762, 0.828029}, - {0.127459, 0.833609}, - {0.125107, 0.811559}, - {0.171492, 0.785610}, - {0.161946, 0.800400}, - {0.149173, 0.788030}, - {0.146708, 0.812431}, - {0.146708, 0.824669}, - {0.129992, 0.812431}, - {0.129992, 0.812431}, - {0.146708, 0.824669}, - {0.129992, 0.824669}, - {0.132231, 0.805324}, - {0.144469, 0.819353}, - {0.132231, 0.819353}, - {0.132231, 0.819353}, - {0.144469, 0.819353}, - {0.132231, 0.831777}, - {0.132231, 0.831777}, - {0.144469, 0.819353}, - {0.144469, 0.831777}, - {0.164120, 0.812431}, - {0.164120, 0.824669}, - {0.152179, 0.812431}, - {0.152179, 0.812431}, - {0.164120, 0.824669}, - {0.152179, 0.824669}, - {0.152179, 0.812431}, - {0.134756, 0.824669}, - {0.134756, 0.812431}, - {0.134756, 0.812431}, - {0.134756, 0.824669}, - {0.112580, 0.812431}, - {0.112580, 0.812431}, - {0.134756, 0.824669}, - {0.112580, 0.824669}, - {0.144469, 0.829125}, - {0.132231, 0.807976}, - {0.144469, 0.807976}, - {0.144469, 0.826180}, - {0.132231, 0.826180}, - {0.144469, 0.810920}, - {0.144469, 0.810920}, - {0.132231, 0.826180}, - {0.132231, 0.810920}, - {0.151355, 0.812431}, - {0.151355, 0.824669}, - {0.133711, 0.812431}, - {0.133711, 0.812431}, - {0.151355, 0.824669}, - {0.133711, 0.824669}, - {0.133711, 0.812431}, - {0.133711, 0.824669}, - {0.115014, 0.812431}, - {0.115014, 0.812431}, - {0.133711, 0.824669}, - {0.115014, 0.824669}, - {0.144469, 0.805324}, - {0.144469, 0.819353}, - {0.132231, 0.805324}, - {0.152179, 0.824669}, - {0.134756, 0.824669}, - {0.152179, 0.812431}, - {0.132231, 0.829125}, - {0.132231, 0.807976}, - {0.144469, 0.829125}, - {0.844261, 0.833848}, - {0.834903, 0.833848}, - {0.844261, 0.816667}, - {0.844261, 0.816667}, - {0.834903, 0.833848}, - {0.834903, 0.816667}, - {0.844261, 0.842792}, - {0.834903, 0.842792}, - {0.844261, 0.829935}, - {0.844261, 0.829935}, - {0.834903, 0.842792}, - {0.834903, 0.829935}, - {0.844261, 0.854770}, - {0.834903, 0.854770}, - {0.844261, 0.832689}, - {0.844261, 0.832689}, - {0.834903, 0.854770}, - {0.834903, 0.832689}, - {0.844261, 0.832689}, - {0.834903, 0.832689}, - {0.844261, 0.817958}, - {0.844261, 0.856061}, - {0.834903, 0.833848}, - {0.844261, 0.833848}, - {0.844261, 0.817958}, - {0.834903, 0.832689}, - {0.834903, 0.817958}, - {0.844261, 0.839571}, - {0.834903, 0.823339}, - {0.844261, 0.823339}, - {0.844261, 0.839571}, - {0.834903, 0.849389}, - {0.834903, 0.839571}, - {0.844261, 0.844433}, - {0.834903, 0.844433}, - {0.844261, 0.834983}, - {0.844261, 0.834983}, - {0.834903, 0.844433}, - {0.834903, 0.834983}, - {0.844261, 0.834983}, - {0.834903, 0.828295}, - {0.844261, 0.828295}, - {0.844261, 0.849389}, - {0.834903, 0.849389}, - {0.844261, 0.839571}, - {0.834903, 0.856061}, - {0.834903, 0.833848}, - {0.844261, 0.856061}, - {0.834903, 0.839571}, - {0.834903, 0.823339}, - {0.844261, 0.839571}, - {0.834903, 0.834983}, - {0.834903, 0.828295}, - {0.844261, 0.834983}, - {0.149454, 0.206462}, - {0.138848, 0.206462}, - {0.149454, 0.192765}, - {0.149454, 0.192765}, - {0.138848, 0.206462}, - {0.138848, 0.192765}, - {0.149454, 0.219783}, - {0.138848, 0.179443}, - {0.149454, 0.179443}, - {0.138848, 0.219783}, - {0.138848, 0.179443}, - {0.149454, 0.219783}, - {0.829887, 0.228851}, - {0.802972, 0.246415}, - {0.818560, 0.228851}, - {0.829887, 0.228851}, - {0.818560, 0.142492}, - {0.829887, 0.142492}, - {0.845475, 0.228851}, - {0.845475, 0.246415}, - {0.829887, 0.228851}, - {0.845475, 0.246415}, - {0.802972, 0.246415}, - {0.829887, 0.228851}, - {0.802972, 0.228851}, - {0.818560, 0.228851}, - {0.802972, 0.246415}, - {0.818560, 0.228851}, - {0.818560, 0.142492}, - {0.829887, 0.228851}, - {0.829887, 0.160057}, - {0.845475, 0.142492}, - {0.845475, 0.160057}, - {0.829887, 0.160057}, - {0.818560, 0.160057}, - {0.845475, 0.142492}, - {0.829887, 0.160057}, - {0.829887, 0.246415}, - {0.818560, 0.160057}, - {0.845475, 0.142492}, - {0.818560, 0.160057}, - {0.802972, 0.142492}, - {0.802972, 0.142492}, - {0.818560, 0.160057}, - {0.802972, 0.160057}, - {0.818560, 0.160057}, - {0.829887, 0.246415}, - {0.818560, 0.246415}, - {0.503929, 0.525351}, + {0.503929, 0.487150}, + {0.503929, 0.510981}, + {0.495047, 0.510981}, + {0.495047, 0.487150}, + {0.503929, 0.472774}, + {0.503929, 0.525357}, + {0.495047, 0.525357}, + {0.495047, 0.472774}, + {0.495047, 0.469920}, + {0.503929, 0.469920}, + {0.503929, 0.528212}, + {0.495047, 0.528212}, {0.495047, 0.525351}, - {0.503929, 0.508789}, - {0.503929, 0.508789}, - {0.495047, 0.525351}, - {0.495047, 0.508789}, - {0.503929, 0.508789}, {0.495047, 0.472781}, {0.503929, 0.472781}, - {0.503929, 0.540853}, - {0.495047, 0.540853}, - {0.503929, 0.478800}, - {0.503929, 0.478800}, - {0.495047, 0.540853}, - {0.495047, 0.478800}, - {0.503929, 0.478800}, - {0.495047, 0.464429}, - {0.503929, 0.464429}, - {0.503929, 0.464429}, - {0.495047, 0.464429}, - {0.503929, 0.457278}, - {0.503929, 0.457278}, - {0.495047, 0.464429}, - {0.495047, 0.457278}, - {0.503929, 0.528212}, - {0.495047, 0.494450}, - {0.503929, 0.494450}, - {0.503929, 0.494450}, - {0.495047, 0.494450}, - {0.503929, 0.469920}, - {0.503929, 0.469920}, - {0.495047, 0.494450}, - {0.495047, 0.469920}, - {0.495047, 0.508789}, - {0.495047, 0.472781}, - {0.503929, 0.508789}, - {0.495047, 0.478800}, - {0.495047, 0.464429}, - {0.503929, 0.478800}, - {0.495047, 0.528212}, - {0.495047, 0.494450}, - {0.503929, 0.528212}, + {0.503929, 0.525351}, + {0.492020, 0.523694}, + {0.494046, 0.507823}, + {0.504897, 0.507823}, + {0.506923, 0.523694}, + {0.499308, 0.531487}, + {0.499373, 0.548001}, {0.488457, 0.539136}, + {0.495517, 0.527269}, + {0.484502, 0.514686}, {0.494111, 0.515187}, {0.495517, 0.527269}, {0.488457, 0.539136}, - {0.499308, 0.531487}, - {0.499373, 0.548001}, - {0.484502, 0.514686}, - {0.494111, 0.515187}, - {0.488457, 0.539136}, - {0.484502, 0.450130}, - {0.503949, 0.466645}, - {0.494111, 0.466645}, - {0.484502, 0.450130}, - {0.494111, 0.515187}, - {0.484502, 0.514686}, - {0.503949, 0.450130}, - {0.503949, 0.466645}, - {0.484502, 0.450130}, - {0.494111, 0.466645}, - {0.494111, 0.515187}, - {0.484502, 0.450130}, - {0.495517, 0.527269}, - {0.499308, 0.531487}, - {0.488457, 0.539136}, - {0.499308, 0.531487}, {0.509636, 0.540209}, {0.499373, 0.548001}, - {0.502838, 0.527340}, - {0.509636, 0.540209}, {0.499308, 0.531487}, - {0.504962, 0.514758}, - {0.509636, 0.540209}, {0.502838, 0.527340}, {0.514473, 0.517832}, {0.509636, 0.540209}, + {0.502838, 0.527340}, {0.504962, 0.514758}, - {0.499602, 0.548001}, + {0.494111, 0.466645}, + {0.494111, 0.515187}, + {0.484502, 0.514686}, + {0.484502, 0.450130}, + {0.499668, 0.531487}, {0.503459, 0.527269}, {0.510518, 0.539136}, {0.499602, 0.548001}, - {0.496138, 0.527340}, - {0.499668, 0.531487}, - {0.510518, 0.539136}, - {0.503459, 0.527269}, - {0.514473, 0.514686}, - {0.514473, 0.514686}, - {0.504864, 0.466645}, - {0.514473, 0.450130}, - {0.514473, 0.514686}, - {0.503459, 0.527269}, - {0.504864, 0.515187}, - {0.514473, 0.450130}, - {0.504864, 0.466645}, - {0.495027, 0.450130}, - {0.495027, 0.450130}, - {0.504864, 0.466645}, - {0.495027, 0.466645}, - {0.504864, 0.515187}, - {0.504864, 0.466645}, - {0.514473, 0.514686}, - {0.499668, 0.531487}, - {0.503459, 0.527269}, - {0.499602, 0.548001}, - {0.496138, 0.527340}, + {0.489340, 0.540209}, {0.484502, 0.517832}, {0.494013, 0.514758}, + {0.496138, 0.527340}, + {0.503459, 0.527269}, + {0.504864, 0.515187}, + {0.514473, 0.514686}, + {0.510518, 0.539136}, + {0.503949, 0.450130}, + {0.503949, 0.466645}, + {0.494111, 0.466645}, + {0.484502, 0.450130}, {0.489340, 0.540209}, {0.496138, 0.527340}, + {0.499668, 0.531487}, {0.499602, 0.548001}, - {0.489340, 0.540209}, - {0.484502, 0.517832}, - {0.496138, 0.527340}, - {0.479404, 0.547286}, - {0.494046, 0.507823}, - {0.492020, 0.523694}, - {0.493850, 0.450845}, - {0.498556, 0.472578}, - {0.497086, 0.484285}, - {0.493850, 0.450845}, - {0.494046, 0.507823}, - {0.479404, 0.547286}, - {0.505093, 0.450845}, - {0.499471, 0.463856}, - {0.493850, 0.450845}, - {0.505093, 0.450845}, - {0.500452, 0.472864}, - {0.499471, 0.463856}, - {0.519572, 0.547286}, - {0.500452, 0.472864}, - {0.505093, 0.450845}, - {0.509930, 0.547286}, - {0.506923, 0.523694}, - {0.519572, 0.547286}, - {0.506923, 0.523694}, - {0.494046, 0.507823}, - {0.504897, 0.507823}, - {0.506923, 0.523694}, - {0.504897, 0.507823}, - {0.519572, 0.547286}, - {0.492020, 0.523694}, - {0.489013, 0.547286}, - {0.479404, 0.547286}, - {0.492020, 0.523694}, - {0.494046, 0.507823}, - {0.506923, 0.523694}, - {0.499471, 0.463856}, - {0.498556, 0.472578}, - {0.493850, 0.450845}, - {0.497086, 0.484285}, - {0.494046, 0.507823}, - {0.493850, 0.450845}, - {0.504897, 0.507823}, - {0.500452, 0.472864}, - {0.519572, 0.547286}, {0.519572, 0.547286}, {0.509963, 0.547286}, {0.506956, 0.523694}, + {0.504930, 0.507823}, + {0.495047, 0.521258}, + {0.495047, 0.476874}, + {0.503929, 0.476874}, + {0.503929, 0.521258}, + {0.505093, 0.450845}, + {0.499471, 0.463856}, + {0.493850, 0.450845}, {0.519572, 0.547286}, - {0.501890, 0.484285}, - {0.505126, 0.450845}, - {0.505126, 0.450845}, + {0.504930, 0.507823}, {0.499504, 0.463856}, - {0.493883, 0.450845}, {0.505126, 0.450845}, - {0.500419, 0.472578}, - {0.499504, 0.463856}, - {0.493883, 0.450845}, {0.494079, 0.507823}, + {0.504930, 0.507823}, + {0.506956, 0.523694}, + {0.492052, 0.523694}, + {0.503929, 0.476874}, + {0.503929, 0.521258}, + {0.495047, 0.521258}, + {0.495047, 0.476874}, + {0.505126, 0.450845}, + {0.499504, 0.463856}, + {0.493883, 0.450845}, + {0.504864, 0.466645}, + {0.495027, 0.466645}, + {0.495027, 0.450130}, + {0.514473, 0.450130}, + {0.489372, 0.463713}, + {0.489895, 0.547286}, + {0.482640, 0.547286}, + {0.482640, 0.450845}, + {0.493589, 0.450845}, + {0.489372, 0.463713}, + {0.482640, 0.450845}, + {0.509146, 0.547286}, + {0.509603, 0.463713}, + {0.516336, 0.450845}, + {0.516336, 0.547286}, + {0.495876, 0.521550}, + {0.489372, 0.463713}, + {0.493589, 0.450845}, + {0.499341, 0.503033}, + {0.509603, 0.463713}, + {0.503001, 0.521550}, + {0.499341, 0.503033}, + {0.504995, 0.450845}, + {0.516336, 0.450845}, + {0.509603, 0.463713}, + {0.504995, 0.450845}, + {0.495047, 0.540853}, + {0.495047, 0.457278}, + {0.503929, 0.457278}, + {0.503929, 0.540853}, + {0.503001, 0.521550}, + {0.495876, 0.521550}, + {0.499341, 0.503033}, + {0.509603, 0.463713}, + {0.516336, 0.450845}, + {0.516336, 0.547286}, + {0.509080, 0.547286}, + {0.516336, 0.450845}, + {0.509603, 0.463713}, + {0.505387, 0.450845}, + {0.504864, 0.515187}, + {0.504864, 0.466645}, + {0.514473, 0.450130}, + {0.514473, 0.514686}, + {0.509603, 0.463713}, + {0.503099, 0.521550}, + {0.499635, 0.503033}, + {0.505387, 0.450845}, + {0.495974, 0.521550}, + {0.489372, 0.463713}, + {0.493981, 0.450845}, + {0.499635, 0.503033}, + {0.499635, 0.503033}, + {0.503099, 0.521550}, + {0.495974, 0.521550}, + {0.493981, 0.450845}, + {0.489372, 0.463713}, + {0.482640, 0.450845}, + {0.482640, 0.450845}, + {0.489372, 0.463713}, + {0.489830, 0.547286}, + {0.482640, 0.547286}, + {0.495047, 0.508008}, + {0.495047, 0.502733}, + {0.503929, 0.502733}, + {0.503929, 0.508008}, + {0.495047, 0.503124}, + {0.495047, 0.495008}, + {0.503929, 0.495008}, + {0.503929, 0.503124}, {0.479404, 0.547286}, + {0.493883, 0.450845}, + {0.499504, 0.463856}, + {0.494079, 0.507823}, + {0.519572, 0.547286}, + {0.509930, 0.547286}, + {0.506923, 0.523694}, + {0.504897, 0.507823}, + {0.519572, 0.547286}, + {0.504897, 0.507823}, + {0.499471, 0.463856}, + {0.505093, 0.450845}, + {0.494046, 0.507823}, + {0.479404, 0.547286}, + {0.493850, 0.450845}, + {0.499471, 0.463856}, + {0.494046, 0.507823}, + {0.492020, 0.523694}, + {0.489013, 0.547286}, {0.479404, 0.547286}, {0.492052, 0.523694}, {0.489046, 0.547286}, {0.479404, 0.547286}, {0.494079, 0.507823}, - {0.492052, 0.523694}, - {0.492052, 0.523694}, - {0.494079, 0.507823}, - {0.506956, 0.523694}, - {0.506956, 0.523694}, - {0.504930, 0.507823}, - {0.519572, 0.547286}, - {0.506956, 0.523694}, - {0.494079, 0.507823}, - {0.504930, 0.507823}, - {0.499504, 0.463856}, - {0.498524, 0.472864}, - {0.493883, 0.450845}, - {0.501890, 0.484285}, - {0.500419, 0.472578}, - {0.505126, 0.450845}, - {0.504930, 0.507823}, - {0.501890, 0.484285}, - {0.519572, 0.547286}, - {0.498524, 0.472864}, - {0.494079, 0.507823}, - {0.493883, 0.450845}, - {0.132231, 0.821983}, - {0.144469, 0.835628}, - {0.132231, 0.835628}, - {0.132231, 0.821983}, - {0.144469, 0.801472}, - {0.144469, 0.821983}, - {0.147345, 0.812431}, - {0.147345, 0.824669}, - {0.129355, 0.812431}, - {0.129355, 0.812431}, - {0.147345, 0.824669}, - {0.129355, 0.824669}, - {0.132231, 0.813740}, - {0.144469, 0.823361}, - {0.132231, 0.823361}, - {0.147999, 0.812431}, - {0.147999, 0.824669}, - {0.138524, 0.812431}, - {0.138524, 0.812431}, - {0.147999, 0.824669}, - {0.138524, 0.824669}, - {0.138524, 0.812431}, - {0.128700, 0.824669}, - {0.128700, 0.812431}, - {0.144469, 0.827062}, - {0.132231, 0.827062}, - {0.144469, 0.818962}, - {0.144469, 0.818962}, - {0.132231, 0.827062}, - {0.132231, 0.818962}, - {0.144469, 0.818962}, - {0.132231, 0.810038}, - {0.144469, 0.810038}, - {0.147854, 0.812431}, - {0.147854, 0.824669}, - {0.134948, 0.812431}, - {0.134948, 0.812431}, - {0.147854, 0.824669}, - {0.134948, 0.824669}, - {0.134948, 0.812431}, - {0.128845, 0.824669}, - {0.128845, 0.812431}, - {0.144469, 0.829664}, - {0.132231, 0.807436}, - {0.144469, 0.807436}, - {0.163190, 0.812431}, - {0.163190, 0.824669}, - {0.138699, 0.812431}, - {0.138699, 0.812431}, - {0.163190, 0.824669}, - {0.138699, 0.824669}, - {0.138699, 0.812431}, - {0.113510, 0.824669}, - {0.113510, 0.812431}, - {0.132231, 0.801472}, - {0.144469, 0.801472}, - {0.132231, 0.821983}, - {0.144469, 0.821983}, - {0.144469, 0.835628}, - {0.132231, 0.821983}, - {0.144469, 0.813740}, - {0.144469, 0.823361}, - {0.132231, 0.813740}, - {0.138524, 0.824669}, - {0.128700, 0.824669}, - {0.138524, 0.812431}, - {0.132231, 0.818962}, - {0.132231, 0.810038}, - {0.144469, 0.818962}, - {0.134948, 0.824669}, - {0.128845, 0.824669}, - {0.134948, 0.812431}, - {0.132231, 0.829664}, - {0.132231, 0.807436}, - {0.144469, 0.829664}, - {0.138699, 0.824669}, - {0.113510, 0.824669}, - {0.138699, 0.812431}, - {0.859963, 0.813793}, - {0.848422, 0.815742}, - {0.855145, 0.791729}, - {0.856466, 0.831101}, - {0.848422, 0.815742}, - {0.859963, 0.813793}, - {0.846363, 0.839054}, - {0.840379, 0.830010}, - {0.846363, 0.826267}, - {0.846363, 0.839054}, - {0.846363, 0.826267}, - {0.856466, 0.831101}, - {0.854251, 0.847396}, - {0.838863, 0.847006}, - {0.846363, 0.839054}, - {0.856815, 0.862521}, - {0.845275, 0.859402}, - {0.854251, 0.847396}, - {0.856815, 0.862521}, - {0.838786, 0.871876}, - {0.845275, 0.859402}, - {0.852425, 0.882090}, - {0.838786, 0.871876}, - {0.856815, 0.862521}, - {0.839602, 0.888951}, - {0.830665, 0.871876}, - {0.838786, 0.871876}, - {0.839602, 0.888951}, - {0.838786, 0.871876}, - {0.852425, 0.882090}, - {0.819202, 0.888951}, - {0.830665, 0.830010}, - {0.830665, 0.847006}, - {0.819202, 0.888951}, - {0.830665, 0.871876}, - {0.839602, 0.888951}, - {0.819202, 0.783777}, - {0.830665, 0.830010}, - {0.819202, 0.888951}, - {0.841817, 0.783777}, - {0.830665, 0.800851}, - {0.819202, 0.783777}, - {0.855145, 0.791729}, - {0.848422, 0.815742}, - {0.840651, 0.800851}, - {0.855145, 0.791729}, - {0.840651, 0.800851}, - {0.841817, 0.783777}, - {0.840651, 0.800851}, - {0.830665, 0.800851}, - {0.841817, 0.783777}, - {0.830665, 0.800851}, - {0.830665, 0.830010}, - {0.819202, 0.783777}, - {0.830665, 0.830010}, - {0.838863, 0.847006}, - {0.830665, 0.847006}, - {0.840379, 0.830010}, - {0.838863, 0.847006}, - {0.830665, 0.830010}, - {0.846363, 0.826267}, - {0.848422, 0.815742}, - {0.856466, 0.831101}, - {0.845275, 0.859402}, - {0.838863, 0.847006}, - {0.854251, 0.847396}, - {0.838863, 0.847006}, - {0.840379, 0.830010}, - {0.846363, 0.839054}, - {0.830665, 0.847006}, - {0.830665, 0.871876}, - {0.819202, 0.888951}, - {0.859963, 0.858934}, - {0.840651, 0.871876}, - {0.848422, 0.856985}, - {0.859963, 0.858934}, - {0.846363, 0.846460}, - {0.856466, 0.841626}, - {0.856466, 0.841626}, - {0.846363, 0.846460}, - {0.846363, 0.833674}, - {0.846363, 0.833674}, - {0.838863, 0.825722}, - {0.854251, 0.825332}, - {0.854251, 0.825332}, - {0.845275, 0.813325}, - {0.856815, 0.810207}, - {0.854251, 0.825332}, - {0.838863, 0.825722}, - {0.845275, 0.813325}, - {0.856815, 0.810207}, - {0.845275, 0.813325}, - {0.852425, 0.790638}, - {0.852425, 0.790638}, - {0.845275, 0.813325}, - {0.838786, 0.800851}, - {0.852425, 0.790638}, - {0.838786, 0.800851}, - {0.839602, 0.783777}, - {0.839602, 0.783777}, - {0.838786, 0.800851}, - {0.819202, 0.783777}, - {0.819202, 0.783777}, - {0.830665, 0.825722}, - {0.819202, 0.888951}, - {0.819202, 0.783777}, - {0.830665, 0.800851}, - {0.830665, 0.825722}, - {0.819202, 0.783777}, - {0.838786, 0.800851}, - {0.830665, 0.800851}, - {0.819202, 0.888951}, - {0.840651, 0.871876}, - {0.841817, 0.888951}, - {0.819202, 0.888951}, - {0.830665, 0.842718}, - {0.830665, 0.871876}, - {0.819202, 0.888951}, - {0.830665, 0.825722}, - {0.830665, 0.842718}, - {0.841817, 0.888951}, - {0.840651, 0.871876}, - {0.855145, 0.880998}, - {0.855145, 0.880998}, - {0.840651, 0.871876}, - {0.859963, 0.858934}, - {0.848422, 0.856985}, - {0.846363, 0.846460}, - {0.859963, 0.858934}, - {0.830665, 0.871876}, - {0.840651, 0.871876}, - {0.819202, 0.888951}, - {0.830665, 0.842718}, - {0.830665, 0.825722}, - {0.840379, 0.842718}, - {0.840379, 0.842718}, - {0.838863, 0.825722}, - {0.846363, 0.846460}, - {0.840379, 0.842718}, - {0.830665, 0.825722}, - {0.838863, 0.825722}, - {0.846363, 0.846460}, - {0.838863, 0.825722}, - {0.846363, 0.833674}, - {0.123981, 0.239067}, - {0.137677, 0.239067}, - {0.123981, 0.259214}, - {0.137677, 0.239067}, - {0.150625, 0.160160}, - {0.150625, 0.239067}, - {0.137677, 0.239067}, - {0.164321, 0.259214}, - {0.123981, 0.259214}, - {0.137677, 0.160160}, - {0.150625, 0.160160}, - {0.137677, 0.239067}, - {0.123981, 0.160160}, - {0.123981, 0.140013}, - {0.137677, 0.160160}, - {0.123981, 0.140013}, - {0.150625, 0.160160}, - {0.137677, 0.160160}, - {0.164321, 0.140013}, - {0.150625, 0.160160}, - {0.123981, 0.140013}, - {0.164321, 0.160160}, - {0.150625, 0.160160}, - {0.164321, 0.140013}, - {0.150625, 0.239067}, - {0.164321, 0.259214}, - {0.137677, 0.239067}, - {0.164321, 0.239067}, - {0.164321, 0.259214}, - {0.150625, 0.239067}, - {0.123981, 0.140013}, - {0.137677, 0.160160}, - {0.123981, 0.160160}, - {0.123981, 0.140013}, - {0.150625, 0.160160}, - {0.137677, 0.160160}, - {0.137677, 0.160160}, - {0.150625, 0.160160}, - {0.137677, 0.239067}, - {0.137677, 0.239067}, - {0.123981, 0.259214}, - {0.123981, 0.239067}, - {0.137677, 0.239067}, - {0.164321, 0.259214}, - {0.123981, 0.259214}, - {0.137677, 0.239067}, - {0.150625, 0.160160}, - {0.150625, 0.239067}, - {0.164321, 0.259214}, - {0.150625, 0.239067}, - {0.164321, 0.239067}, - {0.150625, 0.239067}, - {0.164321, 0.259214}, - {0.137677, 0.239067}, - {0.150625, 0.160160}, - {0.164321, 0.140013}, - {0.164321, 0.160160}, - {0.164321, 0.140013}, - {0.150625, 0.160160}, - {0.123981, 0.140013}, - {0.828847, 0.215705}, - {0.819600, 0.215705}, - {0.828847, 0.173202}, - {0.828847, 0.173202}, - {0.819600, 0.215705}, - {0.819600, 0.173202}, - {0.828847, 0.202248}, - {0.819600, 0.202248}, - {0.828847, 0.186660}, - {0.828847, 0.186660}, - {0.819600, 0.202248}, - {0.819600, 0.186660}, - {0.482640, 0.547286}, - {0.489895, 0.485232}, - {0.489895, 0.547286}, - {0.482640, 0.450845}, - {0.489895, 0.485232}, - {0.482640, 0.547286}, - {0.493589, 0.450845}, - {0.489372, 0.463713}, - {0.482640, 0.450845}, - {0.498033, 0.486591}, - {0.495876, 0.521550}, - {0.491824, 0.488092}, - {0.498033, 0.486591}, - {0.489372, 0.463713}, - {0.493589, 0.450845}, - {0.499341, 0.503033}, - {0.495876, 0.521550}, - {0.498033, 0.486591}, - {0.500583, 0.486519}, - {0.509603, 0.463713}, - {0.507119, 0.488092}, - {0.500583, 0.486519}, - {0.503001, 0.521550}, - {0.499341, 0.503033}, - {0.504995, 0.450845}, - {0.509603, 0.463713}, - {0.500583, 0.486519}, - {0.516336, 0.450845}, - {0.509146, 0.485232}, - {0.509374, 0.470863}, - {0.516336, 0.450845}, - {0.509603, 0.463713}, - {0.504995, 0.450845}, - {0.516336, 0.547286}, - {0.509146, 0.485232}, - {0.516336, 0.450845}, - {0.509146, 0.547286}, - {0.509146, 0.485232}, - {0.516336, 0.547286}, - {0.509374, 0.470863}, - {0.509603, 0.463713}, - {0.516336, 0.450845}, - {0.507119, 0.488092}, - {0.503001, 0.521550}, - {0.500583, 0.486519}, - {0.503001, 0.521550}, - {0.495876, 0.521550}, - {0.499341, 0.503033}, - {0.491824, 0.488092}, - {0.489372, 0.463713}, - {0.498033, 0.486591}, - {0.489372, 0.463713}, - {0.489895, 0.485232}, - {0.482640, 0.450845}, - {0.509080, 0.547286}, - {0.509080, 0.485232}, - {0.516336, 0.547286}, - {0.516336, 0.547286}, - {0.509603, 0.463713}, - {0.516336, 0.450845}, - {0.516336, 0.450845}, - {0.509603, 0.463713}, - {0.505387, 0.450845}, - {0.505387, 0.450845}, - {0.507152, 0.488092}, - {0.500942, 0.486591}, - {0.500942, 0.486591}, - {0.507152, 0.488092}, - {0.499635, 0.503033}, - {0.499635, 0.503033}, - {0.491856, 0.488092}, - {0.498393, 0.486519}, - {0.499635, 0.503033}, - {0.503099, 0.521550}, - {0.495974, 0.521550}, - {0.499635, 0.503033}, - {0.507152, 0.488092}, - {0.503099, 0.521550}, - {0.498393, 0.486519}, - {0.491856, 0.488092}, - {0.493981, 0.450845}, - {0.493981, 0.450845}, - {0.489372, 0.463713}, - {0.482640, 0.450845}, - {0.493981, 0.450845}, - {0.491856, 0.488092}, - {0.489372, 0.463713}, - {0.482640, 0.450845}, - {0.489601, 0.470863}, - {0.482640, 0.547286}, - {0.482640, 0.450845}, - {0.489372, 0.463713}, - {0.489601, 0.470863}, - {0.482640, 0.547286}, - {0.489830, 0.485232}, - {0.489830, 0.547286}, - {0.482640, 0.547286}, - {0.489601, 0.470863}, - {0.489830, 0.485232}, - {0.495974, 0.521550}, - {0.491856, 0.488092}, - {0.499635, 0.503033}, - {0.509603, 0.463713}, - {0.507152, 0.488092}, - {0.505387, 0.450845}, - {0.509080, 0.485232}, - {0.509603, 0.463713}, - {0.516336, 0.547286}, - {0.495047, 0.476874}, - {0.503929, 0.476874}, - {0.495047, 0.485654}, - {0.495047, 0.485654}, - {0.503929, 0.476874}, - {0.503929, 0.485654}, - {0.495047, 0.485654}, - {0.503929, 0.497475}, - {0.495047, 0.497475}, - {0.495047, 0.497475}, - {0.503929, 0.497475}, - {0.495047, 0.521258}, - {0.495047, 0.521258}, - {0.503929, 0.497475}, - {0.503929, 0.521258}, - {0.503929, 0.485654}, - {0.503929, 0.497475}, - {0.495047, 0.485654}, }; -const vec3 mesh_logo_normal[] = { - {-0.577340, -0.577340, 0.577370}, - {0.577356, -0.577357, 0.577338}, - {0.577350, 0.577350, 0.577350}, - {0.248902, 0.143741, 0.957803}, - {0.541471, -0.407326, 0.735455}, - {0.543108, -0.470518, 0.695447}, - {0.670886, -0.329840, 0.664167}, - {0.763196, 0.042379, 0.644776}, - {0.548239, 0.556424, 0.624360}, - {-0.007863, 0.771728, 0.635905}, - {-0.550529, 0.551621, 0.626603}, - {-0.698178, -0.442028, 0.563169}, - {0.447300, -0.670588, 0.591806}, - {0.434198, -0.394564, 0.809809}, - {0.018563, -0.595790, 0.802926}, - {-0.413666, -0.398758, 0.818458}, - {-0.633472, -0.029671, 0.773196}, - {-0.616918, 0.252717, 0.745350}, - {-0.546571, 0.412008, 0.729047}, - {-0.534526, 0.469642, 0.702651}, - {-0.608031, 0.405391, 0.682610}, - {-0.732063, 0.177260, 0.657771}, - {-0.577349, -0.577333, -0.577369}, - {0.577359, -0.577359, -0.577333}, - {0.577353, 0.577337, -0.577360}, - {0.248913, 0.143745, -0.957799}, - {0.541460, -0.407322, -0.735465}, - {0.543102, -0.470513, -0.695456}, - {0.670881, -0.329840, -0.664172}, - {0.763182, 0.042374, -0.644793}, - {0.548257, 0.556443, -0.624329}, - {-0.007863, 0.771701, -0.635937}, - {-0.550551, 0.551640, -0.626568}, - {-0.698146, -0.442034, -0.563204}, - {0.447279, -0.670590, -0.591820}, - {0.434217, -0.394581, -0.809791}, - {0.018562, -0.595761, -0.802947}, - {-0.413686, -0.398778, -0.818437}, - {-0.633461, -0.029666, -0.773206}, - {-0.616921, 0.252720, -0.745346}, - {-0.546564, 0.412003, -0.729055}, - {-0.534523, 0.469640, -0.702655}, - {-0.608033, 0.405396, -0.682605}, - {-0.732063, 0.177264, -0.657770}, - {0.768934, -0.010361, 0.639244}, - {0.588856, 0.503603, 0.632164}, - {0.458720, 0.277707, 0.844071}, - {0.481196, -0.268090, 0.834613}, - {0.612028, -0.470627, 0.635556}, - {0.757846, -0.020215, 0.652120}, - {0.658588, 0.380136, 0.649429}, - {0.357924, 0.669420, 0.650974}, - {-0.047750, 0.758537, 0.649878}, - {-0.531302, 0.568944, 0.627711}, - {-0.711294, -0.421807, 0.562263}, - {0.421299, -0.685192, 0.594154}, - {0.406223, -0.419299, 0.811894}, - {-0.013879, -0.601991, 0.798382}, - {-0.424490, -0.403257, 0.810674}, - {-0.604495, 0.012740, 0.796507}, - {-0.389504, 0.424168, 0.817538}, - {-0.099933, 0.662638, 0.742243}, - {-0.577350, 0.577350, 0.577350}, - {-0.577358, -0.577360, 0.577334}, - {-0.091321, -0.667566, 0.738929}, - {-0.377684, -0.434848, 0.817473}, - {-0.601665, -0.025274, 0.798349}, - {-0.415998, 0.400916, 0.816218}, - {0.109490, 0.511296, 0.852401}, - {0.260565, 0.738952, 0.621334}, - {-0.713820, 0.416084, 0.563326}, - {-0.530168, -0.571514, 0.626333}, - {0.002913, -0.768289, 0.640097}, - {0.549238, -0.557296, 0.622703}, - {0.768959, -0.010367, -0.639214}, - {0.588857, 0.503605, -0.632162}, - {0.458714, 0.277707, -0.844074}, - {0.481201, -0.268091, -0.834610}, - {0.612024, -0.470623, -0.635563}, - {0.757851, -0.020214, -0.652114}, - {0.658586, 0.380140, -0.649429}, - {0.357919, 0.669416, -0.650981}, - {-0.047744, 0.758528, -0.649890}, - {-0.531321, 0.568964, -0.627676}, - {-0.711265, -0.421814, -0.562294}, - {0.421277, -0.685192, -0.594170}, - {0.406244, -0.419320, -0.811872}, - {-0.013878, -0.601962, -0.798404}, - {-0.424492, -0.403259, -0.810672}, - {-0.604473, 0.012739, -0.796524}, - {-0.389514, 0.424177, -0.817528}, - {-0.099926, 0.662617, -0.742262}, - {-0.577360, 0.577356, -0.577335}, - {-0.577350, -0.577350, -0.577350}, - {-0.091326, -0.667591, -0.738906}, - {-0.377674, -0.434839, -0.817483}, - {-0.601692, -0.025275, -0.798328}, - {-0.415978, 0.400895, -0.816239}, - {0.109478, 0.511311, -0.852394}, - {0.260576, 0.738957, -0.621324}, - {-0.713837, 0.416070, -0.563314}, - {-0.530149, -0.571494, -0.626368}, - {0.002913, -0.768319, -0.640060}, - {0.549218, -0.557275, -0.622739}, - {0.004704, 0.671615, -0.740885}, - {-0.351361, 0.643302, -0.680227}, - {-0.033376, 0.888945, -0.456796}, - {0.288316, 0.654249, -0.699165}, - {-0.015803, 0.673739, -0.738800}, - {-0.425728, 0.628764, -0.650701}, - {-0.729447, 0.647179, -0.221509}, - {-0.577365, 0.577320, 0.577366}, - {0.577361, 0.577319, 0.577371}, - {0.727187, 0.642599, -0.241382}, - {0.405696, 0.632642, -0.659678}, - {-0.075890, 0.773720, 0.628966}, - {-0.431113, 0.855363, 0.287220}, - {-0.301526, 0.904530, -0.301510}, - {0.301518, 0.904533, -0.301508}, - {0.581756, 0.788276, 0.200452}, - {0.304067, 0.799804, 0.517549}, - {0.000608, 0.804324, 0.594191}, - {-0.430107, 0.855768, 0.287523}, - {-0.301511, 0.904534, -0.301512}, - {0.301513, 0.904538, -0.301499}, - {0.430758, 0.855508, 0.287321}, - {0.004704, -0.671659, -0.740846}, - {-0.351363, -0.643280, -0.680246}, - {-0.033379, -0.888943, -0.456799}, - {0.288318, -0.654255, -0.699159}, - {-0.015804, -0.673709, -0.738828}, - {-0.425727, -0.628775, -0.650690}, - {-0.729444, -0.647184, -0.221505}, - {-0.577340, -0.577333, 0.577378}, - {0.577341, -0.577338, 0.577371}, - {0.727183, -0.642609, -0.241370}, - {0.405701, -0.632622, -0.659694}, - {-0.075895, -0.773716, 0.628970}, - {-0.431116, -0.855368, 0.287202}, - {-0.301510, -0.904538, -0.301500}, - {0.301525, -0.904530, -0.301510}, - {0.581752, -0.788279, 0.200451}, - {0.304081, -0.799791, 0.517562}, - {0.000608, -0.804338, 0.594172}, - {-0.430100, -0.855767, 0.287536}, - {-0.301533, -0.904529, -0.301503}, - {0.301525, -0.904531, -0.301508}, - {0.430734, -0.855519, 0.287323}, - {-0.577359, 0.577332, 0.577359}, - {0.577360, 0.577360, 0.577330}, - {0.301527, 0.904528, 0.301514}, - {-0.301511, 0.904534, 0.301511}, - {-0.577371, 0.577340, 0.577340}, - {0.577346, 0.577359, 0.577346}, - {0.577359, 0.577332, -0.577359}, - {-0.577360, 0.577360, -0.577330}, - {-0.301527, 0.904528, -0.301514}, - {0.301511, 0.904534, -0.301511}, - {0.577371, 0.577340, -0.577340}, - {-0.577346, 0.577359, -0.577345}, - {-0.577346, -0.577359, 0.577345}, - {0.577371, -0.577340, 0.577340}, - {0.301511, -0.904534, 0.301511}, - {-0.301527, -0.904528, 0.301514}, - {-0.577360, -0.577360, 0.577330}, - {0.577359, -0.577332, 0.577359}, - {0.577346, -0.577359, -0.577346}, - {-0.577371, -0.577340, -0.577340}, - {-0.301511, -0.904534, -0.301511}, - {0.301527, -0.904528, -0.301514}, - {0.577360, -0.577360, -0.577330}, - {-0.577359, -0.577332, -0.577359}, - {0.301511, 0.904533, -0.301515}, - {0.577369, 0.577356, -0.577326}, - {-0.577354, 0.577343, -0.577354}, - {-0.577345, 0.577366, 0.577339}, - {0.577350, 0.577350, 0.577350}, - {0.301517, 0.904532, 0.301511}, - {0.577366, 0.577342, 0.577343}, - {0.577350, 0.577350, -0.577350}, - {0.301517, -0.904532, -0.301511}, +const vec3 mesh_jam_normal[] = { + {0.576985, -0.575508, 0.579550}, {0.577350, -0.577350, -0.577350}, - {-0.577345, -0.577366, -0.577339}, - {-0.577354, -0.577343, 0.577354}, - {0.577369, -0.577356, 0.577326}, - {0.301511, -0.904533, 0.301515}, + {0.577347, 0.577352, -0.577352}, + {0.584064, 0.608067, 0.537702}, + {0.998014, 0.062986, -0.000065}, + {0.583947, 0.607573, -0.538387}, + {0.577347, 0.577352, 0.577352}, {0.577350, -0.577350, 0.577350}, - {0.577366, -0.577342, -0.577343}, - {0.577350, -0.577350, 0.577350}, - {0.577343, -0.577367, -0.577341}, - {0.577314, 0.577378, -0.577359}, - {0.584957, 0.611741, 0.532540}, - {0.701575, 0.080673, 0.708014}, - {0.999019, 0.044276, -0.000106}, - {0.701126, 0.078771, -0.708673}, - {0.584916, 0.611568, -0.532784}, - {0.577309, 0.577379, 0.577363}, - {0.577351, -0.577350, 0.577350}, - {0.577342, -0.577367, -0.577342}, - {0.705102, 0.006314, -0.709078}, - {0.705090, 0.018997, -0.708864}, - {0.999807, -0.019605, -0.001485}, - {0.704490, -0.088589, 0.704163}, - {0.584879, -0.611424, 0.532989}, - {0.584749, -0.610932, -0.533695}, - {0.704564, -0.087303, -0.704250}, - {0.999769, -0.021432, 0.001506}, - {0.704066, 0.009649, 0.710069}, - {-0.577343, -0.577369, 0.577339}, - {-0.577348, -0.577348, -0.577354}, + {0.577031, -0.575739, -0.579276}, + {0.999526, -0.030710, -0.002047}, + {0.584314, -0.609094, 0.536267}, + {0.584208, -0.608650, -0.536885}, + {0.999548, -0.030002, 0.001985}, + {-0.576985, -0.575508, 0.579550}, + {-0.577350, -0.577350, -0.577350}, {-0.577347, 0.577352, -0.577352}, - {-0.584940, 0.611770, 0.532525}, - {-0.701577, 0.080673, 0.708012}, - {-0.999019, 0.044278, -0.000106}, - {-0.701129, 0.078771, -0.708670}, - {-0.584898, 0.611597, -0.532770}, - {-0.577329, 0.577361, 0.577361}, - {-0.577340, -0.577365, 0.577346}, - {-0.577352, -0.577352, -0.577347}, - {-0.705109, 0.006314, -0.709071}, - {-0.705075, 0.018998, -0.708878}, - {-0.999807, -0.019606, -0.001466}, - {-0.704492, -0.088589, 0.704161}, - {-0.584870, -0.611427, 0.532995}, - {-0.584756, -0.610907, -0.533716}, - {-0.704567, -0.087303, -0.704247}, - {-0.999769, -0.021433, 0.001484}, - {-0.704062, 0.009649, 0.710073}, - {0.597794, -0.801550, -0.012661}, - {0.632037, -0.412243, -0.656190}, - {0.687527, -0.064900, -0.723253}, - {0.577342, 0.577344, -0.577365}, - {0.577350, 0.577350, 0.577350}, - {0.577354, -0.577365, 0.577332}, - {0.904534, -0.301512, 0.301512}, - {0.721941, 0.044735, 0.690507}, - {0.787644, 0.272835, 0.552429}, - {0.907076, 0.420928, -0.005717}, - {0.776738, 0.287367, -0.560445}, - {0.572503, 0.698382, -0.429539}, - {0.579693, 0.409200, 0.704635}, - {0.634272, -0.440255, 0.635512}, - {-0.597784, -0.801557, -0.012657}, - {-0.632052, -0.412228, -0.656184}, - {-0.687548, -0.064897, -0.723233}, - {-0.577354, 0.577348, -0.577348}, - {-0.577364, 0.577332, 0.577354}, + {-0.584064, 0.608067, 0.537702}, + {-0.998014, 0.062986, -0.000065}, + {-0.583947, 0.607573, -0.538387}, + {-0.577347, 0.577352, 0.577352}, {-0.577350, -0.577350, 0.577350}, - {-0.904527, -0.301533, 0.301510}, + {-0.577031, -0.575739, -0.579276}, + {-0.999526, -0.030710, -0.002047}, + {-0.584314, -0.609094, 0.536267}, + {-0.584208, -0.608650, -0.536885}, + {-0.999548, -0.030002, 0.001985}, + {0.597794, -0.801549, -0.012661}, + {0.632052, -0.412228, -0.656185}, + {0.687527, -0.064900, -0.723253}, + {0.577354, 0.577349, -0.577348}, + {0.577350, 0.577350, 0.577350}, + {0.577350, -0.577350, 0.577350}, + {0.904534, -0.301512, 0.301512}, + {0.721954, 0.044733, 0.690494}, + {0.787644, 0.272835, 0.552429}, + {0.907070, 0.420941, -0.005719}, + {0.776738, 0.287367, -0.560445}, + {0.572548, 0.698352, -0.429528}, + {0.579693, 0.409200, 0.704636}, + {0.634290, -0.440238, 0.635506}, + {-0.597794, -0.801549, -0.012661}, + {-0.632052, -0.412228, -0.656184}, + {-0.687527, -0.064900, -0.723253}, + {-0.577354, 0.577348, -0.577348}, + {-0.577350, 0.577350, 0.577350}, + {-0.577350, -0.577350, 0.577350}, + {-0.904534, -0.301512, 0.301512}, {-0.721954, 0.044733, 0.690494}, - {-0.787648, 0.272828, 0.552426}, - {-0.907070, 0.420941, -0.005719}, - {-0.776744, 0.287359, -0.560440}, + {-0.787644, 0.272835, 0.552429}, + {-0.907070, 0.420940, -0.005719}, + {-0.776738, 0.287367, -0.560445}, {-0.572548, 0.698352, -0.429528}, - {-0.579716, 0.409225, 0.704602}, - {-0.634289, -0.440238, 0.635506}, - {0.569094, -0.531226, -0.627639}, - {0.586537, 0.618219, -0.523240}, - {0.586583, 0.618283, 0.523112}, - {0.569061, -0.531142, 0.627741}, - {0.585158, -0.612537, -0.531403}, - {0.887524, -0.348047, -0.301935}, - {0.887517, -0.348051, 0.301950}, - {0.585157, -0.612560, 0.531377}, - {0.998102, -0.061577, 0.000133}, - {0.704534, -0.090747, 0.703845}, - {0.706675, -0.099806, 0.700463}, - {0.920823, 0.255303, 0.294798}, - {0.920582, 0.255981, -0.294963}, - {0.704841, -0.092814, -0.703268}, - {-0.569079, -0.531249, -0.627633}, - {-0.586551, 0.618204, -0.523241}, - {-0.586562, 0.618302, 0.523114}, - {-0.569077, -0.531118, 0.627746}, - {-0.585157, -0.612560, -0.531377}, - {-0.887517, -0.348050, -0.301950}, - {-0.887524, -0.348047, 0.301935}, + {-0.579693, 0.409200, 0.704636}, + {-0.634290, -0.440238, 0.635506}, + {0.569095, -0.531225, -0.627639}, + {0.586583, 0.618187, -0.523226}, + {0.586605, 0.618271, 0.523102}, + {0.569078, -0.531118, 0.627746}, + {0.585158, -0.612536, -0.531404}, + {0.887493, -0.348086, -0.301980}, + {0.887493, -0.348085, 0.301980}, + {0.585158, -0.612536, 0.531404}, + {0.997454, -0.071306, -0.000000}, + {0.920130, 0.257285, 0.295238}, + {0.920130, 0.257285, -0.295238}, + {-0.569095, -0.531226, -0.627639}, + {-0.586583, 0.618187, -0.523226}, + {-0.586605, 0.618271, 0.523102}, + {-0.569078, -0.531118, 0.627746}, + {-0.585158, -0.612536, -0.531404}, + {-0.887493, -0.348086, -0.301980}, + {-0.887493, -0.348086, 0.301980}, {-0.585158, -0.612536, 0.531404}, - {-0.998102, -0.061581, 0.000133}, - {-0.704551, -0.090745, 0.703827}, - {-0.706669, -0.099807, 0.700469}, - {-0.920821, 0.255290, 0.294815}, - {-0.920584, 0.255993, -0.294946}, - {-0.704850, -0.092813, -0.703259}, + {-0.997454, -0.071306, -0.000000}, + {-0.920130, 0.257285, 0.295238}, + {-0.920130, 0.257285, -0.295238}, }; -const vec3 mesh_logo_polygon_normal[] = { - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {-0.070757, -0.997494, 0.000000}, - {-0.070757, -0.997494, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {-0.088945, -0.996037, 0.000000}, - {-0.088945, -0.996037, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {-0.268568, -0.963261, 0.000000}, - {-0.268568, -0.963261, 0.000000}, - {-0.916167, -0.400796, 0.000000}, - {-0.946553, 0.322549, 0.000000}, - {-0.946553, 0.322549, 0.000000}, - {-0.357270, 0.934001, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {-0.916167, -0.400796, 0.000000}, - {-0.357270, 0.934001, 0.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {-1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {0.000000, 0.000000, 1.000000}, - {1.000000, 0.000000, 0.000000}, - {0.000000, 0.000000, 1.000000}, - {1.000000, 0.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, +const vec3 mesh_jam_polygon_normal[] = { {0.000000, 1.000000, 0.000000}, {0.000000, 1.000000, 0.000000}, {0.000000, -1.000000, 0.000000}, - {0.000000, 0.689592, -0.724198}, + {0.000000, -1.000000, 0.000000}, + {0.000000, 1.000000, 0.000000}, + {0.000000, -1.000000, 0.000000}, + {0.000000, -0.235027, 0.971989}, {0.000000, 0.185579, -0.982629}, - {0.000000, 0.185578, -0.982629}, - {0.000000, -0.235027, 0.971989}, - {0.000000, -0.827378, 0.561645}, - {0.000000, -0.235027, 0.971989}, - {0.000000, 1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, 0.689593, -0.724197}, - {0.000000, -0.827377, 0.561646}, + {0.000000, -0.827378, 0.561646}, {0.000000, 1.000000, 0.000000}, {0.000000, -1.000000, 0.000000}, {0.000000, -1.000000, 0.000000}, {0.000000, -1.000000, 0.000000}, - {0.000000, -0.140805, -0.990037}, - {0.000000, -0.120863, -0.992669}, - {0.000000, -0.140806, -0.990037}, - {0.000000, 1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -0.120863, -0.992669}, - {1.000000, 0.000000, 0.000000}, - {0.866172, -0.499746, 0.000000}, - {0.866172, -0.499745, 0.000000}, - {0.720276, -0.693687, 0.000000}, - {0.789245, -0.614078, 0.000000}, - {0.789245, -0.614078, 0.000000}, - {0.968247, -0.249996, 0.000000}, - {0.934616, 0.355659, 0.000000}, - {0.934616, 0.355658, 0.000000}, - {0.341768, 0.939784, 0.000000}, - {-0.360845, 0.932626, 0.000000}, - {-0.360845, 0.932626, 0.000000}, - {-0.931910, 0.362689, 0.000000}, - {0.948121, -0.317909, 0.000000}, - {0.406936, -0.913456, 0.000000}, - {0.406936, -0.913456, 0.000000}, - {-0.349282, -0.937018, 0.000000}, - {-0.949201, -0.314671, 0.000000}, - {-0.949201, -0.314671, 0.000000}, - {-0.974456, 0.224580, 0.000000}, - {-0.851963, 0.523602, 0.000000}, - {-0.851964, 0.523600, 0.000000}, - {-0.737933, 0.674874, 0.000000}, - {-0.764228, 0.644946, 0.000000}, - {-0.764227, 0.644947, 0.000000}, - {-0.889229, 0.457463, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-0.889229, 0.457463, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {0.720277, -0.693687, 0.000000}, - {0.968247, -0.249996, 0.000000}, - {0.341768, 0.939784, 0.000000}, - {-0.931911, 0.362688, 0.000000}, - {0.948121, -0.317909, 0.000000}, - {-0.349281, -0.937018, 0.000000}, - {-0.974455, 0.224582, 0.000000}, - {-0.737933, 0.674874, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-0.000001, 0.000000, 1.000000}, - {-0.000001, 0.000000, 1.000000}, - {0.000001, 0.000000, 1.000000}, + {0.000000, 0.000000, -1.000000}, + {0.000000, -0.126657, 0.991947}, {0.000000, 0.000000, 1.000000}, - {-0.000001, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {-0.000001, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000001, 0.000000, 1.000000}, - {0.000001, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {-0.000002, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000001, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {-0.000001, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000002, 0.000000, 1.000000}, - {0.000001, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000001, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {-0.000001, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {-0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {-0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000001, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000001, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000001, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {-0.000001, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.603168, 0.000000, -0.797614}, - {0.134376, 0.000000, -0.990930}, - {0.134376, 0.000000, -0.990931}, - {-0.176627, 0.000000, -0.984278}, - {-0.831148, 0.000000, -0.556051}, - {-0.831149, 0.000000, -0.556050}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-0.382229, 0.000000, 0.924068}, - {-0.382229, 0.000000, 0.924067}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.384119, 0.000000, 0.923283}, - {0.603168, 0.000000, -0.797614}, - {-0.176627, 0.000000, -0.984278}, - {-1.000000, 0.000000, 0.000000}, - {0.384119, 0.000000, 0.923284}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {0.000000, 0.000000, 1.000000}, - {-1.000000, 0.000000, 0.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.137768, 0.990465}, - {0.000000, 0.137768, 0.990465}, - {0.000000, 0.088585, 0.996069}, - {0.000000, 0.000000, 1.000000}, - {0.000000, -0.113239, 0.993568}, - {0.000000, -0.136391, 0.990655}, - {0.000000, -0.136391, 0.990655}, - {0.000000, 0.027173, 0.999631}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.027173, 0.999631}, - {0.000000, 0.088585, 0.996069}, - {0.000000, 0.000000, 1.000000}, - {0.000000, -0.113239, 0.993568}, - {0.000000, 0.000000, 1.000000}, - {0.000000, -0.809226, -0.587497}, + {0.000000, 0.006999, 0.999976}, {0.000000, -0.809226, -0.587497}, {0.000000, -0.178034, -0.984024}, {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, + {0.000000, 0.960696, 0.277602}, {0.000000, 0.000000, 1.000000}, {0.000000, 0.000000, 1.000000}, {0.000000, 0.129026, 0.991641}, {0.000000, 0.709012, 0.705196}, - {0.000000, 0.709012, 0.705196}, - {0.000000, 0.960696, 0.277602}, - {0.000000, -0.178034, -0.984024}, - {0.000000, 0.129026, 0.991641}, - {0.000000, 0.960696, 0.277602}, {0.000000, 0.165249, -0.986252}, - {0.000000, 0.165248, -0.986252}, - {0.000000, 0.165612, 0.986191}, - {0.000000, 0.165612, 0.986191}, - {0.000000, -0.141138, -0.989990}, {0.000000, -0.141138, -0.989990}, + {0.000000, 0.165612, 0.986191}, + {0.000000, 1.000000, 0.000000}, {0.000000, -0.141138, 0.989990}, - {0.000000, -0.141138, 0.989990}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, 1.000000}, - {-0.000000, 0.000000, 1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {-0.000000, 0.000000, -1.000000}, - {-0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {-0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000001, 0.000000, -1.000000}, - {-0.000001, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000001, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000001, 0.000000, -1.000000}, - {0.526255, -0.850327, 0.000000}, - {0.526255, -0.850327, 0.000000}, - {0.956963, -0.290211, 0.000000}, - {0.971073, 0.238781, 0.000000}, - {0.971074, 0.238781, 0.000000}, - {0.692488, 0.721430, 0.000000}, - {0.692488, 0.721429, 0.000000}, - {0.215368, 0.976533, 0.000000}, - {-0.336129, 0.941816, 0.000000}, - {-0.336129, 0.941816, 0.000000}, - {-0.916642, 0.399710, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {0.708418, 0.705793, 0.000000}, - {0.708419, 0.705793, 0.000000}, - {-0.109019, 0.994040, 0.000000}, - {-0.109019, 0.994040, 0.000000}, - {0.956963, -0.290211, 0.000000}, - {0.215369, 0.976533, 0.000000}, - {-0.916642, 0.399710, 0.000000}, - {-0.159525, 0.000000, -0.987194}, - {-0.159524, 0.000000, -0.987194}, - {-0.712707, 0.000000, -0.701462}, - {-0.712707, 0.000000, -0.701462}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {0.801514, 0.000000, -0.597976}, - {0.172046, 0.000000, -0.985089}, - {0.801514, 0.000000, -0.597976}, - {-0.385175, 0.000000, 0.922844}, - {0.154604, 0.000000, 0.987976}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {0.787750, 0.000000, 0.615995}, - {0.154604, 0.000000, 0.987976}, - {0.172046, 0.000000, -0.985089}, - {-0.385174, 0.000000, 0.922844}, - {0.787750, 0.000000, 0.615995}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, 0.083825, -0.996480}, - {0.000000, 0.083825, -0.996481}, - {0.000000, 0.137043, -0.990565}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.000000, -1.000000}, - {0.000000, 0.017807, -0.999841}, - {0.000000, 0.035771, -0.999360}, - {0.000000, 0.035771, -0.999360}, - {0.000000, -0.134266, -0.990945}, - {0.000000, -0.111767, -0.993734}, - {0.000000, -0.111767, -0.993734}, - {0.000000, 0.137043, -0.990565}, - {0.000000, 0.017807, -0.999842}, - {0.000000, -0.134266, -0.990945}, - {1.000000, 0.000001, 0.000000}, - {1.000000, 0.000001, 0.000000}, + {0.000000, 0.122364, 0.992485}, + {0.000000, -0.124806, -0.992181}, + {0.000000, 0.120308, -0.992737}, + {1.000000, -0.000000, 0.000000}, + {1.000000, 0.000000, 0.000000}, + {1.000000, -0.000000, 0.000000}, {1.000000, -0.000000, 0.000000}, - {1.000000, 0.000001, 0.000000}, {1.000000, 0.000000, 0.000000}, {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {-1.000000, -0.000001, 0.000000}, {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000001, 0.000000}, {-1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {1.000000, 0.000000, 0.000000}, {-1.000000, -0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000001, 0.000000}, {-1.000000, -0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {1.000000, -0.000001, 0.000000}, + {0.000000, -0.136733, -0.990608}, {1.000000, 0.000000, 0.000000}, - {1.000000, -0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, -0.000001, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, -0.000001, 0.000000}, - {1.000000, 0.000001, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, -0.000001, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, {-1.000000, 0.000000, 0.000000}, {-1.000000, -0.000001, 0.000000}, + {0.000000, -0.136733, 0.990608}, {-1.000000, 0.000000, 0.000000}, {-1.000000, 0.000000, 0.000000}, - {-1.000000, -0.000001, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, -0.000001, 0.000000}, - {-1.000000, -0.000001, 0.000000}, - {-1.000000, 0.000001, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {0.947244, 0.320513, 0.000000}, - {0.938259, -0.345933, 0.000000}, - {0.463579, 0.886055, 0.000000}, - {0.463579, 0.886056, 0.000000}, - {0.928951, -0.370204, 0.000000}, - {0.340599, -0.940209, 0.000000}, - {0.340598, -0.940209, 0.000000}, - {-0.383565, -0.923514, 0.000000}, - {-0.941964, -0.335714, 0.000000}, - {-0.941964, -0.335715, 0.000000}, - {-0.926983, 0.375103, 0.000000}, - {-0.294905, 0.955527, 0.000000}, - {-0.294905, 0.955527, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {-0.918664, -0.395040, 0.000000}, - {-0.325071, -0.945690, 0.000000}, - {-0.325071, -0.945690, 0.000000}, - {0.332233, -0.943197, 0.000000}, - {0.938259, -0.345933, 0.000000}, - {0.947244, 0.320513, 0.000000}, - {0.928951, -0.370204, 0.000000}, - {-0.383565, -0.923514, 0.000000}, - {-0.926983, 0.375103, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {-0.918664, -0.395040, 0.000000}, - {0.332233, -0.943197, 0.000000}, - {0.000000, 1.000000, -0.000001}, - {0.000000, 1.000000, -0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, -0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, -0.000001}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, -0.000001}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000001}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, -0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000001}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, -0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, -0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, -0.000001}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, -0.000001}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, -0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, 1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {0.000000, -1.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, {1.000000, 0.000000, 0.000000}, {1.000000, 0.000000, 0.000000}, {1.000000, 0.000000, 0.000000}, {1.000000, -0.000000, 0.000000}, {1.000000, 0.000000, 0.000000}, + {1.000000, -0.000000, 0.000000}, + {0.000000, 0.006124, -0.999981}, {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {0.000000, 0.689592, -0.724198}, + {0.000000, -1.000000, 0.000000}, + {-1.000000, 0.000000, 0.000000}, + {1.000000, -0.000000, 0.000000}, {1.000000, 0.000000, 0.000000}, {1.000000, -0.000000, 0.000000}, {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, -0.000002, 0.000000}, - {1.000000, -0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, - {1.000000, 0.000000, 0.000000}, {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, -0.000002, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {-1.000000, 0.000000, 0.000000}, - {0.000000, -0.116566, 0.993183}, - {0.000000, -0.116566, 0.993183}, - {0.000000, -0.139162, 0.990270}, - {0.000000, -0.142959, 0.989729}, - {0.000000, -0.142960, 0.989729}, - {0.000000, -0.139163, 0.990270}, }; -const polygon mesh_logo_polygons[] = { - {0, 22, 1, -1, 0, 0}, - {1, 22, 23, -1, 0, 3}, - {2, 24, 3, -1, 0, 6}, - {3, 24, 25, -1, 0, 9}, - {11, 33, 12, -1, 0, 12}, - {12, 33, 34, -1, 0, 15}, - {46, 77, 47, -1, 0, 18}, - {54, 84, 55, -1, 0, 21}, - {55, 84, 85, -1, 0, 24}, - {63, 94, 64, -1, 0, 27}, - {64, 94, 65, -1, 0, 30}, - {65, 94, 95, -1, 0, 33}, - {65, 96, 66, -1, 0, 36}, - {66, 96, 67, -1, 0, 39}, - {67, 96, 97, -1, 0, 42}, - {67, 98, 68, -1, 0, 45}, - {76, 77, 46, -1, 0, 48}, - {93, 94, 63, -1, 0, 51}, - {95, 96, 65, -1, 0, 54}, - {97, 98, 67, -1, 0, 57}, - {111, 133, 112, -1, 0, 60}, - {112, 133, 134, -1, 0, 63}, - {117, 139, 118, -1, 0, 66}, - {118, 139, 140, -1, 0, 69}, - {122, 145, 123, -1, 0, 72}, - {124, 146, 125, -1, 0, 75}, - {125, 146, 147, -1, 0, 78}, - {144, 145, 122, -1, 0, 81}, - {148, 160, 149, -1, 0, 84}, - {149, 160, 161, -1, 0, 87}, - {151, 163, 152, -1, 0, 90}, - {152, 163, 164, -1, 0, 93}, - {154, 166, 155, -1, 0, 96}, - {155, 166, 167, -1, 0, 99}, - {156, 169, 157, -1, 0, 102}, - {158, 170, 159, -1, 0, 105}, - {159, 170, 171, -1, 0, 108}, - {168, 169, 156, -1, 0, 111}, - {172, 180, 173, -1, 0, 114}, - {173, 180, 181, -1, 0, 117}, - {175, 184, 176, -1, 0, 120}, - {178, 187, 179, -1, 0, 123}, - {183, 184, 175, -1, 0, 126}, - {186, 187, 178, -1, 0, 129}, - {188, 208, 189, -1, 0, 132}, - {189, 208, 209, -1, 0, 135}, - {190, 211, 191, -1, 0, 138}, - {195, 215, 196, -1, 0, 141}, - {196, 215, 216, -1, 0, 144}, - {197, 217, 198, -1, 0, 147}, - {198, 217, 218, -1, 0, 150}, - {203, 223, 204, -1, 0, 153}, - {204, 223, 224, -1, 0, 156}, - {210, 211, 190, -1, 0, 159}, - {231, 246, 232, -1, 0, 162}, - {233, 248, 234, -1, 0, 165}, - {237, 252, 238, -1, 0, 168}, - {238, 252, 239, -1, 0, 171}, - {239, 252, 253, -1, 0, 174}, - {240, 254, 241, -1, 0, 177}, - {241, 242, 228, -1, 0, 180}, - {241, 254, 255, -1, 0, 183}, - {245, 246, 231, -1, 0, 186}, - {247, 248, 233, -1, 0, 189}, - {251, 252, 237, -1, 0, 192}, - {255, 242, 241, -1, 0, 195}, - {257, 272, 258, -1, 0, 198}, - {259, 274, 260, -1, 0, 201}, - {261, 276, 262, -1, 0, 204}, - {263, 270, 256, -1, 0, 207}, - {268, 282, 269, -1, 0, 210}, - {269, 278, 264, -1, 0, 213}, - {269, 282, 283, -1, 0, 216}, - {271, 272, 257, -1, 0, 219}, - {273, 274, 259, -1, 0, 222}, - {275, 276, 261, -1, 0, 225}, - {277, 270, 263, -1, 0, 228}, - {283, 278, 269, -1, 0, 231}, - {1, 24, 2, -1, 0, 234}, - {3, 25, 4, -1, 0, 237}, - {4, 25, 26, -1, 0, 240}, - {4, 27, 5, -1, 0, 243}, - {5, 27, 6, -1, 0, 246}, - {6, 27, 28, -1, 0, 249}, - {6, 29, 7, -1, 0, 252}, - {7, 29, 8, -1, 0, 255}, - {8, 29, 30, -1, 0, 258}, - {8, 31, 9, -1, 0, 261}, - {9, 31, 10, -1, 0, 264}, - {10, 31, 32, -1, 0, 267}, - {10, 33, 11, -1, 0, 270}, - {12, 35, 13, -1, 0, 273}, - {13, 35, 14, -1, 0, 276}, - {14, 35, 36, -1, 0, 279}, - {14, 37, 15, -1, 0, 282}, - {15, 37, 16, -1, 0, 285}, - {16, 37, 38, -1, 0, 288}, - {16, 39, 17, -1, 0, 291}, - {17, 39, 18, -1, 0, 294}, - {18, 39, 40, -1, 0, 297}, - {18, 41, 19, -1, 0, 300}, - {19, 41, 20, -1, 0, 303}, - {20, 41, 42, -1, 0, 306}, - {20, 42, 21, -1, 0, 309}, - {21, 22, 0, -1, 0, 312}, - {21, 42, 43, -1, 0, 315}, - {23, 24, 1, -1, 0, 318}, - {26, 27, 4, -1, 0, 321}, - {28, 29, 6, -1, 0, 324}, - {30, 31, 8, -1, 0, 327}, - {32, 33, 10, -1, 0, 330}, - {34, 35, 12, -1, 0, 333}, - {36, 37, 14, -1, 0, 336}, - {38, 39, 16, -1, 0, 339}, - {40, 41, 18, -1, 0, 342}, - {43, 22, 21, -1, 0, 345}, - {44, 65, 66, -1, 0, 348}, - {44, 67, 73, -1, 0, 351}, - {45, 65, 44, -1, 0, 354}, - {46, 61, 64, -1, 0, 357}, - {46, 65, 45, -1, 0, 360}, - {47, 61, 46, -1, 0, 363}, - {48, 59, 60, -1, 0, 366}, - {48, 61, 47, -1, 0, 369}, - {49, 59, 48, -1, 0, 372}, - {50, 59, 49, -1, 0, 375}, - {51, 57, 58, -1, 0, 378}, - {51, 58, 50, -1, 0, 381}, - {52, 57, 51, -1, 0, 384}, - {53, 55, 56, -1, 0, 387}, - {53, 57, 52, -1, 0, 390}, - {54, 55, 53, -1, 0, 393}, - {56, 57, 53, -1, 0, 396}, - {58, 59, 50, -1, 0, 399}, - {60, 61, 48, -1, 0, 402}, - {61, 63, 64, -1, 0, 405}, - {62, 63, 61, -1, 0, 408}, - {64, 65, 46, -1, 0, 411}, - {66, 67, 44, -1, 0, 414}, - {67, 72, 73, -1, 0, 417}, - {68, 72, 67, -1, 0, 420}, - {69, 72, 68, -1, 0, 423}, - {70, 71, 69, -1, 0, 426}, - {71, 72, 69, -1, 0, 429}, - {74, 96, 75, -1, 0, 432}, - {74, 103, 96, -1, 0, 435}, - {75, 94, 76, -1, 0, 438}, - {75, 96, 95, -1, 0, 441}, - {76, 91, 77, -1, 0, 444}, - {77, 90, 78, -1, 0, 447}, - {78, 90, 79, -1, 0, 450}, - {79, 88, 80, -1, 0, 453}, - {79, 90, 89, -1, 0, 456}, - {80, 88, 81, -1, 0, 459}, - {81, 88, 82, -1, 0, 462}, - {82, 86, 83, -1, 0, 465}, - {82, 88, 87, -1, 0, 468}, - {83, 86, 84, -1, 0, 471}, - {84, 86, 85, -1, 0, 474}, - {87, 86, 82, -1, 0, 477}, - {89, 88, 79, -1, 0, 480}, - {91, 90, 77, -1, 0, 483}, - {91, 94, 92, -1, 0, 486}, - {92, 94, 93, -1, 0, 489}, - {94, 91, 76, -1, 0, 492}, - {95, 94, 75, -1, 0, 495}, - {96, 103, 97, -1, 0, 498}, - {97, 103, 98, -1, 0, 501}, - {98, 101, 99, -1, 0, 504}, - {98, 103, 102, -1, 0, 507}, - {99, 101, 100, -1, 0, 510}, - {102, 101, 98, -1, 0, 513}, - {106, 129, 107, -1, 0, 516}, - {107, 129, 108, -1, 0, 519}, - {108, 129, 130, -1, 0, 522}, - {108, 131, 109, -1, 0, 525}, - {109, 131, 110, -1, 0, 528}, - {110, 131, 132, -1, 0, 531}, - {110, 133, 111, -1, 0, 534}, - {116, 138, 117, -1, 0, 537}, - {117, 138, 139, -1, 0, 540}, - {121, 143, 122, -1, 0, 543}, - {122, 143, 144, -1, 0, 546}, - {123, 145, 124, -1, 0, 549}, - {124, 145, 146, -1, 0, 552}, - {125, 143, 121, -1, 0, 555}, - {128, 129, 106, -1, 0, 558}, - {130, 131, 108, -1, 0, 561}, - {132, 133, 110, -1, 0, 564}, - {147, 143, 125, -1, 0, 567}, - {150, 163, 151, -1, 0, 570}, - {152, 164, 153, -1, 0, 573}, - {153, 164, 165, -1, 0, 576}, - {155, 167, 156, -1, 0, 579}, - {156, 167, 168, -1, 0, 582}, - {157, 169, 158, -1, 0, 585}, - {158, 169, 170, -1, 0, 588}, - {159, 160, 148, -1, 0, 591}, - {162, 163, 150, -1, 0, 594}, - {171, 160, 159, -1, 0, 597}, - {172, 187, 180, -1, 0, 600}, - {173, 182, 174, -1, 0, 603}, - {177, 185, 178, -1, 0, 606}, - {178, 185, 186, -1, 0, 609}, - {179, 187, 172, -1, 0, 612}, - {181, 182, 173, -1, 0, 615}, - {189, 209, 190, -1, 0, 618}, - {190, 209, 210, -1, 0, 621}, - {191, 211, 192, -1, 0, 624}, - {192, 211, 212, -1, 0, 627}, - {192, 213, 193, -1, 0, 630}, - {196, 217, 197, -1, 0, 633}, - {201, 222, 202, -1, 0, 636}, - {202, 222, 203, -1, 0, 639}, - {203, 222, 223, -1, 0, 642}, - {206, 226, 207, -1, 0, 645}, - {207, 208, 188, -1, 0, 648}, - {207, 226, 227, -1, 0, 651}, - {212, 213, 192, -1, 0, 654}, - {216, 217, 196, -1, 0, 657}, - {221, 222, 201, -1, 0, 660}, - {227, 208, 207, -1, 0, 663}, - {228, 242, 229, -1, 0, 666}, - {229, 242, 243, -1, 0, 669}, - {229, 244, 230, -1, 0, 672}, - {230, 244, 231, -1, 0, 675}, - {231, 244, 245, -1, 0, 678}, - {232, 246, 233, -1, 0, 681}, - {233, 246, 247, -1, 0, 684}, - {234, 248, 235, -1, 0, 687}, - {235, 248, 249, -1, 0, 690}, - {235, 250, 236, -1, 0, 693}, - {236, 250, 237, -1, 0, 696}, - {237, 250, 251, -1, 0, 699}, - {239, 254, 240, -1, 0, 702}, - {243, 244, 229, -1, 0, 705}, - {249, 250, 235, -1, 0, 708}, - {253, 254, 239, -1, 0, 711}, - {256, 270, 257, -1, 0, 714}, - {257, 270, 271, -1, 0, 717}, - {258, 272, 259, -1, 0, 720}, - {259, 272, 273, -1, 0, 723}, - {260, 274, 261, -1, 0, 726}, - {261, 274, 275, -1, 0, 729}, - {262, 276, 263, -1, 0, 732}, - {263, 276, 277, -1, 0, 735}, - {267, 282, 268, -1, 0, 738}, - {281, 282, 267, -1, 0, 741}, - {1, 3, 0, -1, 0, 744}, - {2, 3, 1, -1, 0, 747}, - {3, 20, 21, -1, 0, 750}, - {3, 21, 0, -1, 0, 753}, - {4, 18, 19, -1, 0, 756}, - {4, 20, 3, -1, 0, 759}, - {5, 18, 4, -1, 0, 762}, - {6, 16, 17, -1, 0, 765}, - {6, 18, 5, -1, 0, 768}, - {7, 16, 6, -1, 0, 771}, - {8, 14, 15, -1, 0, 774}, - {8, 16, 7, -1, 0, 777}, - {9, 14, 8, -1, 0, 780}, - {10, 12, 13, -1, 0, 783}, - {10, 14, 9, -1, 0, 786}, - {11, 12, 10, -1, 0, 789}, - {13, 14, 10, -1, 0, 792}, - {15, 16, 8, -1, 0, 795}, - {17, 18, 6, -1, 0, 798}, - {19, 20, 4, -1, 0, 801}, - {22, 25, 23, -1, 0, 804}, - {22, 43, 25, -1, 0, 807}, - {23, 25, 24, -1, 0, 810}, - {25, 42, 26, -1, 0, 813}, - {26, 41, 27, -1, 0, 816}, - {26, 42, 41, -1, 0, 819}, - {27, 39, 28, -1, 0, 822}, - {27, 41, 40, -1, 0, 825}, - {28, 39, 29, -1, 0, 828}, - {29, 37, 30, -1, 0, 831}, - {29, 39, 38, -1, 0, 834}, - {30, 37, 31, -1, 0, 837}, - {31, 35, 32, -1, 0, 840}, - {31, 37, 36, -1, 0, 843}, - {32, 35, 33, -1, 0, 846}, - {33, 35, 34, -1, 0, 849}, - {36, 35, 31, -1, 0, 852}, - {38, 37, 29, -1, 0, 855}, - {40, 39, 27, -1, 0, 858}, - {43, 42, 25, -1, 0, 861}, - {47, 77, 48, -1, 0, 864}, - {48, 77, 78, -1, 0, 867}, - {48, 79, 49, -1, 0, 870}, - {49, 79, 50, -1, 0, 873}, - {50, 79, 80, -1, 0, 876}, - {50, 80, 51, -1, 0, 879}, - {51, 80, 81, -1, 0, 882}, - {51, 82, 52, -1, 0, 885}, - {52, 82, 53, -1, 0, 888}, - {53, 82, 83, -1, 0, 891}, - {53, 84, 54, -1, 0, 894}, - {62, 92, 63, -1, 0, 897}, - {63, 92, 93, -1, 0, 900}, - {68, 98, 69, -1, 0, 903}, - {69, 98, 99, -1, 0, 906}, - {69, 99, 70, -1, 0, 909}, - {70, 99, 100, -1, 0, 912}, - {78, 79, 48, -1, 0, 915}, - {81, 82, 51, -1, 0, 918}, - {83, 84, 53, -1, 0, 921}, - {104, 126, 105, -1, 0, 924}, - {105, 126, 127, -1, 0, 927}, - {105, 127, 106, -1, 0, 930}, - {106, 127, 128, -1, 0, 933}, - {112, 134, 113, -1, 0, 936}, - {113, 134, 135, -1, 0, 939}, - {113, 135, 114, -1, 0, 942}, - {114, 126, 104, -1, 0, 945}, - {114, 135, 136, -1, 0, 948}, - {115, 138, 116, -1, 0, 951}, - {115, 142, 137, -1, 0, 954}, - {118, 140, 119, -1, 0, 957}, - {119, 140, 141, -1, 0, 960}, - {119, 142, 120, -1, 0, 963}, - {120, 142, 115, -1, 0, 966}, - {136, 126, 114, -1, 0, 969}, - {137, 138, 115, -1, 0, 972}, - {141, 142, 119, -1, 0, 975}, - {149, 161, 150, -1, 0, 978}, - {150, 161, 162, -1, 0, 981}, - {153, 166, 154, -1, 0, 984}, - {165, 166, 153, -1, 0, 987}, - {172, 175, 177, -1, 0, 990}, - {172, 178, 179, -1, 0, 993}, - {173, 174, 172, -1, 0, 996}, - {174, 175, 172, -1, 0, 999}, - {176, 177, 175, -1, 0, 1002}, - {177, 178, 172, -1, 0, 1005}, - {180, 182, 181, -1, 0, 1008}, - {180, 185, 182, -1, 0, 1011}, - {180, 187, 185, -1, 0, 1014}, - {182, 185, 183, -1, 0, 1017}, - {183, 185, 184, -1, 0, 1020}, - {185, 187, 186, -1, 0, 1023}, - {193, 213, 194, -1, 0, 1026}, - {194, 213, 214, -1, 0, 1029}, - {194, 215, 195, -1, 0, 1032}, - {198, 218, 199, -1, 0, 1035}, - {199, 218, 219, -1, 0, 1038}, - {199, 220, 200, -1, 0, 1041}, - {200, 220, 201, -1, 0, 1044}, - {201, 220, 221, -1, 0, 1047}, - {204, 225, 205, -1, 0, 1050}, - {205, 225, 206, -1, 0, 1053}, - {206, 225, 226, -1, 0, 1056}, - {214, 215, 194, -1, 0, 1059}, - {219, 220, 199, -1, 0, 1062}, - {224, 225, 204, -1, 0, 1065}, - {229, 235, 236, -1, 0, 1068}, - {229, 237, 228, -1, 0, 1071}, - {230, 235, 229, -1, 0, 1074}, - {231, 233, 234, -1, 0, 1077}, - {231, 235, 230, -1, 0, 1080}, - {232, 233, 231, -1, 0, 1083}, - {234, 235, 231, -1, 0, 1086}, - {236, 237, 229, -1, 0, 1089}, - {237, 241, 228, -1, 0, 1092}, - {238, 241, 237, -1, 0, 1095}, - {239, 241, 238, -1, 0, 1098}, - {240, 241, 239, -1, 0, 1101}, - {242, 250, 243, -1, 0, 1104}, - {242, 252, 251, -1, 0, 1107}, - {243, 250, 244, -1, 0, 1110}, - {244, 248, 245, -1, 0, 1113}, - {244, 250, 249, -1, 0, 1116}, - {245, 248, 246, -1, 0, 1119}, - {246, 248, 247, -1, 0, 1122}, - {249, 248, 244, -1, 0, 1125}, - {251, 250, 242, -1, 0, 1128}, - {252, 254, 253, -1, 0, 1131}, - {255, 252, 242, -1, 0, 1134}, - {255, 254, 252, -1, 0, 1137}, - {256, 267, 262, -1, 0, 1140}, - {257, 265, 266, -1, 0, 1143}, - {257, 267, 256, -1, 0, 1146}, - {258, 264, 257, -1, 0, 1149}, - {258, 269, 264, -1, 0, 1152}, - {259, 269, 258, -1, 0, 1155}, - {260, 261, 259, -1, 0, 1158}, - {261, 267, 268, -1, 0, 1161}, - {261, 268, 259, -1, 0, 1164}, - {262, 263, 256, -1, 0, 1167}, - {262, 267, 261, -1, 0, 1170}, - {264, 265, 257, -1, 0, 1173}, - {266, 267, 257, -1, 0, 1176}, - {268, 269, 259, -1, 0, 1179}, - {270, 277, 276, -1, 0, 1182}, - {270, 280, 271, -1, 0, 1185}, - {271, 278, 272, -1, 0, 1188}, - {271, 279, 278, -1, 0, 1191}, - {272, 282, 273, -1, 0, 1194}, - {273, 275, 274, -1, 0, 1197}, - {273, 282, 275, -1, 0, 1200}, - {275, 282, 276, -1, 0, 1203}, - {276, 281, 270, -1, 0, 1206}, - {276, 282, 281, -1, 0, 1209}, - {278, 283, 272, -1, 0, 1212}, - {280, 279, 271, -1, 0, 1215}, - {281, 280, 270, -1, 0, 1218}, - {283, 282, 272, -1, 0, 1221}, - {44, 75, 45, -1, 0, 1224}, - {44, 103, 74, -1, 0, 1227}, - {45, 75, 46, -1, 0, 1230}, - {46, 75, 76, -1, 0, 1233}, - {55, 86, 56, -1, 0, 1236}, - {56, 86, 57, -1, 0, 1239}, - {57, 86, 87, -1, 0, 1242}, - {57, 88, 58, -1, 0, 1245}, - {58, 88, 59, -1, 0, 1248}, - {59, 88, 89, -1, 0, 1251}, - {59, 90, 60, -1, 0, 1254}, - {60, 90, 61, -1, 0, 1257}, - {61, 90, 91, -1, 0, 1260}, - {61, 92, 62, -1, 0, 1263}, - {70, 101, 71, -1, 0, 1266}, - {71, 101, 72, -1, 0, 1269}, - {72, 101, 102, -1, 0, 1272}, - {72, 103, 73, -1, 0, 1275}, - {73, 103, 44, -1, 0, 1278}, - {74, 75, 44, -1, 0, 1281}, - {85, 86, 55, -1, 0, 1284}, - {87, 88, 57, -1, 0, 1287}, - {89, 90, 59, -1, 0, 1290}, - {91, 92, 61, -1, 0, 1293}, - {100, 101, 70, -1, 0, 1296}, - {102, 103, 72, -1, 0, 1299}, - {104, 115, 114, -1, 0, 1302}, - {105, 115, 104, -1, 0, 1305}, - {106, 119, 120, -1, 0, 1308}, - {106, 120, 105, -1, 0, 1311}, - {107, 122, 106, -1, 0, 1314}, - {108, 121, 107, -1, 0, 1317}, - {108, 125, 121, -1, 0, 1320}, - {109, 125, 108, -1, 0, 1323}, - {110, 124, 125, -1, 0, 1326}, - {110, 125, 109, -1, 0, 1329}, - {111, 118, 123, -1, 0, 1332}, - {111, 124, 110, -1, 0, 1335}, - {112, 118, 111, -1, 0, 1338}, - {113, 117, 112, -1, 0, 1341}, - {114, 115, 116, -1, 0, 1344}, - {114, 116, 113, -1, 0, 1347}, - {116, 117, 113, -1, 0, 1350}, - {117, 118, 112, -1, 0, 1353}, - {118, 122, 123, -1, 0, 1356}, - {119, 122, 118, -1, 0, 1359}, - {120, 115, 105, -1, 0, 1362}, - {121, 122, 107, -1, 0, 1365}, - {122, 119, 106, -1, 0, 1368}, - {123, 124, 111, -1, 0, 1371}, - {126, 138, 137, -1, 0, 1374}, - {126, 142, 127, -1, 0, 1377}, - {127, 142, 128, -1, 0, 1380}, - {128, 144, 129, -1, 0, 1383}, - {129, 143, 130, -1, 0, 1386}, - {129, 144, 143, -1, 0, 1389}, - {130, 143, 131, -1, 0, 1392}, - {131, 143, 147, -1, 0, 1395}, - {131, 147, 132, -1, 0, 1398}, - {132, 147, 133, -1, 0, 1401}, - {133, 145, 134, -1, 0, 1404}, - {133, 146, 145, -1, 0, 1407}, - {133, 147, 146, -1, 0, 1410}, - {134, 138, 135, -1, 0, 1413}, - {134, 140, 139, -1, 0, 1416}, - {134, 145, 140, -1, 0, 1419}, - {135, 138, 136, -1, 0, 1422}, - {136, 138, 126, -1, 0, 1425}, - {137, 142, 126, -1, 0, 1428}, - {139, 138, 134, -1, 0, 1431}, - {140, 145, 141, -1, 0, 1434}, - {141, 144, 142, -1, 0, 1437}, - {141, 145, 144, -1, 0, 1440}, - {142, 144, 128, -1, 0, 1443}, - {149, 150, 148, -1, 0, 1446}, - {150, 156, 157, -1, 0, 1449}, - {150, 159, 148, -1, 0, 1452}, - {151, 156, 150, -1, 0, 1455}, - {152, 153, 151, -1, 0, 1458}, - {153, 156, 151, -1, 0, 1461}, - {154, 156, 153, -1, 0, 1464}, - {155, 156, 154, -1, 0, 1467}, - {157, 159, 150, -1, 0, 1470}, - {158, 159, 157, -1, 0, 1473}, - {160, 162, 161, -1, 0, 1476}, - {160, 169, 162, -1, 0, 1479}, - {162, 169, 163, -1, 0, 1482}, - {163, 165, 164, -1, 0, 1485}, - {163, 166, 165, -1, 0, 1488}, - {163, 169, 168, -1, 0, 1491}, - {166, 168, 167, -1, 0, 1494}, - {168, 166, 163, -1, 0, 1497}, - {169, 171, 170, -1, 0, 1500}, - {171, 169, 160, -1, 0, 1503}, - {174, 182, 175, -1, 0, 1506}, - {175, 182, 183, -1, 0, 1509}, - {176, 184, 177, -1, 0, 1512}, - {177, 184, 185, -1, 0, 1515}, - {189, 207, 188, -1, 0, 1518}, - {190, 207, 189, -1, 0, 1521}, - {191, 206, 190, -1, 0, 1524}, - {192, 204, 205, -1, 0, 1527}, - {192, 206, 191, -1, 0, 1530}, - {193, 204, 192, -1, 0, 1533}, - {194, 201, 202, -1, 0, 1536}, - {194, 203, 193, -1, 0, 1539}, - {195, 201, 194, -1, 0, 1542}, - {196, 199, 200, -1, 0, 1545}, - {196, 201, 195, -1, 0, 1548}, - {197, 199, 196, -1, 0, 1551}, - {198, 199, 197, -1, 0, 1554}, - {200, 201, 196, -1, 0, 1557}, - {202, 203, 194, -1, 0, 1560}, - {203, 204, 193, -1, 0, 1563}, - {205, 206, 192, -1, 0, 1566}, - {206, 207, 190, -1, 0, 1569}, - {208, 227, 209, -1, 0, 1572}, - {209, 226, 210, -1, 0, 1575}, - {210, 226, 211, -1, 0, 1578}, - {211, 225, 212, -1, 0, 1581}, - {212, 225, 213, -1, 0, 1584}, - {213, 222, 214, -1, 0, 1587}, - {213, 224, 223, -1, 0, 1590}, - {213, 225, 224, -1, 0, 1593}, - {214, 222, 215, -1, 0, 1596}, - {215, 221, 216, -1, 0, 1599}, - {215, 222, 221, -1, 0, 1602}, - {216, 220, 217, -1, 0, 1605}, - {216, 221, 220, -1, 0, 1608}, - {217, 219, 218, -1, 0, 1611}, - {217, 220, 219, -1, 0, 1614}, - {223, 222, 213, -1, 0, 1617}, - {226, 225, 211, -1, 0, 1620}, - {227, 226, 209, -1, 0, 1623}, - {264, 278, 265, -1, 0, 1626}, - {265, 278, 279, -1, 0, 1629}, - {265, 280, 266, -1, 0, 1632}, - {266, 280, 267, -1, 0, 1635}, - {267, 280, 281, -1, 0, 1638}, - {279, 280, 265, -1, 0, 1641}, +const polygon mesh_jam_polygons[] = { + {15, 16, 3, 2, 0, 0}, + {18, 19, 6, 5, 0, 4}, + {20, 21, 8, 7, 0, 8}, + {23, 24, 11, 10, 0, 12}, + {43, 44, 30, 29, 0, 16}, + {45, 46, 32, 31, 0, 20}, + {52, 53, 39, 38, 0, 24}, + {50, 51, 37, 36, 0, 28}, + {53, 40, 26, 39, 0, 32}, + {66, 67, 56, 55, 0, 36}, + {68, 69, 58, 57, 0, 40}, + {70, 71, 60, 59, 0, 44}, + {72, 65, 54, 61, 0, 48}, + {14, 15, 2, 1, 0, 52}, + {23, 10, 9, 22, 0, 56}, + {19, 20, 7, 6, 0, 60}, + {25, 13, 0, 12, 0, 64}, + {40, 41, 27, 26, 0, 68}, + {41, 42, 28, 27, 0, 72}, + {42, 43, 29, 28, 0, 76}, + {51, 52, 38, 37, 0, 80}, + {44, 45, 31, 30, 0, 84}, + {46, 47, 33, 32, 0, 88}, + {47, 48, 34, 33, 0, 92}, + {48, 49, 35, 34, 0, 96}, + {65, 66, 55, 54, 0, 100}, + {69, 70, 59, 58, 0, 104}, + {67, 68, 57, 56, 0, 108}, + {74, 75, 64, 63, 0, 112}, + {71, 72, 61, 60, 0, 116}, + {16, 17, 4, 3, 0, 120}, + {25, 12, 11, 24, 0, 124}, + {17, 18, 5, 4, 0, 128}, + {60, 63, 64, 59, 0, 132}, + {35, 26, 27, 34, 0, 136}, + {28, 33, 34, 27, 0, 140}, + {39, 26, 35, 36, 0, 144}, + {38, 39, 36, 37, 0, 148}, + {32, 33, 28, 29, 0, 152}, + {49, 48, 41, 40, 0, 156}, + {53, 52, 51, 50, 0, 160}, + {48, 47, 42, 41, 0, 164}, + {30, 31, 32, 29, 0, 168}, + {53, 50, 49, 40, 0, 172}, + {65, 72, 71, 74, 0, 176}, + {75, 73, 62, 64, 0, 180}, + {56, 62, 55, -1, 0, 184}, + {65, 74, 73, 66, 0, 187}, + {75, 74, 71, 70, 0, 191}, + {73, 74, 63, 62, 0, 195}, + {66, 73, 67, -1, 0, 199}, + {46, 45, 44, 43, 0, 202}, + {12, 0, 1, 2, 0, 206}, + {3, 12, 2, -1, 0, 210}, + {8, 9, 6, 7, 0, 213}, + {11, 12, 3, 4, 0, 217}, + {9, 10, 4, 5, 0, 221}, + {6, 9, 5, -1, 0, 225}, + {21, 22, 9, 8, 0, 228}, + {10, 11, 4, -1, 0, 232}, + {25, 15, 14, 13, 0, 235}, + {15, 25, 16, -1, 0, 239}, + {47, 46, 43, 42, 0, 242}, + {25, 24, 17, 16, 0, 246}, + {23, 22, 18, 17, 0, 250}, + {17, 24, 23, -1, 0, 254}, + {18, 22, 19, -1, 0, 257}, + {19, 22, 21, 20, 0, 260}, + {49, 50, 36, 35, 0, 264}, + {13, 14, 1, 0, 0, 268}, + {68, 67, 73, 75, 0, 272}, + {57, 58, 59, 64, 0, 276}, + {57, 64, 62, 56, 0, 280}, + {63, 54, 55, 62, 0, 284}, + {63, 60, 61, 54, 0, 288}, + {70, 69, 68, 75, 0, 292}, }; -const edge_polygon mesh_logo_edge_polygons[] = { - {{0, 22}, {0, 104}}, - {{1, 22}, {0, 1}}, - {{0, 1}, {0, 248}}, - {{22, 23}, {1, 268}}, - {{1, 23}, {1, 106}}, - {{2, 24}, {2, 78}}, - {{3, 24}, {2, 3}}, - {{2, 3}, {2, 249}}, - {{24, 25}, {3, 270}}, - {{3, 25}, {3, 79}}, - {{11, 33}, {4, 90}}, - {{12, 33}, {4, 5}}, - {{11, 12}, {4, 263}}, - {{33, 34}, {5, 283}}, - {{12, 34}, {5, 111}}, - {{46, 77}, {6, 16}}, - {{47, 77}, {6, 288}}, - {{46, 47}, {6, 121}}, - {{54, 84}, {7, 298}}, - {{55, 84}, {7, 8}}, - {{54, 55}, {7, 131}}, - {{84, 85}, {8, 158}}, - {{55, 85}, {8, 428}}, - {{63, 94}, {9, 17}}, - {{64, 94}, {9, 10}}, - {{63, 64}, {9, 135}}, - {{65, 94}, {10, 11}}, - {{64, 65}, {10, 137}}, - {{94, 95}, {11, 165}}, - {{65, 95}, {11, 18}}, - {{65, 96}, {12, 18}}, - {{66, 96}, {12, 13}}, - {{65, 66}, {12, 116}}, - {{67, 96}, {13, 14}}, - {{66, 67}, {13, 138}}, - {{96, 97}, {14, 166}}, - {{67, 97}, {14, 19}}, - {{67, 98}, {15, 19}}, - {{68, 98}, {15, 301}}, - {{67, 68}, {15, 140}}, - {{76, 77}, {16, 148}}, - {{46, 76}, {16, 411}}, - {{93, 94}, {17, 163}}, - {{63, 93}, {17, 300}}, - {{95, 96}, {18, 147}}, - {{97, 98}, {19, 167}}, - {{111, 133}, {20, 178}}, - {{112, 133}, {20, 21}}, - {{111, 112}, {20, 446}}, - {{133, 134}, {21, 468}}, - {{112, 134}, {21, 312}}, - {{117, 139}, {22, 180}}, - {{118, 139}, {22, 23}}, - {{117, 118}, {22, 451}}, - {{139, 140}, {23, 472}}, - {{118, 140}, {23, 319}}, - {{122, 145}, {24, 27}}, - {{123, 145}, {24, 183}}, - {{122, 123}, {24, 452}}, - {{124, 146}, {25, 184}}, - {{125, 146}, {25, 26}}, - {{124, 125}, {25, 442}}, - {{146, 147}, {26, 470}}, - {{125, 147}, {26, 189}}, - {{144, 145}, {27, 480}}, - {{122, 144}, {27, 182}}, - {{148, 160}, {28, 197}}, - {{149, 160}, {28, 29}}, - {{148, 149}, {28, 482}}, - {{160, 161}, {29, 492}}, - {{149, 161}, {29, 326}}, - {{151, 163}, {30, 190}}, - {{152, 163}, {30, 31}}, - {{151, 152}, {30, 486}}, - {{163, 164}, {31, 495}}, - {{152, 164}, {31, 191}}, - {{154, 166}, {32, 328}}, - {{155, 166}, {32, 33}}, - {{154, 155}, {32, 489}}, - {{166, 167}, {33, 498}}, - {{155, 167}, {33, 193}}, - {{156, 169}, {34, 37}}, - {{157, 169}, {34, 195}}, - {{156, 157}, {34, 483}}, - {{158, 170}, {35, 196}}, - {{159, 170}, {35, 36}}, - {{158, 159}, {35, 491}}, - {{170, 171}, {36, 500}}, - {{159, 171}, {36, 199}}, - {{168, 169}, {37, 497}}, - {{156, 168}, {37, 194}}, - {{172, 180}, {38, 200}}, - {{173, 180}, {38, 39}}, - {{172, 173}, {38, 332}}, - {{180, 181}, {39, 336}}, - {{173, 181}, {39, 205}}, - {{175, 184}, {40, 42}}, - {{176, 184}, {40, 504}}, - {{175, 176}, {40, 334}}, - {{178, 187}, {41, 43}}, - {{179, 187}, {41, 204}}, - {{178, 179}, {41, 331}}, - {{183, 184}, {42, 340}}, - {{175, 183}, {42, 503}}, - {{186, 187}, {43, 341}}, - {{178, 186}, {43, 203}}, - {{188, 208}, {44, 216}}, - {{189, 208}, {44, 45}}, - {{188, 189}, {44, 506}}, - {{208, 209}, {45, 524}}, - {{189, 209}, {45, 206}}, - {{190, 211}, {46, 53}}, - {{191, 211}, {46, 208}}, - {{190, 191}, {46, 508}}, - {{195, 215}, {47, 344}}, - {{196, 215}, {47, 48}}, - {{195, 196}, {47, 516}}, - {{215, 216}, {48, 533}}, - {{196, 216}, {48, 219}}, - {{197, 217}, {49, 211}}, - {{198, 217}, {49, 50}}, - {{197, 198}, {49, 518}}, - {{217, 218}, {50, 537}}, - {{198, 218}, {50, 345}}, - {{203, 223}, {51, 214}}, - {{204, 223}, {51, 52}}, - {{203, 204}, {51, 521}}, - {{223, 224}, {52, 530}}, - {{204, 224}, {52, 355}}, - {{210, 211}, {53, 526}}, - {{190, 210}, {53, 207}}, - {{231, 246}, {54, 62}}, - {{232, 246}, {54, 227}}, - {{231, 232}, {54, 361}}, - {{233, 248}, {55, 63}}, - {{234, 248}, {55, 229}}, - {{233, 234}, {55, 359}}, - {{237, 252}, {56, 64}}, - {{238, 252}, {56, 57}}, - {{237, 238}, {56, 365}}, - {{239, 252}, {57, 58}}, - {{238, 239}, {57, 366}}, - {{252, 253}, {58, 377}}, - {{239, 253}, {58, 237}}, - {{240, 254}, {59, 234}}, - {{241, 254}, {59, 61}}, - {{240, 241}, {59, 367}}, - {{241, 242}, {60, 65}}, - {{228, 242}, {60, 222}}, - {{228, 241}, {60, 364}}, - {{254, 255}, {61, 379}}, - {{241, 255}, {61, 65}}, - {{245, 246}, {62, 373}}, - {{231, 245}, {62, 226}}, - {{247, 248}, {63, 374}}, - {{233, 247}, {63, 228}}, - {{251, 252}, {64, 369}}, - {{237, 251}, {64, 233}}, - {{242, 255}, {65, 378}}, - {{257, 272}, {66, 73}}, - {{258, 272}, {66, 240}}, - {{257, 258}, {66, 383}}, - {{259, 274}, {67, 74}}, - {{260, 274}, {67, 242}}, - {{259, 260}, {67, 386}}, - {{261, 276}, {68, 75}}, - {{262, 276}, {68, 244}}, - {{261, 262}, {68, 390}}, - {{263, 270}, {69, 76}}, - {{256, 270}, {69, 238}}, - {{256, 263}, {69, 389}}, - {{268, 282}, {70, 246}}, - {{269, 282}, {70, 72}}, - {{268, 269}, {70, 393}}, - {{269, 278}, {71, 77}}, - {{264, 278}, {71, 542}}, - {{264, 269}, {71, 384}}, - {{282, 283}, {72, 407}}, - {{269, 283}, {72, 77}}, - {{271, 272}, {73, 396}}, - {{257, 271}, {73, 239}}, - {{273, 274}, {74, 399}}, - {{259, 273}, {74, 241}}, - {{275, 276}, {75, 401}}, - {{261, 275}, {75, 243}}, - {{270, 277}, {76, 394}}, - {{263, 277}, {76, 245}}, - {{278, 283}, {77, 404}}, - {{1, 24}, {78, 106}}, - {{1, 2}, {78, 249}}, - {{4, 25}, {79, 80}}, - {{3, 4}, {79, 253}}, - {{25, 26}, {80, 271}}, - {{4, 26}, {80, 107}}, - {{4, 27}, {81, 107}}, - {{5, 27}, {81, 82}}, - {{4, 5}, {81, 254}}, - {{6, 27}, {82, 83}}, - {{5, 6}, {82, 256}}, - {{27, 28}, {83, 274}}, - {{6, 28}, {83, 108}}, - {{6, 29}, {84, 108}}, - {{7, 29}, {84, 85}}, - {{6, 7}, {84, 257}}, - {{8, 29}, {85, 86}}, - {{7, 8}, {85, 259}}, - {{29, 30}, {86, 277}}, - {{8, 30}, {86, 109}}, - {{8, 31}, {87, 109}}, - {{9, 31}, {87, 88}}, - {{8, 9}, {87, 260}}, - {{10, 31}, {88, 89}}, - {{9, 10}, {88, 262}}, - {{31, 32}, {89, 280}}, - {{10, 32}, {89, 110}}, - {{10, 33}, {90, 110}}, - {{10, 11}, {90, 263}}, - {{12, 35}, {91, 111}}, - {{13, 35}, {91, 92}}, - {{12, 13}, {91, 261}}, - {{14, 35}, {92, 93}}, - {{13, 14}, {92, 264}}, - {{35, 36}, {93, 284}}, - {{14, 36}, {93, 112}}, - {{14, 37}, {94, 112}}, - {{15, 37}, {94, 95}}, - {{14, 15}, {94, 258}}, - {{16, 37}, {95, 96}}, - {{15, 16}, {95, 265}}, - {{37, 38}, {96, 285}}, - {{16, 38}, {96, 113}}, - {{16, 39}, {97, 113}}, - {{17, 39}, {97, 98}}, - {{16, 17}, {97, 255}}, - {{18, 39}, {98, 99}}, - {{17, 18}, {98, 266}}, - {{39, 40}, {99, 286}}, - {{18, 40}, {99, 114}}, - {{18, 41}, {100, 114}}, - {{19, 41}, {100, 101}}, - {{18, 19}, {100, 252}}, - {{20, 41}, {101, 102}}, - {{19, 20}, {101, 267}}, - {{41, 42}, {102, 273}}, - {{20, 42}, {102, 103}}, - {{21, 42}, {103, 105}}, - {{20, 21}, {103, 250}}, - {{21, 22}, {104, 115}}, - {{0, 21}, {104, 251}}, - {{42, 43}, {105, 287}}, - {{21, 43}, {105, 115}}, - {{23, 24}, {106, 270}}, - {{26, 27}, {107, 272}}, - {{28, 29}, {108, 276}}, - {{30, 31}, {109, 279}}, - {{32, 33}, {110, 282}}, - {{34, 35}, {111, 283}}, - {{36, 37}, {112, 281}}, - {{38, 39}, {113, 278}}, - {{40, 41}, {114, 275}}, - {{22, 43}, {115, 269}}, - {{44, 65}, {116, 118}}, - {{44, 66}, {116, 138}}, - {{44, 67}, {117, 138}}, - {{67, 73}, {117, 139}}, - {{44, 73}, {117, 426}}, - {{45, 65}, {118, 120}}, - {{44, 45}, {118, 408}}, - {{46, 61}, {119, 121}}, - {{61, 64}, {119, 135}}, - {{46, 64}, {119, 137}}, - {{46, 65}, {120, 137}}, - {{45, 46}, {120, 410}}, - {{47, 61}, {121, 123}}, - {{48, 59}, {122, 124}}, - {{59, 60}, {122, 418}}, - {{48, 60}, {122, 134}}, - {{48, 61}, {123, 134}}, - {{47, 48}, {123, 288}}, - {{49, 59}, {124, 125}}, - {{48, 49}, {124, 290}}, - {{50, 59}, {125, 133}}, - {{49, 50}, {125, 291}}, - {{51, 57}, {126, 128}}, - {{57, 58}, {126, 415}}, - {{51, 58}, {126, 127}}, - {{50, 58}, {127, 133}}, - {{50, 51}, {127, 293}}, - {{52, 57}, {128, 130}}, - {{51, 52}, {128, 295}}, - {{53, 55}, {129, 131}}, - {{55, 56}, {129, 412}}, - {{53, 56}, {129, 132}}, - {{53, 57}, {130, 132}}, - {{52, 53}, {130, 296}}, - {{53, 54}, {131, 298}}, - {{56, 57}, {132, 413}}, - {{58, 59}, {133, 416}}, - {{60, 61}, {134, 419}}, - {{61, 63}, {135, 136}}, - {{62, 63}, {136, 299}}, - {{61, 62}, {136, 421}}, - {{67, 72}, {139, 140}}, - {{72, 73}, {139, 425}}, - {{68, 72}, {140, 141}}, - {{69, 72}, {141, 143}}, - {{68, 69}, {141, 301}}, - {{70, 71}, {142, 422}}, - {{69, 71}, {142, 143}}, - {{69, 70}, {142, 303}}, - {{71, 72}, {143, 423}}, - {{74, 96}, {144, 145}}, - {{75, 96}, {144, 147}}, - {{74, 75}, {144, 427}}, - {{74, 103}, {145, 409}}, - {{96, 103}, {145, 166}}, - {{75, 94}, {146, 165}}, - {{76, 94}, {146, 164}}, - {{75, 76}, {146, 411}}, - {{75, 95}, {147, 165}}, - {{76, 91}, {148, 164}}, - {{77, 91}, {148, 161}}, - {{77, 90}, {149, 161}}, - {{78, 90}, {149, 150}}, - {{77, 78}, {149, 289}}, - {{79, 90}, {150, 152}}, - {{78, 79}, {150, 305}}, - {{79, 88}, {151, 160}}, - {{80, 88}, {151, 153}}, - {{79, 80}, {151, 292}}, - {{89, 90}, {152, 430}}, - {{79, 89}, {152, 160}}, - {{81, 88}, {153, 154}}, - {{80, 81}, {153, 294}}, - {{82, 88}, {154, 156}}, - {{81, 82}, {154, 306}}, - {{82, 86}, {155, 159}}, - {{83, 86}, {155, 157}}, - {{82, 83}, {155, 297}}, - {{87, 88}, {156, 429}}, - {{82, 87}, {156, 159}}, - {{84, 86}, {157, 158}}, - {{83, 84}, {157, 307}}, - {{85, 86}, {158, 428}}, - {{86, 87}, {159, 414}}, - {{88, 89}, {160, 417}}, - {{90, 91}, {161, 420}}, - {{91, 94}, {162, 164}}, - {{92, 94}, {162, 163}}, - {{91, 92}, {162, 431}}, - {{92, 93}, {163, 300}}, - {{97, 103}, {166, 167}}, - {{98, 103}, {167, 169}}, - {{98, 101}, {168, 171}}, - {{99, 101}, {168, 170}}, - {{98, 99}, {168, 302}}, - {{102, 103}, {169, 433}}, - {{98, 102}, {169, 171}}, - {{100, 101}, {170, 432}}, - {{99, 100}, {170, 304}}, - {{101, 102}, {171, 424}}, - {{106, 129}, {172, 186}}, - {{107, 129}, {172, 173}}, - {{106, 107}, {172, 438}}, - {{108, 129}, {173, 174}}, - {{107, 108}, {173, 439}}, - {{129, 130}, {174, 462}}, - {{108, 130}, {174, 187}}, - {{108, 131}, {175, 187}}, - {{109, 131}, {175, 176}}, - {{108, 109}, {175, 441}}, - {{110, 131}, {176, 177}}, - {{109, 110}, {176, 443}}, - {{131, 132}, {177, 466}}, - {{110, 132}, {177, 188}}, - {{110, 133}, {178, 188}}, - {{110, 111}, {178, 445}}, - {{116, 138}, {179, 317}}, - {{117, 138}, {179, 180}}, - {{116, 117}, {179, 450}}, - {{138, 139}, {180, 477}}, - {{121, 143}, {181, 185}}, - {{122, 143}, {181, 182}}, - {{121, 122}, {181, 455}}, - {{143, 144}, {182, 463}}, - {{124, 145}, {183, 184}}, - {{123, 124}, {183, 457}}, - {{145, 146}, {184, 469}}, - {{125, 143}, {185, 189}}, - {{121, 125}, {185, 440}}, - {{128, 129}, {186, 461}}, - {{106, 128}, {186, 311}}, - {{130, 131}, {187, 464}}, - {{132, 133}, {188, 467}}, - {{143, 147}, {189, 465}}, - {{150, 163}, {190, 198}}, - {{150, 151}, {190, 485}}, - {{153, 164}, {191, 192}}, - {{152, 153}, {191, 486}}, - {{164, 165}, {192, 495}}, - {{153, 165}, {192, 329}}, - {{156, 167}, {193, 194}}, - {{155, 156}, {193, 489}}, - {{167, 168}, {194, 498}}, - {{158, 169}, {195, 196}}, - {{157, 158}, {195, 491}}, - {{169, 170}, {196, 500}}, - {{159, 160}, {197, 199}}, - {{148, 159}, {197, 484}}, - {{162, 163}, {198, 494}}, - {{150, 162}, {198, 327}}, - {{160, 171}, {199, 501}}, - {{172, 187}, {200, 204}}, - {{180, 187}, {200, 338}}, - {{173, 182}, {201, 205}}, - {{174, 182}, {201, 502}}, - {{173, 174}, {201, 332}}, - {{177, 185}, {202, 505}}, - {{178, 185}, {202, 203}}, - {{177, 178}, {202, 335}}, - {{185, 186}, {203, 341}}, - {{172, 179}, {204, 331}}, - {{181, 182}, {205, 336}}, - {{190, 209}, {206, 207}}, - {{189, 190}, {206, 507}}, - {{209, 210}, {207, 525}}, - {{192, 211}, {208, 209}}, - {{191, 192}, {208, 510}}, - {{211, 212}, {209, 527}}, - {{192, 212}, {209, 218}}, - {{192, 213}, {210, 218}}, - {{193, 213}, {210, 342}}, - {{192, 193}, {210, 511}}, - {{196, 217}, {211, 219}}, - {{196, 197}, {211, 517}}, - {{201, 222}, {212, 220}}, - {{202, 222}, {212, 213}}, - {{201, 202}, {212, 512}}, - {{203, 222}, {213, 214}}, - {{202, 203}, {213, 520}}, - {{222, 223}, {214, 539}}, - {{206, 226}, {215, 352}}, - {{207, 226}, {215, 217}}, - {{206, 207}, {215, 523}}, - {{207, 208}, {216, 221}}, - {{188, 207}, {216, 506}}, - {{226, 227}, {217, 541}}, - {{207, 227}, {217, 221}}, - {{212, 213}, {218, 528}}, - {{216, 217}, {219, 535}}, - {{221, 222}, {220, 534}}, - {{201, 221}, {220, 349}}, - {{208, 227}, {221, 524}}, - {{229, 242}, {222, 223}}, - {{228, 229}, {222, 357}}, - {{242, 243}, {223, 368}}, - {{229, 243}, {223, 235}}, - {{229, 244}, {224, 235}}, - {{230, 244}, {224, 225}}, - {{229, 230}, {224, 358}}, - {{231, 244}, {225, 226}}, - {{230, 231}, {225, 360}}, - {{244, 245}, {226, 371}}, - {{233, 246}, {227, 228}}, - {{232, 233}, {227, 361}}, - {{246, 247}, {228, 374}}, - {{235, 248}, {229, 230}}, - {{234, 235}, {229, 362}}, - {{248, 249}, {230, 375}}, - {{235, 249}, {230, 236}}, - {{235, 250}, {231, 236}}, - {{236, 250}, {231, 232}}, - {{235, 236}, {231, 356}}, - {{237, 250}, {232, 233}}, - {{236, 237}, {232, 363}}, - {{250, 251}, {233, 376}}, - {{239, 254}, {234, 237}}, - {{239, 240}, {234, 367}}, - {{243, 244}, {235, 370}}, - {{249, 250}, {236, 372}}, - {{253, 254}, {237, 377}}, - {{257, 270}, {238, 239}}, - {{256, 257}, {238, 382}}, - {{270, 271}, {239, 395}}, - {{259, 272}, {240, 241}}, - {{258, 259}, {240, 385}}, - {{272, 273}, {241, 398}}, - {{261, 274}, {242, 243}}, - {{260, 261}, {242, 386}}, - {{274, 275}, {243, 399}}, - {{263, 276}, {244, 245}}, - {{262, 263}, {244, 389}}, - {{276, 277}, {245, 394}}, - {{267, 282}, {246, 247}}, - {{267, 268}, {246, 387}}, - {{281, 282}, {247, 403}}, - {{267, 281}, {247, 546}}, - {{1, 3}, {248, 249}}, - {{0, 3}, {248, 251}}, - {{3, 20}, {250, 253}}, - {{3, 21}, {250, 251}}, - {{4, 18}, {252, 254}}, - {{4, 19}, {252, 267}}, - {{4, 20}, {253, 267}}, - {{5, 18}, {254, 256}}, - {{6, 16}, {255, 257}}, - {{6, 17}, {255, 266}}, - {{6, 18}, {256, 266}}, - {{7, 16}, {257, 259}}, - {{8, 14}, {258, 260}}, - {{8, 15}, {258, 265}}, - {{8, 16}, {259, 265}}, - {{9, 14}, {260, 262}}, - {{10, 12}, {261, 263}}, - {{10, 13}, {261, 264}}, - {{10, 14}, {262, 264}}, - {{22, 25}, {268, 269}}, - {{23, 25}, {268, 270}}, - {{25, 43}, {269, 287}}, - {{25, 42}, {271, 287}}, - {{26, 42}, {271, 273}}, - {{26, 41}, {272, 273}}, - {{27, 41}, {272, 275}}, - {{27, 39}, {274, 286}}, - {{28, 39}, {274, 276}}, - {{27, 40}, {275, 286}}, - {{29, 39}, {276, 278}}, - {{29, 37}, {277, 285}}, - {{30, 37}, {277, 279}}, - {{29, 38}, {278, 285}}, - {{31, 37}, {279, 281}}, - {{31, 35}, {280, 284}}, - {{32, 35}, {280, 282}}, - {{31, 36}, {281, 284}}, - {{33, 35}, {282, 283}}, - {{48, 77}, {288, 289}}, - {{48, 78}, {289, 305}}, - {{48, 79}, {290, 305}}, - {{49, 79}, {290, 291}}, - {{50, 79}, {291, 292}}, - {{50, 80}, {292, 293}}, - {{51, 80}, {293, 294}}, - {{51, 81}, {294, 306}}, - {{51, 82}, {295, 306}}, - {{52, 82}, {295, 296}}, - {{53, 82}, {296, 297}}, - {{53, 83}, {297, 307}}, - {{53, 84}, {298, 307}}, - {{62, 92}, {299, 421}}, - {{63, 92}, {299, 300}}, - {{69, 98}, {301, 302}}, - {{69, 99}, {302, 303}}, - {{70, 99}, {303, 304}}, - {{70, 100}, {304, 432}}, - {{104, 126}, {308, 315}}, - {{105, 126}, {308, 309}}, - {{104, 105}, {308, 435}}, - {{126, 127}, {309, 459}}, - {{105, 127}, {309, 310}}, - {{106, 127}, {310, 311}}, - {{105, 106}, {310, 437}}, - {{127, 128}, {311, 460}}, - {{113, 134}, {312, 313}}, - {{112, 113}, {312, 447}}, - {{134, 135}, {313, 471}}, - {{113, 135}, {313, 314}}, - {{114, 135}, {314, 316}}, - {{113, 114}, {314, 449}}, - {{114, 126}, {315, 323}}, - {{104, 114}, {315, 434}}, - {{135, 136}, {316, 474}}, - {{114, 136}, {316, 323}}, - {{115, 138}, {317, 324}}, - {{115, 116}, {317, 448}}, - {{115, 142}, {318, 322}}, - {{137, 142}, {318, 476}}, - {{115, 137}, {318, 324}}, - {{119, 140}, {319, 320}}, - {{118, 119}, {319, 453}}, - {{140, 141}, {320, 478}}, - {{119, 141}, {320, 325}}, - {{119, 142}, {321, 325}}, - {{120, 142}, {321, 322}}, - {{119, 120}, {321, 436}}, - {{115, 120}, {322, 454}}, - {{126, 136}, {323, 475}}, - {{137, 138}, {324, 458}}, - {{141, 142}, {325, 479}}, - {{150, 161}, {326, 327}}, - {{149, 150}, {326, 482}}, - {{161, 162}, {327, 492}}, - {{153, 166}, {328, 329}}, - {{153, 154}, {328, 488}}, - {{165, 166}, {329, 496}}, - {{172, 175}, {330, 333}}, - {{175, 177}, {330, 334}}, - {{172, 177}, {330, 335}}, - {{172, 178}, {331, 335}}, - {{172, 174}, {332, 333}}, - {{174, 175}, {333, 502}}, - {{176, 177}, {334, 504}}, - {{180, 182}, {336, 337}}, - {{180, 185}, {337, 338}}, - {{182, 185}, {337, 339}}, - {{185, 187}, {338, 341}}, - {{183, 185}, {339, 340}}, - {{182, 183}, {339, 503}}, - {{184, 185}, {340, 505}}, - {{194, 213}, {342, 343}}, - {{193, 194}, {342, 513}}, - {{213, 214}, {343, 529}}, - {{194, 214}, {343, 353}}, - {{194, 215}, {344, 353}}, - {{194, 195}, {344, 514}}, - {{199, 218}, {345, 346}}, - {{198, 199}, {345, 518}}, - {{218, 219}, {346, 537}}, - {{199, 219}, {346, 354}}, - {{199, 220}, {347, 354}}, - {{200, 220}, {347, 348}}, - {{199, 200}, {347, 515}}, - {{201, 220}, {348, 349}}, - {{200, 201}, {348, 519}}, - {{220, 221}, {349, 536}}, - {{204, 225}, {350, 355}}, - {{205, 225}, {350, 351}}, - {{204, 205}, {350, 509}}, - {{206, 225}, {351, 352}}, - {{205, 206}, {351, 522}}, - {{225, 226}, {352, 540}}, - {{214, 215}, {353, 532}}, - {{219, 220}, {354, 538}}, - {{224, 225}, {355, 531}}, - {{229, 235}, {356, 358}}, - {{229, 236}, {356, 363}}, - {{229, 237}, {357, 363}}, - {{228, 237}, {357, 364}}, - {{230, 235}, {358, 360}}, - {{231, 233}, {359, 361}}, - {{231, 234}, {359, 362}}, - {{231, 235}, {360, 362}}, - {{237, 241}, {364, 365}}, - {{238, 241}, {365, 366}}, - {{239, 241}, {366, 367}}, - {{242, 250}, {368, 376}}, - {{243, 250}, {368, 370}}, - {{242, 252}, {369, 378}}, - {{242, 251}, {369, 376}}, - {{244, 250}, {370, 372}}, - {{244, 248}, {371, 375}}, - {{245, 248}, {371, 373}}, - {{244, 249}, {372, 375}}, - {{246, 248}, {373, 374}}, - {{252, 254}, {377, 379}}, - {{252, 255}, {378, 379}}, - {{256, 267}, {380, 382}}, - {{262, 267}, {380, 390}}, - {{256, 262}, {380, 389}}, - {{257, 265}, {381, 391}}, - {{265, 266}, {381, 544}}, - {{257, 266}, {381, 392}}, - {{257, 267}, {382, 392}}, - {{258, 264}, {383, 384}}, - {{257, 264}, {383, 391}}, - {{258, 269}, {384, 385}}, - {{259, 269}, {385, 393}}, - {{259, 261}, {386, 388}}, - {{261, 267}, {387, 390}}, - {{261, 268}, {387, 388}}, - {{259, 268}, {388, 393}}, - {{264, 265}, {391, 542}}, - {{266, 267}, {392, 545}}, - {{270, 276}, {394, 402}}, - {{270, 280}, {395, 406}}, - {{271, 280}, {395, 405}}, - {{271, 278}, {396, 397}}, - {{272, 278}, {396, 404}}, - {{271, 279}, {397, 405}}, - {{278, 279}, {397, 543}}, - {{272, 282}, {398, 407}}, - {{273, 282}, {398, 400}}, - {{273, 275}, {399, 400}}, - {{275, 282}, {400, 401}}, - {{276, 282}, {401, 403}}, - {{276, 281}, {402, 403}}, - {{270, 281}, {402, 406}}, - {{272, 283}, {404, 407}}, - {{279, 280}, {405, 547}}, - {{280, 281}, {406, 546}}, - {{44, 75}, {408, 427}}, - {{45, 75}, {408, 410}}, - {{44, 103}, {409, 426}}, - {{44, 74}, {409, 427}}, - {{46, 75}, {410, 411}}, - {{55, 86}, {412, 428}}, - {{56, 86}, {412, 413}}, - {{57, 86}, {413, 414}}, - {{57, 87}, {414, 429}}, - {{57, 88}, {415, 429}}, - {{58, 88}, {415, 416}}, - {{59, 88}, {416, 417}}, - {{59, 89}, {417, 430}}, - {{59, 90}, {418, 430}}, - {{60, 90}, {418, 419}}, - {{61, 90}, {419, 420}}, - {{61, 91}, {420, 431}}, - {{61, 92}, {421, 431}}, - {{70, 101}, {422, 432}}, - {{71, 101}, {422, 423}}, - {{72, 101}, {423, 424}}, - {{72, 102}, {424, 433}}, - {{72, 103}, {425, 433}}, - {{73, 103}, {425, 426}}, - {{104, 115}, {434, 435}}, - {{114, 115}, {434, 448}}, - {{105, 115}, {435, 454}}, - {{106, 119}, {436, 456}}, - {{106, 120}, {436, 437}}, - {{105, 120}, {437, 454}}, - {{107, 122}, {438, 455}}, - {{106, 122}, {438, 456}}, - {{108, 121}, {439, 440}}, - {{107, 121}, {439, 455}}, - {{108, 125}, {440, 441}}, - {{109, 125}, {441, 443}}, - {{110, 124}, {442, 445}}, - {{110, 125}, {442, 443}}, - {{111, 118}, {444, 446}}, - {{118, 123}, {444, 452}}, - {{111, 123}, {444, 457}}, - {{111, 124}, {445, 457}}, - {{112, 118}, {446, 451}}, - {{113, 117}, {447, 450}}, - {{112, 117}, {447, 451}}, - {{114, 116}, {448, 449}}, - {{113, 116}, {449, 450}}, - {{118, 122}, {452, 453}}, - {{119, 122}, {453, 456}}, - {{126, 138}, {458, 475}}, - {{126, 137}, {458, 476}}, - {{126, 142}, {459, 476}}, - {{127, 142}, {459, 460}}, - {{128, 142}, {460, 481}}, - {{128, 144}, {461, 481}}, - {{129, 144}, {461, 463}}, - {{129, 143}, {462, 463}}, - {{130, 143}, {462, 464}}, - {{131, 143}, {464, 465}}, - {{131, 147}, {465, 466}}, - {{132, 147}, {466, 467}}, - {{133, 147}, {467, 470}}, - {{133, 145}, {468, 469}}, - {{134, 145}, {468, 473}}, - {{133, 146}, {469, 470}}, - {{134, 138}, {471, 477}}, - {{135, 138}, {471, 474}}, - {{134, 140}, {472, 473}}, - {{134, 139}, {472, 477}}, - {{140, 145}, {473, 478}}, - {{136, 138}, {474, 475}}, - {{141, 145}, {478, 480}}, - {{141, 144}, {479, 480}}, - {{142, 144}, {479, 481}}, - {{148, 150}, {482, 484}}, - {{150, 156}, {483, 485}}, - {{150, 157}, {483, 490}}, - {{150, 159}, {484, 490}}, - {{151, 156}, {485, 487}}, - {{151, 153}, {486, 487}}, - {{153, 156}, {487, 488}}, - {{154, 156}, {488, 489}}, - {{157, 159}, {490, 491}}, - {{160, 162}, {492, 493}}, - {{160, 169}, {493, 501}}, - {{162, 169}, {493, 494}}, - {{163, 169}, {494, 497}}, - {{163, 165}, {495, 496}}, - {{163, 166}, {496, 499}}, - {{163, 168}, {497, 499}}, - {{166, 168}, {498, 499}}, - {{169, 171}, {500, 501}}, - {{175, 182}, {502, 503}}, - {{177, 184}, {504, 505}}, - {{189, 207}, {506, 507}}, - {{190, 207}, {507, 523}}, - {{191, 206}, {508, 510}}, - {{190, 206}, {508, 523}}, - {{192, 204}, {509, 511}}, - {{192, 205}, {509, 522}}, - {{192, 206}, {510, 522}}, - {{193, 204}, {511, 521}}, - {{194, 201}, {512, 514}}, - {{194, 202}, {512, 520}}, - {{194, 203}, {513, 520}}, - {{193, 203}, {513, 521}}, - {{195, 201}, {514, 516}}, - {{196, 199}, {515, 517}}, - {{196, 200}, {515, 519}}, - {{196, 201}, {516, 519}}, - {{197, 199}, {517, 518}}, - {{209, 227}, {524, 541}}, - {{209, 226}, {525, 541}}, - {{210, 226}, {525, 526}}, - {{211, 226}, {526, 540}}, - {{211, 225}, {527, 540}}, - {{212, 225}, {527, 528}}, - {{213, 225}, {528, 531}}, - {{213, 222}, {529, 539}}, - {{214, 222}, {529, 532}}, - {{213, 224}, {530, 531}}, - {{213, 223}, {530, 539}}, - {{215, 222}, {532, 534}}, - {{215, 221}, {533, 534}}, - {{216, 221}, {533, 536}}, - {{216, 220}, {535, 536}}, - {{217, 220}, {535, 538}}, - {{217, 219}, {537, 538}}, - {{265, 278}, {542, 543}}, - {{265, 279}, {543, 547}}, - {{265, 280}, {544, 547}}, - {{266, 280}, {544, 545}}, - {{267, 280}, {545, 546}}, +const edge_polygon mesh_jam_edge_polygons[] = { + {{15, 16}, {0, 61}}, + {{3, 16}, {0, 30}}, + {{2, 3}, {0, 53}}, + {{2, 15}, {0, 13}}, + {{18, 19}, {1, 66}}, + {{6, 19}, {1, 15}}, + {{5, 6}, {1, 57}}, + {{5, 18}, {1, 32}}, + {{20, 21}, {2, 67}}, + {{8, 21}, {2, 58}}, + {{7, 8}, {2, 54}}, + {{7, 20}, {2, 15}}, + {{23, 24}, {3, 65}}, + {{11, 24}, {3, 31}}, + {{10, 11}, {3, 59}}, + {{10, 23}, {3, 14}}, + {{43, 44}, {4, 51}}, + {{30, 44}, {4, 21}}, + {{29, 30}, {4, 42}}, + {{29, 43}, {4, 19}}, + {{45, 46}, {5, 51}}, + {{32, 46}, {5, 22}}, + {{31, 32}, {5, 42}}, + {{31, 45}, {5, 21}}, + {{52, 53}, {6, 40}}, + {{39, 53}, {6, 8}}, + {{38, 39}, {6, 37}}, + {{38, 52}, {6, 20}}, + {{50, 51}, {7, 40}}, + {{37, 51}, {7, 20}}, + {{36, 37}, {7, 37}}, + {{36, 50}, {7, 68}}, + {{40, 53}, {8, 43}}, + {{26, 40}, {8, 17}}, + {{26, 39}, {8, 36}}, + {{66, 67}, {9, 50}}, + {{56, 67}, {9, 27}}, + {{55, 56}, {9, 46}}, + {{55, 66}, {9, 25}}, + {{68, 69}, {10, 75}}, + {{58, 69}, {10, 26}}, + {{57, 58}, {10, 71}}, + {{57, 68}, {10, 27}}, + {{70, 71}, {11, 48}}, + {{60, 71}, {11, 29}}, + {{59, 60}, {11, 33}}, + {{59, 70}, {11, 26}}, + {{65, 72}, {12, 44}}, + {{54, 65}, {12, 25}}, + {{54, 61}, {12, 74}}, + {{61, 72}, {12, 29}}, + {{14, 15}, {13, 60}}, + {{1, 2}, {13, 52}}, + {{1, 14}, {13, 69}}, + {{9, 10}, {14, 56}}, + {{9, 22}, {14, 58}}, + {{22, 23}, {14, 64}}, + {{19, 20}, {15, 67}}, + {{6, 7}, {15, 54}}, + {{13, 25}, {16, 60}}, + {{0, 13}, {16, 69}}, + {{0, 12}, {16, 52}}, + {{12, 25}, {16, 31}}, + {{40, 41}, {17, 39}}, + {{27, 41}, {17, 18}}, + {{26, 27}, {17, 34}}, + {{41, 42}, {18, 41}}, + {{28, 42}, {18, 19}}, + {{27, 28}, {18, 35}}, + {{42, 43}, {19, 62}}, + {{28, 29}, {19, 38}}, + {{51, 52}, {20, 40}}, + {{37, 38}, {20, 37}}, + {{44, 45}, {21, 51}}, + {{30, 31}, {21, 42}}, + {{46, 47}, {22, 62}}, + {{33, 47}, {22, 23}}, + {{32, 33}, {22, 38}}, + {{47, 48}, {23, 41}}, + {{34, 48}, {23, 24}}, + {{33, 34}, {23, 35}}, + {{48, 49}, {24, 39}}, + {{35, 49}, {24, 68}}, + {{34, 35}, {24, 34}}, + {{65, 66}, {25, 47}}, + {{54, 55}, {25, 73}}, + {{69, 70}, {26, 75}}, + {{58, 59}, {26, 71}}, + {{67, 68}, {27, 70}}, + {{56, 57}, {27, 72}}, + {{74, 75}, {28, 48}}, + {{64, 75}, {28, 45}}, + {{63, 64}, {28, 33}}, + {{63, 74}, {28, 49}}, + {{71, 72}, {29, 44}}, + {{60, 61}, {29, 74}}, + {{16, 17}, {30, 63}}, + {{4, 17}, {30, 32}}, + {{3, 4}, {30, 55}}, + {{11, 12}, {31, 55}}, + {{24, 25}, {31, 63}}, + {{17, 18}, {32, 64}}, + {{4, 5}, {32, 56}}, + {{60, 63}, {33, 74}}, + {{59, 64}, {33, 71}}, + {{26, 35}, {34, 36}}, + {{27, 34}, {34, 35}}, + {{28, 33}, {35, 38}}, + {{35, 36}, {36, 68}}, + {{36, 39}, {36, 37}}, + {{29, 32}, {38, 42}}, + {{41, 48}, {39, 41}}, + {{40, 49}, {39, 43}}, + {{50, 53}, {40, 43}}, + {{42, 47}, {41, 62}}, + {{49, 50}, {43, 68}}, + {{71, 74}, {44, 48}}, + {{65, 74}, {44, 47}}, + {{73, 75}, {45, 70}}, + {{62, 73}, {45, 49}}, + {{62, 64}, {45, 72}}, + {{56, 62}, {46, 72}}, + {{55, 62}, {46, 73}}, + {{73, 74}, {47, 49}}, + {{66, 73}, {47, 50}}, + {{70, 75}, {48, 75}}, + {{62, 63}, {49, 73}}, + {{67, 73}, {50, 70}}, + {{43, 46}, {51, 62}}, + {{0, 1}, {52, 69}}, + {{2, 12}, {52, 53}}, + {{3, 12}, {53, 55}}, + {{8, 9}, {54, 58}}, + {{6, 9}, {54, 57}}, + {{4, 11}, {55, 59}}, + {{4, 10}, {56, 59}}, + {{5, 9}, {56, 57}}, + {{21, 22}, {58, 67}}, + {{15, 25}, {60, 61}}, + {{13, 14}, {60, 69}}, + {{16, 25}, {61, 63}}, + {{17, 24}, {63, 65}}, + {{18, 22}, {64, 66}}, + {{17, 23}, {64, 65}}, + {{19, 22}, {66, 67}}, + {{68, 75}, {70, 75}}, + {{57, 64}, {71, 72}}, + {{54, 63}, {73, 74}}, }; -const mesh_material mesh_logo_materials[] = { - { // material 32BitColors.png +const mesh_material mesh_jam_materials[] = { + { // material colors.png .width = 8, .height = 8, .offset = 0, }, }; -const vec2 * mesh_logo_uv_layers[] = { - mesh_logo_UVMap_uvmap, +const vec2 * mesh_jam_uv_layers[] = { + mesh_jam_UVMap_uvmap, }; -const mesh mesh_logo = { - .position = mesh_logo_position, - .position_length = (sizeof (mesh_logo_position)) / (sizeof (mesh_logo_position[0])), - .normal = mesh_logo_normal, - .normal_length = (sizeof (mesh_logo_normal)) / (sizeof (mesh_logo_normal[0])), - .polygon_normal = mesh_logo_polygon_normal, - .polygon_normal_length = (sizeof (mesh_logo_polygon_normal)) / (sizeof (mesh_logo_polygon_normal[0])), - .polygons = mesh_logo_polygons, - .polygons_length = (sizeof (mesh_logo_polygons)) / (sizeof (mesh_logo_polygons[0])), - .uv_layers = mesh_logo_uv_layers, - .uv_layers_length = (sizeof (mesh_logo_uv_layers)) / (sizeof (mesh_logo_uv_layers[0])), - .materials = mesh_logo_materials, - .materials_length = (sizeof (mesh_logo_materials)) / (sizeof (mesh_logo_materials[0])), - .edge_polygons = mesh_logo_edge_polygons, - .edge_polygons_length = (sizeof (mesh_logo_edge_polygons)) / (sizeof (mesh_logo_edge_polygons[0])), +const mesh mesh_jam = { + .position = mesh_jam_position, + .position_length = (sizeof (mesh_jam_position)) / (sizeof (mesh_jam_position[0])), + .normal = mesh_jam_normal, + .normal_length = (sizeof (mesh_jam_normal)) / (sizeof (mesh_jam_normal[0])), + .polygon_normal = mesh_jam_polygon_normal, + .polygon_normal_length = (sizeof (mesh_jam_polygon_normal)) / (sizeof (mesh_jam_polygon_normal[0])), + .polygons = mesh_jam_polygons, + .polygons_length = (sizeof (mesh_jam_polygons)) / (sizeof (mesh_jam_polygons[0])), + .uv_layers = mesh_jam_uv_layers, + .uv_layers_length = (sizeof (mesh_jam_uv_layers)) / (sizeof (mesh_jam_uv_layers[0])), + .materials = mesh_jam_materials, + .materials_length = (sizeof (mesh_jam_materials)) / (sizeof (mesh_jam_materials[0])), + .edge_polygons = mesh_jam_edge_polygons, + .edge_polygons_length = (sizeof (mesh_jam_edge_polygons)) / (sizeof (mesh_jam_edge_polygons[0])), }; const object objects[] = { - { // object_logo - .mesh = &mesh_logo, + { // object_bit + .mesh = &mesh_bit, + .scale = {1.000000, 1.000000, 1.000000}, + .rotation = {0.707107, 0.000000, 0.000000, 0.707107}, // quaternion (XYZW) + .location = {0.000000, 0.000000, 0.000000}, + }, + { // object_jam + .mesh = &mesh_jam, + .scale = {1.000000, 1.000000, 1.000000}, + .rotation = {0.707107, 0.000000, 0.000000, 0.707107}, // quaternion (XYZW) + .location = {0.000000, 0.000000, 0.000000}, + }, + { // object_thirty_two + .mesh = &mesh_thirty_two, .scale = {1.000000, 1.000000, 1.000000}, .rotation = {0.707107, 0.000000, 0.000000, 0.707107}, // quaternion (XYZW) .location = {0.000000, 0.000000, 0.000000}, diff --git a/src/framebuffer.cpp b/src/framebuffer.cpp index d7b6814..6b9948a 100644 --- a/src/framebuffer.cpp +++ b/src/framebuffer.cpp @@ -129,7 +129,7 @@ void core_param_init() { uint32_t region_array_start = texture_memory_alloc.region_array.start; uint32_t isp_tsp_parameters_start = texture_memory_alloc.isp_tsp_parameters.start; - uint32_t background_start = texture_memory_alloc.framebuffer[0].start; + uint32_t background_start = texture_memory_alloc.background[0].start; holly.REGION_BASE = region_array_start; holly.PARAM_BASE = isp_tsp_parameters_start; diff --git a/src/scene/logo/scene.cpp b/src/scene/logo/scene.cpp index 4914c09..bccc0d6 100644 --- a/src/scene/logo/scene.cpp +++ b/src/scene/logo/scene.cpp @@ -16,14 +16,48 @@ static vec3 screen_transform(const vec3& v) return {v.x, v.y, 1.0f / v.z}; } -static void render_mesh(ta_parameter_writer& writer, const mesh& mesh, const mat4x4& trans) +static inline float light_intensity(vec3 n, vec3 l) { - const int base_color = 0xffffff; + float ambient = 0.2f; + float diffuse_strength = 0.7f; + + float n_dot_l = dot(n, l); + float diffuse = 0; + if (n_dot_l > 0) + diffuse = diffuse_strength * n_dot_l * (inverse_length(n) * inverse_length(l)); + + return ambient + diffuse; +} + +vec3 light_vec = (vec3){-1, -1, -1} - (vec3){0, 0, 0}; + +static void render_mesh(ta_parameter_writer& writer, const mesh& mesh, const mat4x4& trans, bool wireframe) +{ + if (wireframe) { + global_polygon_untextured(writer, + para_control::list_type::opaque, + tsp_instruction_word::dst_alpha_instr::zero); + } else { + uint32_t texture_size = tsp_instruction_word::texture_u_size::from_int(8) + | tsp_instruction_word::texture_v_size::from_int(8); + + global_polygon_intensity(writer, + para_control::list_type::opaque, + texture::offset::logo, + texture_size, + texture_control_word::pixel_format::_565); + } vec3 position_cache[mesh.position_length]; for (int i = 0; i < mesh.position_length; i++) { position_cache[i] = screen_transform(trans * mesh.position[i]); } + vec3 normal_cache[mesh.polygons_length]; + for (int i = 0; i < mesh.polygons_length; i++) { + normal_cache[i] = normal_multiply(trans, mesh.polygon_normal[i]); + } + + const int green = 0x00ff00; for (int i = 0; i < mesh.polygons_length; i++) { const polygon& p = mesh.polygons[i]; @@ -31,16 +65,40 @@ static void render_mesh(ta_parameter_writer& writer, const mesh& mesh, const mat vec3 ap = position_cache[p.a]; vec3 bp = position_cache[p.b]; vec3 cp = position_cache[p.c]; + vec3 dp = position_cache[p.d]; - vec2 at = mesh.uv_layers[0][p.uv_index + 0]; - vec2 bt = mesh.uv_layers[0][p.uv_index + 1]; - vec2 ct = mesh.uv_layers[0][p.uv_index + 2]; + if (wireframe) { + line_type_0(writer, ap, bp, green); + line_type_0(writer, bp, cp, green); + if (p.d == -1) { + line_type_0(writer, cp, ap, green); + } else { + line_type_0(writer, cp, dp, green); + line_type_0(writer, dp, ap, green); + } + } else { + vec2 at = mesh.uv_layers[0][p.uv_index + 0]; + vec2 bt = mesh.uv_layers[0][p.uv_index + 1]; + vec2 ct = mesh.uv_layers[0][p.uv_index + 2]; + vec2 dt = mesh.uv_layers[0][p.uv_index + 3]; - tri_type_3(writer, - ap, at, - bp, bt, - cp, ct, - base_color); + float intensity = light_intensity(normal_cache[i], light_vec); + + if (p.d == -1) { + tri_type_7(writer, + ap, at, + bp, bt, + cp, ct, + intensity); + } else { + quad_type_7(writer, + ap, at, + bp, bt, + cp, ct, + dp, dt, + intensity); + } + } } } @@ -68,6 +126,7 @@ namespace scene::logo { struct keyframe { float rx; float ry; + float s; float duration; }; @@ -75,11 +134,13 @@ namespace scene::logo { { .rx = 0, .ry = 0, + .s = 0.1, .duration = 1.0 / (5 * 60), }, { .rx = pi / 4, .ry = pi + pi / 4, + .s = 0.7, .duration = 1.0 / (10 * 60), }, }; @@ -100,25 +161,18 @@ namespace scene::logo { float drx = b.rx - a.rx; float dry = b.ry - a.ry; + float drs = b.s - a.s; return { .rx = a.rx + drx * ratio, .ry = a.ry + dry * ratio, + .s = a.s + drs * ratio, .duration = a.duration, }; } void transfer(ta_parameter_writer& writer) { - uint32_t texture_size = tsp_instruction_word::texture_u_size::from_int(8) - | tsp_instruction_word::texture_v_size::from_int(8); - - global_polygon_textured(writer, - para_control::list_type::opaque, - texture::offset::logo, - texture_size, - texture_control_word::pixel_format::_565); - vec3 t = {framebuffer.px_width / 2.f, framebuffer.px_height / 2.f, 0}; float s = framebuffer.px_height / 3.f; @@ -130,11 +184,14 @@ namespace scene::logo { * translate((vec3){0, 0, 10}) //* rotate_x(pi / 8) //* rotate_y(pi + pi/8) + * scale(k.s) * rotate_x(k.rx) * rotate_y(k.ry) * scale((vec3){-1, -1, 1}); - render_mesh(writer, mesh_logo, trans); + render_mesh(writer, mesh_thirty_two, trans, tick < (6 * 60)); + render_mesh(writer, mesh_bit, trans, tick < (7 * 60)); + render_mesh(writer, mesh_jam, trans, tick < (8 * 60)); writer.append() = ta_global_parameter::end_of_list(para_control::para_type::end_of_list); diff --git a/src/ta_parameter.hpp b/src/ta_parameter.hpp index 3e7a9be..4dcac94 100644 --- a/src/ta_parameter.hpp +++ b/src/ta_parameter.hpp @@ -8,6 +8,8 @@ #include "holly/texture_memory_alloc9.hpp" #include "math/float_types.hpp" +#include "math/math.hpp" + static inline void global_polygon_textured(ta_parameter_writer& writer, uint32_t list_type, uint32_t texture_offset, @@ -44,6 +46,40 @@ static inline void global_polygon_textured(ta_parameter_writer& writer, ); } +static inline void global_polygon_intensity(ta_parameter_writer& writer, + uint32_t list_type, + uint32_t texture_offset, + uint32_t texture_size, + uint32_t pixel_format) +{ + const uint32_t parameter_control_word = para_control::para_type::polygon_or_modifier_volume + | list_type + | obj_control::col_type::packed_color + | obj_control::texture + | obj_control::col_type::intensity_mode_1 + ; + + const uint32_t isp_tsp_instruction_word = isp_tsp_instruction_word::depth_compare_mode::greater_or_equal + | isp_tsp_instruction_word::culling_mode::no_culling; + + const uint32_t tsp_instruction_word = tsp_instruction_word::texture_shading_instruction::modulate + | tsp_instruction_word::src_alpha_instr::one + | tsp_instruction_word::dst_alpha_instr::zero + | tsp_instruction_word::fog_control::no_fog + | texture_size; + + const uint32_t texture_address = texture_memory_alloc.texture.start + texture_offset; + const uint32_t texture_control_word = pixel_format + | texture_control_word::scan_order::twiddled + | texture_control_word::texture_address(texture_address / 8); + + writer.append() = + ta_global_parameter::polygon_type_1(parameter_control_word, + isp_tsp_instruction_word, + tsp_instruction_word, + texture_control_word, + 1, 1, 1, 1); +} static inline void global_polygon_untextured(ta_parameter_writer& writer, uint32_t list_type, uint32_t dst_alpha) { @@ -109,29 +145,61 @@ static inline void quad_type_3(ta_parameter_writer& writer, base_color, 0); } -static inline void tri_type_3(ta_parameter_writer& writer, +static inline void tri_type_7(ta_parameter_writer& writer, const vec3& ap, const vec2& at, const vec3& bp, const vec2& bt, const vec3& cp, const vec2& ct, - int base_color) + float intensity) { - writer.append() = - ta_vertex_parameter::polygon_type_3(polygon_vertex_parameter_control_word(false), + writer.append() = + ta_vertex_parameter::polygon_type_7(polygon_vertex_parameter_control_word(false), ap.x, ap.y, ap.z, at.x, at.y, - base_color, 0); + intensity, 0); - writer.append() = - ta_vertex_parameter::polygon_type_3(polygon_vertex_parameter_control_word(false), + writer.append() = + ta_vertex_parameter::polygon_type_7(polygon_vertex_parameter_control_word(false), bp.x, bp.y, bp.z, bt.x, bt.y, - base_color, 0); + intensity, 0); - writer.append() = - ta_vertex_parameter::polygon_type_3(polygon_vertex_parameter_control_word(true), + writer.append() = + ta_vertex_parameter::polygon_type_7(polygon_vertex_parameter_control_word(true), cp.x, cp.y, cp.z, ct.x, ct.y, - base_color, 0); + intensity, 0); +} + +static inline void quad_type_7(ta_parameter_writer& writer, + const vec3& ap, const vec2& at, + const vec3& bp, const vec2& bt, + const vec3& cp, const vec2& ct, + const vec3& dp, const vec2& dt, + float intensity) +{ + writer.append() = + ta_vertex_parameter::polygon_type_7(polygon_vertex_parameter_control_word(false), + ap.x, ap.y, ap.z, + at.x, at.y, + intensity, 0); + + writer.append() = + ta_vertex_parameter::polygon_type_7(polygon_vertex_parameter_control_word(false), + bp.x, bp.y, bp.z, + bt.x, bt.y, + intensity, 0); + + writer.append() = + ta_vertex_parameter::polygon_type_7(polygon_vertex_parameter_control_word(false), + dp.x, dp.y, dp.z, + dt.x, dt.y, + intensity, 0); + + writer.append() = + ta_vertex_parameter::polygon_type_7(polygon_vertex_parameter_control_word(true), + cp.x, cp.y, cp.z, + ct.x, ct.y, + intensity, 0); } static inline void quad_type_0(ta_parameter_writer& writer, @@ -161,3 +229,29 @@ static inline void quad_type_0(ta_parameter_writer& writer, cp.x, cp.y, cp.z, base_color); } + +#define _fsrra(n) (1.0f / (sqrt(n))) + +static inline void line_type_0(ta_parameter_writer& writer, + const vec3& p1, + const vec3& p2, + int base_color) +{ + float dy = p2.y - p1.y; + float dx = p2.x - p1.x; + float d = _fsrra(dx * dx + dy * dy) * 0.7f; + float dy1 = dy * d; + float dx1 = dx * d; + + vec3 ap = { p1.x + dy1, p1.y + -dx1, p1.z }; + vec3 bp = { p1.x + -dy1, p1.y + dx1, p1.z }; + vec3 cp = { p2.x + -dy1, p2.y + dx1, p2.z }; + vec3 dp = { p2.x + dy1, p2.y + -dx1, p2.z }; + + quad_type_0(writer, + ap, + bp, + cp, + dp, + base_color); +}