#include "mesh.h" #include "gfx/gl/vertexArrayObject.hpp" #include "glArrays.h" #include "vertex.hpp" #include Mesh::Mesh(const std::span vertices, const std::span indices, GLenum m) : m_numIndices {static_cast(indices.size())}, mode {m} { VertexArrayObject::configure<&Vertex::pos, &Vertex::texCoord, &Vertex::normal, &Vertex::colour>( m_vertexArrayObject, m_vertexArrayBuffers[0], m_vertexArrayBuffers[1], vertices, indices); } void Mesh::Draw() const { glBindVertexArray(m_vertexArrayObject); glDrawElements(mode, m_numIndices, GL_UNSIGNED_INT, nullptr); glBindVertexArray(0); }