#include "client/rendering/Mesh.h"

Mesh::Mesh() {
    vertexBuffer.bind();
    vertexBuffer.setFloatAttribute(0, 3, 0, 11);
    vertexBuffer.setFloatAttribute(1, 2, 3, 11);
    vertexBuffer.setFloatAttribute(2, 3, 5, 11);
    vertexBuffer.setFloatAttribute(3, 3, 8, 11);
}

void Mesh::add(const Triangle& data) {
    buffer.add(data);
}

void Mesh::clear() {
    buffer.clear();
}

void Mesh::build() {
    vertexBuffer.bindBuffer();
    vertexBuffer.setData(sizeof (Triangle) * buffer.getLength(), buffer.getData());
}

void Mesh::draw() const {
    vertexBuffer.bindArray();
    vertexBuffer.draw(buffer.getLength() * 3);
}