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 运行起来了:
第一个是不带纹理的模型加载:
第二个是带纹理的模型加载: