Assimp 為加載多種已知 3D 模型格式提供了一套統一的方式,而且它還是開源跨平台的(Android/iOS 也都有支援)。
可能會遇到的錯誤及解決方法:
1. error LNK2019: 無法解析的外部符号 _compress,該符号在函數 _wmain 中被引用
這個錯誤是因為Cmake沒有選擇正确的 ZLIB 庫,可以選擇自己本地已有的ZLIB庫,也可以通過勾選 CMAKE 自己編譯ZLIB庫(\contrib\zlib)。(如果要編譯 Samples 的話,還需要指定本地的 GLUT 庫 和 OPENGL 庫)
如下圖所示:
2. error LNK2026 子產品對于 SAFESEH 映像是不安全的
這個問題可以通過以下方式解決:
3. 無法打開檔案"LIBC.lib"問題解決
解決方法如下圖所示:
4.Samples發生RunTime錯誤
DLL 缺失:
1.編譯assimp項目生成 assimp-vc110-mt.dll,存放于 build\code\Debug目錄下;
2.除了需要它還需要一個名為 devIL.dll 的動态庫。
模型缺失:
Assimp 的測試模型存放在 assimp-3.3.1\test\model 和 assimp-3.3.1\test\models-nonbsd 目錄下,在項目的“調試”->“指令參數”填入想要加載的模型,如下所示:
排除以上錯誤以後,我們就可以使得 Samples 運作起來了:
第一個是不帶紋理的模型加載:
第二個是帶紋理的模型加載: