Do boning and animation properly
[opengl.git] / shapes.hpp
index 5fcefdb1f648607b6a20c1cc91930da889292324..a1a42ebc43800efb299310b88e5fd3bf258b726e 100644 (file)
@@ -15,6 +15,15 @@ constexpr array<glm::vec3, 6> quadToTriangles(const array<glm::vec3, 4> quads) {
        };
 }
 
+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() {
        int i = 0;
        array<glm::vec3, 36> vertices;
@@ -77,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)
+};