X-Git-Url: https://git.lukelau.me/?p=opengl.git;a=blobdiff_plain;f=shapes.hpp;h=a1a42ebc43800efb299310b88e5fd3bf258b726e;hp=69520aabdff32ce536db654250a233e0bd39e202;hb=dbd855720a9af7d6e599ddc50bbbb0dee85458a5;hpb=c44e69ec78367fb2957324026894aef970f2481a diff --git a/shapes.hpp b/shapes.hpp index 69520aa..a1a42eb 100644 --- a/shapes.hpp +++ b/shapes.hpp @@ -15,9 +15,13 @@ constexpr array quadToTriangles(const array quads) { }; } -constexpr const glm::vec3 foo() { - constexpr glm::vec3 foo(1,2,3); - return foo; +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() { @@ -82,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) +};