int LoadScene(tchar const *filename, aiScene const **scene) { if(scene == null || filename == null) { return E_POINTER; } Assimp::Importer *importer = new Assimp::Importer(); importer->SetIOHandler(new MyIOSystem()); importer->SetPropertyInteger(AI_CONFIG_PP_SBP_REMOVE, aiPrimitiveType_LINE | aiPrimitiveType_POINT); #if defined(_DEBUG) DefaultLogger::create("", Logger::VERBOSE, aiDefaultLogStream_DEBUGGER); #endif importer->ReadFile(filename, aiProcess_Triangulate | aiProcess_SortByPType); #if defined(_DEBUG) DefaultLogger::kill(); #endif if(importer->GetScene() == null) { TRACE("Error loading %s: %s\n", filename, importer->GetErrorString()); return HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND); } *scene = importer->GetScene(); return S_OK; }