Assimp(Open Asset Import Library)是一個開源的3D模型導入解析庫,
可以處理很多種3D文件格式:Collada, Blend, Obj, X, 3DS, LWO, MD5, MD2, MD3, MDL, MS3D等。
現在最新的版本是assimp-3.0。
下面是官方列出的一些特性:
- Reads more than 30 3D file formats, including Collada, X, 3DS, Blend, Obj
- Converts them to a hierarchical in-memory data structure
- Provides 'post-processing steps' to improve the input data, i.e. generate normals and tangents or fix import issues.
- Provides APIs for both C and C++
- Imports skeleton animations and skinning weights
- Supports complex multi-layer materials
- Windows-based model viewer, the library itself is portable
官方給出的預編譯庫是使用vs2008編譯出來的,在vs2010中使用使用debug版本的庫,有時會出現無法運行或運行出錯等錯誤。解決的辦法最好是在vs2010中重新編譯一份庫。仔細研究了下發現assimp是使用cmake管理工程的,只需要使用cmake生成vs2010工程,就可以使用vs2010編譯出一份適用於vs2010的庫了。具體步驟如下:
1、安裝boost
assimp是依賴boost庫的,如果沒有boost庫只能編譯出一個功能受限的版本。
boost官方鏈接:www.boost.org
assimp沒有用到boost需要編譯的部分,所以boost只需要下載解壓就可以了。
2、assimp view依賴directx sdk
如果需要編譯assimp view,需要先安裝directx sdk。
微軟的官方下載地址為:http://www.microsoft.com/en-us/download/details.aspx?id=6812
點擊exe文件進行安裝,安裝后,至少需要注銷后,directx sdk的環境配置才會起作用。
3、安裝cmake
cmake官方鏈接:www.cmake.org
4、cmake創建assimp vs2010工程
在assimp源碼目錄下,創建一個build文件夾,運行cmake
選擇assimp源碼目錄和編譯二進制文件的目錄,然后點Add Entry,添加BOOST_ROOT變量,type選STRING,value添加boost的目錄。
點擊configure,選擇vs2010編譯器,配置沒有錯誤后,然后點擊generate生成vs2010工程。
5、最后打開生成的vs2010工程,進行編譯即可。