2021-01-13 10:42:57 -06:00
|
|
|
#ifndef MESH_H
|
|
|
|
#define MESH_H
|
|
|
|
|
2021-01-13 16:47:16 -06:00
|
|
|
#include <list>
|
|
|
|
|
2021-01-13 10:42:57 -06:00
|
|
|
#include "types.h"
|
2021-01-14 11:52:01 -06:00
|
|
|
#include "Spatial.h"
|
|
|
|
#include "Drawable.h"
|
2021-01-13 10:42:57 -06:00
|
|
|
#include "Vertex.h"
|
|
|
|
#include "Index.h"
|
|
|
|
|
2021-01-14 11:52:01 -06:00
|
|
|
class Mesh : public Spatial, public Drawable {
|
2021-01-13 10:42:57 -06:00
|
|
|
public:
|
|
|
|
VertexList vertices;
|
|
|
|
IndexList indices;
|
|
|
|
Mesh();
|
|
|
|
Mesh(VertexList vertices, IndexList indices);
|
2021-01-14 11:52:01 -06:00
|
|
|
virtual void Draw();
|
2021-01-13 10:42:57 -06:00
|
|
|
virtual void SetupMesh();
|
|
|
|
private:
|
|
|
|
Id VAO, VBO, EBO;
|
|
|
|
};
|
|
|
|
|
2021-01-13 16:47:16 -06:00
|
|
|
typedef std::list<Mesh*> MeshList;
|
|
|
|
|
2021-01-13 10:42:57 -06:00
|
|
|
#endif /* MESH_H */
|