在看了很多的球谐相关的理论知识后,发现纸上得来终觉浅呀!!!
怎奈力不从心,技不如人,网上搜搜,还是照搬别人的项目,以了却自己的球谐小欲望。
强烈建议上传源代码的作者,要给出详细的配置方式,以及完整的项目。
这样对于学习者来说,也能少走弯路,但是也不能强求,毕竟是无偿的。
那在这种拙劣的环境下,怎样才能学会一个技术呢?总结如下几点:
1/耐心的配置网上的项目,自己排坑
2/掌握一定的理论知识,即使遇到不完整的项目,也能正确配置;
3/求身边大牛,看是否可以指教。
4/借助网络求大牛;
3/4不建议,因为可靠率基本为0,建议还是自学靠谱。
话不多说,咱们进入配置步骤。
1/使用原项目为:https://github.com/lianera/SphericalHarmonicsLighting
clone下来。不会git的,直接下载zip包也是可以的。但是git的好处是,可以有版本控制,不多说,自己恶补吧。
2/双击打开.sln文件:
这里我是用的是vs 2017版本
3/直接编译
这肯定会报错的,一般人,到此就直接劝退了。我没有,继续前行吧。
4/解决报错:
首先是framework中缺少头文件:glew相关的头文件,
glew库的下载glew-2.1.0.zip
我已经上传百度云:
链接:https://pan.baidu.com/s/10ORggZ4WuDh_i7TITNdMpw
提取码:zaba
其他的库,也上传了。
下载好了这个库之后,解压,设置include文件:
重新生成,又报错了:
下载glfw的库:glfw-3.2.1.zip
设置include目录:
再次生成解决方案:
缺少glm的库:
下载:glm-master.zip.zip
设置include目录:
再次生成解决方案:
缺少assimp库:
下载:assimp-3.1.1_no_test_models.zip
设置include:
再次生成解决方案:
缺少opencv的库:
opencv在自己下载安装了:
opencv-4.2.0-vc14_vc15.exe
他是安装,解压的方式,所以也很方便:
再次生成解决方案:
stb_image.h文件下载:
设置include:
再次生成解决方案:
设置sample项目依赖的opencv的库:
再次生成解决方案:
再次生成解决方案:
再次生成解决方案:
再次生成:
这里需要配置opengl的库,这个安装了vs之后,就会有的,具体目录在:
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86
所以加入这个依赖的库:
同时加入库所在的目录:
重新生成解决方案:
发现可以了。
ok,运行项目:
发现找不到dll,ok,将如下的dll包括到debug目录:
再次以断点的方式运行:
发现资源没有,作者呀作者,你到底在干嘛,所以我找了其他的资源代替:
这里我也上传了:
把图片的改为:
把参数该少一点,再次运行:
好了,到次运行成功了。
接下来补充几点:
1/我是在vs2017上的配置的,并且是x86版本。
2/这里还有很多没有讲到的,就是关于
assimp-3.1.1
boost_1_72_0
glfw-3.2.1
opencv
上面这几个,都需要编译一个x86的库,这个需要安装cmake才能生成sln,然后编译对应版本的lib,才行,详细参考我之前的博客:
https://blog.csdn.net/wodownload2/article/details/77905708
至此已经全部讲解完毕,一路花费了一天的时间,还是蛮耗时的。
究其原因,项目不完整,无配置文档。
接下来,我会细细的研究其中的代码,也会及时的做好笔记,以供分享。