namespace blank {
+struct AABB;
+
class PrimitiveMesh {
public:
using Position = glm::vec3;
- using Color = glm::vec4;
+ using Color = glm::tvec4<unsigned char>;
using Index = unsigned short;
using Positions = std::vector<Position>;
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<ATTRIB_COUNT>;
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;