meshLoader::meshLoader(const char* filename) { Assimp::Importer importer; const aiScene* scene=importer.ReadFile(filename, aiProcess_GenSmoothNormals | aiProcess_Triangulate | aiProcess_CalcTangentSpace | aiProcess_FlipUVs); if(scene->mFlags==AI_SCENE_FLAGS_INCOMPLETE || !scene->mRootNode) { std::cout << "The file wasn't successfuly opened " << filename << std::endl; return; } recursiveProcess(scene->mRootNode,scene); }
/* Recursively processes the meshes of the model */ void OBJLoader::recursiveProcess(aiNode* node, const aiScene* scene) { //process for(std::size_t i=0; i<node->mNumMeshes;i++) { aiMesh* mesh = scene->mMeshes[node->mMeshes[i]]; processMesh(mesh, scene); } //recursion for(std::size_t i=0; i<node->mNumChildren; i++) { recursiveProcess(node->mChildren[i], scene); } }
OBJLoader::OBJLoader(const char* filename) { Assimp::Importer importer; //Initialize DevIL devilStartUp(); const aiScene* scene=importer.ReadFile(filename, aiProcess_GenSmoothNormals|aiProcess_Triangulate|aiProcess_CalcTangentSpace|aiProcess_FlipUVs); if(scene->mFlags==AI_SCENE_FLAGS_INCOMPLETE || !scene->mRootNode) { fprintf( stderr, "Couldn't load model, Error Importing Asset" ); return; } recursiveProcess(scene->mRootNode, scene); }