X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgraphics%2FPrimitiveMesh.hpp;h=577321a73e8204e281a265c8402d193900445cbe;hb=9b6af12edd71fb5bd026034b7dfbed097b1890ff;hp=1aa3cce58acf417e6605fe82f99c2d473845ed1c;hpb=75172fd735e34082c34b47ae7c194445b53038d9;p=blank.git diff --git a/src/graphics/PrimitiveMesh.hpp b/src/graphics/PrimitiveMesh.hpp index 1aa3cce..577321a 100644 --- a/src/graphics/PrimitiveMesh.hpp +++ b/src/graphics/PrimitiveMesh.hpp @@ -10,11 +10,13 @@ namespace blank { +struct AABB; + class PrimitiveMesh { public: using Position = glm::vec3; - using Color = glm::vec4; + using Color = glm::tvec4; using Index = unsigned short; using Positions = std::vector; @@ -48,10 +50,15 @@ public: void FillRect( float w, float h, - const glm::vec4 &color = glm::vec4(0.0f), + const Color &color = Color(0), const glm::vec2 &pivot = glm::vec2(0.0f) ); + void OutlineBox( + const AABB &, + const Color &color = Color(0) + ); + }; using VAO = VertexArray; @@ -59,8 +66,14 @@ public: public: void Update(const Buffer &) noexcept; - void DrawLines() noexcept; - void DrawTriangles() noexcept; + bool Empty() const noexcept { + return vao.Empty(); + } + + void DrawLines() const noexcept; + void DrawTriangles() const noexcept { + vao.DrawTriangleElements(); + } private: VAO vao;