#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include unsigned int TextureFromFile(const std::string& path, const std::string& directory, bool gamma = false); struct Model { std::vector textures_loaded; std::vector meshes; std::string directory; bool gammaCorrection; Model(const char *path) { loadModel(path); } void Draw(Shader &shader); 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); };