X-Git-Url: https://git.lukelau.me/?a=blobdiff_plain;ds=sidebyside;f=shapes.hpp;h=92cc8adb0882ecd6c3d3c54955bad6eb0a25d286;hb=9886c33eb8cd31f28234585718410cd51aef2a4c;hp=69520aabdff32ce536db654250a233e0bd39e202;hpb=c44e69ec78367fb2957324026894aef970f2481a;p=opengl.git diff --git a/shapes.hpp b/shapes.hpp index 69520aa..92cc8ad 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,33 @@ 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) +}; + +// TODO: Add a sphere +/* constexpr std::vector sphere() { */ + +/* } */