#pragma once #include "Error.h" #include "ShaderLoader.h" #include #include #include // Define some useful structures to be used in the mesh object struct Vertex { glm::vec3 Position; glm::vec3 Normal; glm::vec2 TexCoords; }; struct Texture { unsigned int id; std::string type; std::string path; }; class Mesh { private: Error error = Error("Mesh"); unsigned int VAO, VBO, EBO; void setupMesh(); void unloadTextures(); public: std::vector vertices; std::vector indices; std::vector textures; void draw(ShaderLoader &shader); Mesh(std::vector vertices, std::vector indices, std::vector textures); ~Mesh(); };