From 0bf4ad9e4a9e1c97e92aa23a365405dfef89bd7c Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 17 Jan 2021 19:36:30 +0000 Subject: Big reshuffle Fixes code quality warnings now picked up. --- gfx/models/mesh.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 gfx/models/mesh.h (limited to 'gfx/models/mesh.h') diff --git a/gfx/models/mesh.h b/gfx/models/mesh.h new file mode 100644 index 0000000..453e54a --- /dev/null +++ b/gfx/models/mesh.h @@ -0,0 +1,35 @@ +#ifndef MESH_INCLUDED_H +#define MESH_INCLUDED_H + +#include +#include +#include +#include +#include + +class IndexedModel; +class Vertex; + +enum MeshBufferPositions { POSITION_VB, TEXCOORD_VB, NORMAL_VB, INDEX_VB }; + +class Mesh { +public: + explicit Mesh(const std::string & fileName); + explicit Mesh(const IndexedModel & model); + Mesh(Vertex * vertices, unsigned int numVertices, unsigned int * indices, unsigned int numIndices); + virtual ~Mesh(); + + NO_COPY(Mesh); + NO_MOVE(Mesh); + + void Draw(); + +private: + static constexpr unsigned int NUM_BUFFERS {4}; + + GLuint m_vertexArrayObject; + std::array m_vertexArrayBuffers; + size_t m_numIndices; +}; + +#endif -- cgit v1.2.3