#pragma once #include #include #include // Output data structure #include "Primitives/mesh.h" #include "Primitives/shader.h" class Model { public: Model(std::string const& path); void Draw(Shader& shader); private: std::vector textures_loaded; std::vector meshes; std::string directory; void loadModel(std::string const& path); void processNode(aiNode* node, const aiScene* scene ); Mesh processMesh(aiMesh* mesh, const aiScene* scene); std::vector loadMaterialTextures(aiMaterial* mat, aiTextureType type, std::string typeName ); }; unsigned int TextureFromFile(const char* path, const std::string& directory);