X-Git-Url: https://git.lukelau.me/?p=opengl.git;a=blobdiff_plain;f=shapes.hpp;h=a1a42ebc43800efb299310b88e5fd3bf258b726e;hp=5fcefdb1f648607b6a20c1cc91930da889292324;hb=dbd855720a9af7d6e599ddc50bbbb0dee85458a5;hpb=a03f2bc751bbd7f91cbc2f52d2f0f6e753d6f776 diff --git a/shapes.hpp b/shapes.hpp index 5fcefdb..a1a42eb 100644 --- a/shapes.hpp +++ b/shapes.hpp @@ -15,6 +15,15 @@ constexpr array quadToTriangles(const array quads) { }; } +constexpr array 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 cube() { int i = 0; array vertices; @@ -77,3 +86,28 @@ constexpr array 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) +};