void WaveHexagon::init() {
glm::vec3 center(0.0f, 0.0f, 0.0f);
glm::vec3 v0(-0.6f, 0.0f, 0.0f); // 左
glm::vec3 v1(-0.3f, 0.6f, 0.0f); // 左上
glm::vec3 v2(0.3f, 0.6f, 0.0f); // 右上
glm::vec3 v3(0.6f, 0.0f, 0.0f); // 右
glm::vec3 v4(0.3f, -0.6f, 0.0f); // 右下
glm::vec3 v5(-0.3f, -0.6f, 0.0f); // 左下
// 定义颜色
glm::vec3 blue(0.0f, 0.0f, 1.0f); // 左 - 蓝
glm::vec3 green(0.0f, 1.0f, 0.0f); // 左上 - 绿
glm::vec3 red(1.0f, 0.0f, 0.0f); // 右上 - 红
glm::vec3 mint(0.0f, 1.0f, 0.8f); // 右 - 薄荷蓝 (#00FFCC)
glm::vec3 pinkPurple(0.9f, 0.2f, 0.8f); // 右下 - 粉紫
glm::vec3 yellow(1.0f, 1.0f, 0.0f); // 左下 - 黄
// 构建 6 个三角形(共 18 个顶点)
HexVertex vertices[] = {
// 1. 左侧三角形: center -> v0 -> v5
{ {center.x, center.y, center.z}, {blue.x, blue.y, blue.z} },
{ {v0.x, v0.y, v0.z}, {blue.x, blue.y, blue.z} },
{ {v5.x, v5.y, v5.z}, {blue.x, blue.y, blue.z} },
// 2. 左上三角形: center -> v1 -> v0
{ {center.x, center.y, center.z}, {green.x, green.y, green.z} },
{ {v1.x, v1.y, v1.z}, {green.x, green.y, green.z} },
{ {v0.x, v0.y, v0.z}, {green.x, green.y, green.z} },
// 3. 右上三角形: center -> v2 -> v1
{ {center.x, center.y, center.z}, {red.x, red.y, red.z} },
{ {v2.x, v2.y, v2.z}, {red.x, red.y, red.z} },
{ {v1.x, v1.y, v1.z}, {red.x, red.y, red.z} },
// 4. 右侧三角形: center -> v3 -> v2
{ {center.x, center.y, center.z}, {mint.x, mint.y, mint.z} },
{ {v3.x, v3.y, v3.z}, {mint.x, mint.y, mint.z} },
{ {v2.x, v2.y, v2.z}, {mint.x, mint.y, mint.z} },
// 5. 右下三角形: center -> v4 -> v3
{ {center.x, center.y, center.z}, {pinkPurple.x, pinkPurple.y, pinkPurple.z} },
{ {v4.x, v4.y, v4.z}, {pinkPurple.x, pinkPurple.y, pinkPurple.z} },
{ {v3.x, v3.y, v3.z}, {pinkPurple.x, pinkPurple.y, pinkPurple.z} },
// 6. 左下三角形: center -> v5 -> v4
{ {center.x, center.y, center.z}, {yellow.x, yellow.y, yellow.z} },
{ {v5.x, v5.y, v5.z}, {yellow.x, yellow.y, yellow.z} },
{ {v4.x, v4.y, v4.z}, {yellow.x, yellow.y, yellow.z} }
};
名字全都报错了
最新发布