dreamcast/geometry/circle.hpp
Zack Buhman b4239dcfe8 geometry/circle: add texture coordinates
Blender also generated a different triangulation.
2024-01-27 10:58:39 +08:00

116 lines
4.1 KiB
C++

#pragma once
#include "geometry.hpp"
namespace circle {
constexpr vec3 vertices[] = {
{ 0.000000f, 0.000000f, 1.000000f },
{ 0.195090f, 0.000000f, 0.980785f },
{ 0.382683f, 0.000000f, 0.923880f },
{ 0.555570f, 0.000000f, 0.831470f },
{ 0.707107f, 0.000000f, 0.707107f },
{ 0.831470f, 0.000000f, 0.555570f },
{ 0.923880f, 0.000000f, 0.382683f },
{ 0.980785f, 0.000000f, 0.195090f },
{ 1.000000f, 0.000000f, 0.000000f },
{ 0.980785f, 0.000000f, -0.195090f },
{ 0.923880f, 0.000000f, -0.382683f },
{ 0.831470f, 0.000000f, -0.555570f },
{ 0.707107f, 0.000000f, -0.707107f },
{ 0.555570f, 0.000000f, -0.831470f },
{ 0.382683f, 0.000000f, -0.923880f },
{ 0.195090f, 0.000000f, -0.980785f },
{ 0.000000f, 0.000000f, -1.000000f },
{ -0.195090f, 0.000000f, -0.980785f },
{ -0.382683f, 0.000000f, -0.923880f },
{ -0.555570f, 0.000000f, -0.831470f },
{ -0.707107f, 0.000000f, -0.707107f },
{ -0.831470f, 0.000000f, -0.555570f },
{ -0.923880f, 0.000000f, -0.382683f },
{ -0.980785f, 0.000000f, -0.195090f },
{ -1.000000f, 0.000000f, 0.000000f },
{ -0.980785f, 0.000000f, 0.195090f },
{ -0.923880f, 0.000000f, 0.382683f },
{ -0.831470f, 0.000000f, 0.555570f },
{ -0.707107f, 0.000000f, 0.707107f },
{ -0.555570f, 0.000000f, 0.831470f },
{ -0.382683f, 0.000000f, 0.923880f },
{ -0.195090f, 0.000000f, 0.980785f },
};
constexpr vec2 texture[] = {
{ 0.450764f, 0.000100f },
{ 0.999900f, 0.450764f },
{ 0.549236f, 0.999900f },
{ 0.450764f, 0.999900f },
{ 0.181332f, 0.888297f },
{ 0.354184f, 0.980689f },
{ 0.263208f, 0.943006f },
{ 0.111702f, 0.818668f },
{ 0.056994f, 0.736791f },
{ 0.019311f, 0.645815f },
{ 0.000100f, 0.549236f },
{ 0.000100f, 0.450764f },
{ 0.111702f, 0.181332f },
{ 0.019311f, 0.354184f },
{ 0.056994f, 0.263208f },
{ 0.181332f, 0.111702f },
{ 0.263209f, 0.056994f },
{ 0.354185f, 0.019311f },
{ 0.549236f, 0.000100f },
{ 0.818668f, 0.111702f },
{ 0.645816f, 0.019311f },
{ 0.736792f, 0.056994f },
{ 0.888298f, 0.181332f },
{ 0.943006f, 0.263209f },
{ 0.980689f, 0.354185f },
{ 0.999900f, 0.549236f },
{ 0.888298f, 0.818668f },
{ 0.980689f, 0.645815f },
{ 0.943006f, 0.736791f },
{ 0.818668f, 0.888298f },
{ 0.736791f, 0.943006f },
{ 0.645815f, 0.980689f },
};
constexpr vec3 normals[] = {
{ -0.000000f, 1.000000f, -0.000000f },
};
constexpr face_vtn faces[] = {
{{16, 0, 0}, {24, 1, 0}, { 0, 2, 0}},
{{ 0, 2, 0}, { 1, 3, 0}, { 4, 4, 0}},
{{ 1, 3, 0}, { 2, 5, 0}, { 4, 4, 0}},
{{ 2, 5, 0}, { 3, 6, 0}, { 4, 4, 0}},
{{ 4, 4, 0}, { 5, 7, 0}, { 6, 8, 0}},
{{ 6, 8, 0}, { 7, 9, 0}, { 4, 4, 0}},
{{ 7, 9, 0}, { 8, 10, 0}, { 4, 4, 0}},
{{ 8, 10, 0}, { 9, 11, 0}, {12, 12, 0}},
{{ 9, 11, 0}, {10, 13, 0}, {12, 12, 0}},
{{10, 13, 0}, {11, 14, 0}, {12, 12, 0}},
{{12, 12, 0}, {13, 15, 0}, {14, 16, 0}},
{{14, 16, 0}, {15, 17, 0}, {12, 12, 0}},
{{15, 17, 0}, {16, 0, 0}, {12, 12, 0}},
{{16, 0, 0}, {17, 18, 0}, {20, 19, 0}},
{{17, 18, 0}, {18, 20, 0}, {20, 19, 0}},
{{18, 20, 0}, {19, 21, 0}, {20, 19, 0}},
{{20, 19, 0}, {21, 22, 0}, {22, 23, 0}},
{{22, 23, 0}, {23, 24, 0}, {20, 19, 0}},
{{23, 24, 0}, {24, 1, 0}, {20, 19, 0}},
{{24, 1, 0}, {25, 25, 0}, {28, 26, 0}},
{{25, 25, 0}, {26, 27, 0}, {28, 26, 0}},
{{26, 27, 0}, {27, 28, 0}, {28, 26, 0}},
{{28, 26, 0}, {29, 29, 0}, {30, 30, 0}},
{{30, 30, 0}, {31, 31, 0}, {28, 26, 0}},
{{31, 31, 0}, { 0, 2, 0}, {28, 26, 0}},
{{ 0, 2, 0}, { 4, 4, 0}, { 8, 10, 0}},
{{ 8, 10, 0}, {12, 12, 0}, {16, 0, 0}},
{{16, 0, 0}, {20, 19, 0}, {24, 1, 0}},
{{24, 1, 0}, {28, 26, 0}, { 0, 2, 0}},
{{ 0, 2, 0}, { 8, 10, 0}, {16, 0, 0}},
};
constexpr uint32_t num_faces = (sizeof (faces)) / (sizeof (face_vtn));
}