Assimp模型加载库下载、编译、配置全过程

最近学完图形学基础后在老师的推荐下去看GitHub上的learnOpenGL教程,讲的挺好的,因为总用自己设置的那些顶点画不出来什么有意思的东西,所以需要从外部导入模型,教程中用的就是Assimp模型加载库。

Assimp是Open Asset Import Library(开放的资产导入库)的缩写。Assimp能够导入很多种不同的模型文件格式(并也能够导出部分的格式),它会将所有的模型数据加载至Assimp的通用数据结构中。当Assimp加载完模型之后,我们就能够从Assimp的数据结构中提取我们所需的所有数据了。由于Assimp的数据结构保持不变,不论导入的是什么种类的文件格式,它都能够将我们从这些不同的文件格式中抽象出来,用同一种方式访问我们需要的数据。

下面我将给出Assimp模型加载库下载、编译、配置全过程并在最后导入一个模型:
Assimp模型加载库下载、编译、配置全过程_第1张图片

1.下载Assimp:

教程中给出的下载地址http://assimp.org/main_downloads.html无法访问,在GitHub上找到了资源:https://github.com/assimp/assimp/releases,点击红框中的内容即可下载。
Assimp模型加载库下载、编译、配置全过程_第2张图片
为什么不直接下载第二个编译好的压缩包呢,因为它们的预编译库在大部分系统上都是不能运行的(仅有vc++2005和vc++2008),而我用的是2010,所以要自己编译。下载完解压即可。

然而,我下这个总是下到一半就网络错误,所以我在其他地方找到了教程用的3.1.1版本:
网盘:https://pan.baidu.com/s/1M_6sS-5u-XoX9_UIIwdqPg 提取码:lg0p。
他这里面还有vs2015编译好的lib、dll文件。vs2015可直接按照最后一步进行配置和链接即可。
(还有一个3.3.1版本的:https://github.com/assimp/assimp/releases/tag/v3.3.1/)

其实这个低版本也可以用,不要那么追求版本,我用的是3.1.1的,我把vs2010编译好的文件传到了我的百度网盘(由于上传文件数量大于500要超级会员,所以我只上传了编译好的lib、dll文件):
链接:https://pan.baidu.com/s/1kkhcZLtnYEzcjYfX7AWN2w 提取码:1kmk。
如果你也使用的是vs2010那么可以直接用我的编译结果,跳到最后一步进行配置和链接即可。不是的话就把build文件夹中的内容删除,按步骤执行下面的内容。

2.编译之前的准备工作:

下载DirectX:官网下载

如果不安装DirectX就会在生成链接库时报错:
Assimp模型加载库下载、编译、配置全过程_第3张图片
安装DirectX SDK时,可能遇到一个错误码为s1023的错误。这种情况下,请在安装SDK之前先卸载C++ Redistributable package(s):在下图红框中的这两个,右键卸载即可。
Assimp模型加载库下载、编译、配置全过程_第4张图片
安装DirectX很简单,点击下载好的程序按步骤安装即可。。。。。。

3.下载安装CMake并用其生成链接库:

既然要自己编译就要用到CMake:
CMake是一个工程文件生成工具。用户可以使用预定义好的CMake脚本,根据自己的选择(像是Visual Studio, Code::Blocks, Eclipse)生成不同IDE的工程文件。

(1)CMake下载:

官网下载:https://cmake.org/,点下图中的download
在这里插入图片描述
下载版本无所谓,都能使用,我安装glfw时下载的是下图这个32位版本
Assimp模型加载库下载、编译、配置全过程_第5张图片

(2)安装:

下载好就是一个安装文件,双击安装,除了下面这一步,安装的过程一直默认(安装路径找一个自己能找到的地方。。。。。。)直到安装完成。
Assimp模型加载库下载、编译、配置全过程_第6张图片

(3)启动 CMake 生成链接库

在CMake安装目录的bin文件夹下双击cmake-gui.exe启动CMake:
Assimp模型加载库下载、编译、配置全过程_第7张图片
打开后是这样的:
Assimp模型加载库下载、编译、配置全过程_第8张图片
第一行是源代码的位置,第二行是用来存放生成文件的位置。
第一行:源代码目录我们选择 Assimp 的源代码的根目录,然后我们在根目录下新建一个 build 文件夹,选中作为目标目录(第二行)。如图:
Assimp模型加载库下载、编译、配置全过程_第9张图片
Assimp模型加载库下载、编译、配置全过程_第10张图片
其他都不动,点Configure(设置):
Assimp模型加载库下载、编译、配置全过程_第11张图片
然后会让我们选择工程的生成器,我用的vs2010,所以是选2010,其余默认。
Assimp模型加载库下载、编译、配置全过程_第12张图片
之后等待设置完成后:再次点击Configure(设置)
完成后再点generate:这样
在这里插入图片描述

现在再看我们自己建的build文件夹:
Assimp模型加载库下载、编译、配置全过程_第13张图片
点击完Generate之后,就生成了.sln文件等,Open Preject就不再是灰色,然后我们可以直接点击Open Project在vs中自动打开项目。Assimp模型加载库下载、编译、配置全过程_第14张图片
然而我点击了Open Project并没有自动打开,所以我在build文件夹中点击.sln文件打开。
Assimp模型加载库下载、编译、配置全过程_第15张图片
打开后Release即可。
Assimp模型加载库下载、编译、配置全过程_第16张图片

生成成功后在你的build文件的code文件夹下会有Release文件夹,里面有.dll文件与.lib文件:
Assimp模型加载库下载、编译、配置全过程_第17张图片

3.最终的配置和链接

终于弄完了,最后只需要配置和链接

  • 把上面文件夹中的lib文件拷贝到vs安装目录的lib文件夹下,并在解决方案中链接它(在链接器的输入中的附加依赖项中输入assimp.lib)。
  • 并且记得把Assimp的头文件也复制到你的include目录中(头文件可以在从Assimp中的include目录里找到)。
  • 还有把dll文件放到C:\Windows\System32和C:\Windows\SysWOW64中即可。

到此,一切配置工作都完成了,至于开头那个模型,这里写的太多了,我在另一篇文章中https://blog.csdn.net/derbi123123/article/details/105787833写了具体细节并给出了代码。

你可能感兴趣的:(计算机图形学学习总结)