WIP on inverse kinematics
[opengl.git] / shapes.hpp
index 69520aabdff32ce536db654250a233e0bd39e202..a1a42ebc43800efb299310b88e5fd3bf258b726e 100644 (file)
@@ -15,9 +15,13 @@ constexpr array<glm::vec3, 6> quadToTriangles(const array<glm::vec3, 4> quads) {
        };
 }
 
-constexpr const glm::vec3 foo() {
-       constexpr glm::vec3 foo(1,2,3);
-       return foo;
+constexpr array<glm::vec3, 6> plane() {
+       return quadToTriangles({
+               glm::vec3(1, 1, 0),
+               glm::vec3(-1, 1, 0),
+               glm::vec3(-1, -1, 0),
+               glm::vec3(1, -1, 0)
+       });
 }
 
 constexpr array<glm::vec3, 36> cube() {
@@ -82,3 +86,28 @@ constexpr array<glm::vec3, 36> cube() {
 
        return vertices;
 }
+
+constexpr glm::vec3 pyramid[18] = {
+       glm::vec3(0.0f, 1.0f, 0.0f),
+       glm::vec3(1.0f, -1.0f, -1.0f),
+       glm::vec3(-1.0f, -1.0f, -1.0f),
+
+       glm::vec3(0.0f, 1.0f, 0.0f),
+       glm::vec3(-1.0f, -1.0f, 1.0f),
+       glm::vec3(1.0f, -1.0f, 1.0f),
+
+       glm::vec3(0.0f, 1.0f, 0.0f),
+       glm::vec3(-1.0f, -1.0f, -1.0f),
+       glm::vec3(-1.0f, -1.0f, 1.0f),
+
+       glm::vec3(0.0f, 1.0f, 0.0f),
+       glm::vec3(1.0f, -1.0f, 1.0f),
+       glm::vec3(1.0f, -1.0f, -1.0f),
+
+       glm::vec3(1, -1, 1),
+       glm::vec3(-1, -1, 1),
+       glm::vec3(-1, -1, -1),
+       glm::vec3(-1, -1, -1),
+       glm::vec3(1, -1, -1),
+       glm::vec3(1, -1, 1)
+};