#pragma once #include #include #include "mesh.h" #include "shader.h" #include "stb_image.h" #include // C++ importer interface #include // Output data structure #include // Post Processing flags class Model { public: Model(std::string const& path); void Draw(Shader& shader); private: // model data std::vector textures_loaded; std::vector meshes; std::string directory; void loadModel(std::string 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 ); };