251 lines
8.4 KiB
C++
251 lines
8.4 KiB
C++
#pragma once
|
|
|
|
#include "geometry/geometry.hpp"
|
|
|
|
namespace king {
|
|
constexpr vec3 vertices[] = {
|
|
{ 0.587722f, -0.812159f, -0.500000f },
|
|
{ 0.508186f, -0.497465f, -0.500000f },
|
|
{ 0.569728f, -0.561184f, -0.500000f },
|
|
{ 0.590376f, -0.644625f, -0.500000f },
|
|
{ 0.451429f, -0.468419f, -0.500000f },
|
|
{ 0.713971f, -0.169361f, -0.500000f },
|
|
{ 0.769329f, -0.073675f, -0.500000f },
|
|
{ 0.787068f, 0.014243f, -0.500000f },
|
|
{ 0.781478f, 0.126337f, -0.500000f },
|
|
{ 0.743187f, 0.238086f, -0.500000f },
|
|
{ 0.681645f, 0.323805f, -0.500000f },
|
|
{ 0.604056f, 0.381043f, -0.500000f },
|
|
{ 0.502300f, 0.423017f, -0.500000f },
|
|
{ 0.406904f, 0.435736f, -0.500000f },
|
|
{ 0.274621f, 0.424289f, -0.500000f },
|
|
{ 0.163962f, 0.386130f, -0.500000f },
|
|
{ 0.143610f, 0.464991f, -0.500000f },
|
|
{ 0.263174f, 0.464991f, -0.500000f },
|
|
{ 0.261902f, 0.705390f, -0.500000f },
|
|
{ 0.134707f, 0.706662f, -0.500000f },
|
|
{ 0.133435f, 0.837673f, -0.500000f },
|
|
{ -0.587722f, -0.812159f, -0.500000f },
|
|
{ -0.508186f, -0.497465f, -0.500000f },
|
|
{ -0.569728f, -0.561184f, -0.500000f },
|
|
{ -0.590376f, -0.644625f, -0.500000f },
|
|
{ -0.451429f, -0.468419f, -0.500000f },
|
|
{ -0.713971f, -0.169361f, -0.500000f },
|
|
{ -0.769329f, -0.073675f, -0.500000f },
|
|
{ -0.787068f, 0.014243f, -0.500000f },
|
|
{ -0.781478f, 0.126337f, -0.500000f },
|
|
{ -0.743187f, 0.238086f, -0.500000f },
|
|
{ -0.681645f, 0.323805f, -0.500000f },
|
|
{ -0.604056f, 0.381043f, -0.500000f },
|
|
{ -0.502300f, 0.423017f, -0.500000f },
|
|
{ -0.406904f, 0.435736f, -0.500000f },
|
|
{ -0.274621f, 0.424289f, -0.500000f },
|
|
{ -0.163962f, 0.386130f, -0.500000f },
|
|
{ -0.143610f, 0.464991f, -0.500000f },
|
|
{ -0.263174f, 0.464991f, -0.500000f },
|
|
{ -0.261902f, 0.705390f, -0.500000f },
|
|
{ -0.134707f, 0.706662f, -0.500000f },
|
|
{ -0.133435f, 0.837673f, -0.500000f },
|
|
{ -0.232004f, -0.196898f, -0.500000f },
|
|
{ -0.186214f, -0.196898f, -0.500000f },
|
|
{ 0.186214f, -0.196898f, -0.500000f },
|
|
{ 0.232004f, -0.196898f, -0.500000f },
|
|
{ 0.187740f, 0.064106f, -0.500000f },
|
|
{ 0.361743f, 0.103791f, -0.500000f },
|
|
{ 0.286952f, 0.109897f, -0.500000f },
|
|
{ 0.416691f, 0.025948f, -0.500000f },
|
|
{ 0.398375f, -0.019843f, -0.500000f },
|
|
{ 0.392270f, 0.074791f, -0.500000f },
|
|
{ -0.416691f, 0.025948f, -0.500000f },
|
|
{ -0.398375f, -0.019843f, -0.500000f },
|
|
{ -0.392270f, 0.074791f, -0.500000f },
|
|
{ -0.286952f, 0.109897f, -0.500000f },
|
|
{ -0.361743f, 0.103791f, -0.500000f },
|
|
{ -0.187740f, 0.064106f, -0.500000f },
|
|
{ -0.625504f, 0.268384f, -1.500000f },
|
|
{ -0.565495f, 0.312652f, -1.500000f },
|
|
{ 0.461141f, -0.560928f, -1.500000f },
|
|
{ 0.499116f, -0.600247f, -1.500000f },
|
|
{ 0.511019f, -0.734231f, -1.500000f },
|
|
{ 0.512298f, -0.653515f, -1.500000f },
|
|
{ 0.326852f, -0.492204f, -1.500000f },
|
|
{ 0.650355f, -0.123707f, -1.500000f },
|
|
{ 0.695471f, -0.045723f, -1.500000f },
|
|
{ 0.708752f, 0.020099f, -1.500000f },
|
|
{ 0.704195f, 0.111476f, -1.500000f },
|
|
{ 0.673189f, 0.201964f, -1.500000f },
|
|
{ 0.625504f, 0.268384f, -1.500000f },
|
|
{ 0.565495f, 0.312652f, -1.500000f },
|
|
{ 0.481954f, 0.347113f, -1.500000f },
|
|
{ 0.405092f, 0.357361f, -1.500000f },
|
|
{ 0.290927f, 0.347481f, -1.500000f },
|
|
{ 0.109592f, 0.284952f, -1.500000f },
|
|
{ 0.043020f, 0.542919f, -1.500000f },
|
|
{ 0.184833f, 0.542919f, -1.500000f },
|
|
{ 0.184381f, 0.628234f, -1.500000f },
|
|
{ 0.057525f, 0.629502f, -1.500000f },
|
|
{ 0.056260f, 0.759745f, -1.500000f },
|
|
{ -0.511019f, -0.734231f, -1.500000f },
|
|
{ -0.461141f, -0.560928f, -1.500000f },
|
|
{ -0.499116f, -0.600247f, -1.500000f },
|
|
{ -0.512298f, -0.653515f, -1.500000f },
|
|
{ -0.326852f, -0.492204f, -1.500000f },
|
|
{ -0.650355f, -0.123707f, -1.500000f },
|
|
{ -0.695471f, -0.045723f, -1.500000f },
|
|
{ -0.708752f, 0.020099f, -1.500000f },
|
|
{ -0.704195f, 0.111476f, -1.500000f },
|
|
{ -0.673189f, 0.201964f, -1.500000f },
|
|
{ -0.481954f, 0.347113f, -1.500000f },
|
|
{ -0.405092f, 0.357361f, -1.500000f },
|
|
{ -0.290927f, 0.347481f, -1.500000f },
|
|
{ -0.109592f, 0.284952f, -1.500000f },
|
|
{ -0.043020f, 0.542919f, -1.500000f },
|
|
{ -0.184833f, 0.542919f, -1.500000f },
|
|
{ -0.184381f, 0.628234f, -1.500000f },
|
|
{ -0.057525f, 0.629502f, -1.500000f },
|
|
{ -0.056260f, 0.759745f, -1.500000f },
|
|
{ -0.265712f, -0.274826f, -1.500000f },
|
|
{ -0.107829f, -0.274826f, -1.500000f },
|
|
{ 0.107829f, -0.274826f, -1.500000f },
|
|
{ 0.265712f, -0.274826f, -1.500000f },
|
|
{ 0.110104f, 0.114101f, -1.500000f },
|
|
{ 0.395484f, 0.179223f, -1.500000f },
|
|
{ 0.272886f, 0.189231f, -1.500000f },
|
|
{ 0.502042f, 0.029498f, -1.500000f },
|
|
{ 0.465256f, -0.062466f, -1.500000f },
|
|
{ 0.455855f, 0.121871f, -1.500000f },
|
|
{ -0.465256f, -0.062466f, -1.500000f },
|
|
{ -0.502042f, 0.029498f, -1.500000f },
|
|
{ -0.455855f, 0.121871f, -1.500000f },
|
|
{ -0.272886f, 0.189231f, -1.500000f },
|
|
{ -0.395484f, 0.179223f, -1.500000f },
|
|
{ -0.110104f, 0.114101f, -1.500000f },
|
|
};
|
|
|
|
constexpr face_v faces[] = {
|
|
{{ 71}, { 75}, {105}},
|
|
{{ 92}, {114}, { 94}},
|
|
{{ 76}, { 80}, { 95}},
|
|
{{ 4}, { 45}, { 42}},
|
|
{{ 33}, { 55}, { 36}},
|
|
{{ 13}, { 15}, { 48}},
|
|
{{ 16}, { 40}, { 37}},
|
|
{{109}, {107}, { 67}},
|
|
{{ 67}, { 68}, { 69}},
|
|
{{ 69}, { 70}, { 71}},
|
|
{{ 71}, { 72}, { 73}},
|
|
{{ 73}, { 74}, { 75}},
|
|
{{ 75}, {106}, {105}},
|
|
{{105}, {109}, { 67}},
|
|
{{ 67}, { 69}, { 71}},
|
|
{{ 71}, { 73}, { 75}},
|
|
{{105}, { 67}, { 71}},
|
|
{{ 94}, { 93}, { 92}},
|
|
{{ 92}, { 91}, {114}},
|
|
{{114}, {113}, { 94}},
|
|
{{ 85}, { 82}, { 83}},
|
|
{{ 83}, { 84}, { 81}},
|
|
{{ 81}, { 62}, { 63}},
|
|
{{ 63}, { 61}, { 60}},
|
|
{{ 64}, { 65}, { 66}},
|
|
{{ 63}, { 60}, { 64}},
|
|
{{ 83}, { 81}, { 63}},
|
|
{{ 87}, { 86}, { 85}},
|
|
{{ 85}, { 83}, { 63}},
|
|
{{ 64}, { 66}, { 67}},
|
|
{{ 85}, { 63}, { 64}},
|
|
{{ 88}, { 87}, { 85}},
|
|
{{ 90}, { 89}, { 88}},
|
|
{{ 59}, { 58}, { 90}},
|
|
{{114}, { 91}, { 59}},
|
|
{{112}, {114}, { 59}},
|
|
{{ 59}, { 90}, { 88}},
|
|
{{ 64}, { 67}, {107}},
|
|
{{ 64}, {107}, {108}},
|
|
{{112}, { 59}, { 88}},
|
|
{{111}, {112}, { 88}},
|
|
{{ 64}, {108}, {103}},
|
|
{{ 64}, {103}, {102}},
|
|
{{111}, { 88}, { 85}},
|
|
{{110}, {111}, { 85}},
|
|
{{ 85}, { 64}, {102}},
|
|
{{104}, {106}, { 75}},
|
|
{{100}, {110}, { 85}},
|
|
{{101}, {100}, { 85}},
|
|
{{102}, {104}, { 75}},
|
|
{{ 76}, { 77}, { 78}},
|
|
{{102}, { 75}, { 76}},
|
|
{{101}, { 85}, {102}},
|
|
{{ 94}, {113}, {115}},
|
|
{{115}, {101}, {102}},
|
|
{{ 76}, { 78}, { 79}},
|
|
{{115}, {102}, { 76}},
|
|
{{ 95}, { 94}, {115}},
|
|
{{ 97}, { 96}, { 95}},
|
|
{{ 80}, { 99}, { 98}},
|
|
{{ 98}, { 97}, { 95}},
|
|
{{ 95}, {115}, { 76}},
|
|
{{ 76}, { 79}, { 80}},
|
|
{{ 80}, { 98}, { 95}},
|
|
{{ 32}, { 31}, { 30}},
|
|
{{ 30}, { 29}, { 28}},
|
|
{{ 28}, { 27}, { 26}},
|
|
{{ 25}, { 22}, { 23}},
|
|
{{ 28}, { 26}, { 25}},
|
|
{{ 32}, { 30}, { 28}},
|
|
{{ 56}, { 33}, { 32}},
|
|
{{ 54}, { 56}, { 32}},
|
|
{{ 32}, { 28}, { 25}},
|
|
{{ 25}, { 23}, { 24}},
|
|
{{ 24}, { 21}, { 0}},
|
|
{{ 0}, { 3}, { 2}},
|
|
{{ 2}, { 1}, { 4}},
|
|
{{ 4}, { 5}, { 6}},
|
|
{{ 6}, { 7}, { 8}},
|
|
{{ 8}, { 9}, { 10}},
|
|
{{ 10}, { 11}, { 12}},
|
|
{{ 12}, { 47}, { 51}},
|
|
{{ 12}, { 51}, { 49}},
|
|
{{ 8}, { 10}, { 12}},
|
|
{{ 4}, { 6}, { 8}},
|
|
{{ 0}, { 2}, { 4}},
|
|
{{ 25}, { 24}, { 0}},
|
|
{{ 52}, { 54}, { 32}},
|
|
{{ 53}, { 52}, { 32}},
|
|
{{ 25}, { 0}, { 4}},
|
|
{{ 4}, { 8}, { 12}},
|
|
{{ 4}, { 12}, { 49}},
|
|
{{ 53}, { 32}, { 25}},
|
|
{{ 44}, { 43}, { 42}},
|
|
{{ 42}, { 53}, { 25}},
|
|
{{ 4}, { 49}, { 50}},
|
|
{{ 45}, { 44}, { 42}},
|
|
{{ 4}, { 50}, { 45}},
|
|
{{ 42}, { 25}, { 4}},
|
|
{{ 35}, { 34}, { 33}},
|
|
{{ 33}, { 56}, { 55}},
|
|
{{ 55}, { 57}, { 36}},
|
|
{{ 36}, { 35}, { 33}},
|
|
{{ 47}, { 12}, { 13}},
|
|
{{ 13}, { 14}, { 15}},
|
|
{{ 15}, { 46}, { 48}},
|
|
{{ 48}, { 47}, { 13}},
|
|
{{ 46}, { 15}, { 16}},
|
|
{{ 16}, { 17}, { 18}},
|
|
{{ 19}, { 20}, { 41}},
|
|
{{ 16}, { 18}, { 19}},
|
|
{{ 44}, { 46}, { 16}},
|
|
{{ 57}, { 43}, { 44}},
|
|
{{ 37}, { 36}, { 57}},
|
|
{{ 39}, { 38}, { 37}},
|
|
{{ 19}, { 41}, { 40}},
|
|
{{ 40}, { 39}, { 37}},
|
|
{{ 37}, { 57}, { 44}},
|
|
{{ 16}, { 19}, { 40}},
|
|
{{ 37}, { 44}, { 16}},
|
|
};
|
|
|
|
constexpr uint32_t num_faces = (sizeof (faces)) / (sizeof (face_v));
|
|
|
|
}
|