#ifndef SMHENGINE_SRC_MESH_H_ #define SMHENGINE_SRC_MESH_H_ #include #include #include #include #include #include #include #include #include "shader.h" #include "./util/util.h" class Mesh { public: Mesh(); Mesh(std::string objPath); Mesh(objl::Mesh objMesh); void loadFromObj(objl::Mesh objMesh); void setup(); void bind(); void render(Shader& shader); static void unbind(); GLuint VAOid; std::string name; std::vector vertices; std::vector normals; // This is a vec3 so it can all pop into //one buffer :) std::vector texCoords; std::vector indices; private: GLuint vertexBuffer; GLuint indexBuffer; }; #endif