opengl布料渲染
源码1地址:https://github.com/xxMeow/ClothSimulation(X-code编写)
项目二来源:https://space.bilibili.com/4691271
其他资源参考:
https://blog.csdn.net/Lee412726/article/details/81139989
https://blog.csdn.net/liu_feng_zi_/article/details/84816763
https://blog.csdn.net/m0_37957160/article/details/109581546
!!!本文中参考代码已附原链接,侵删。
最近老师突然让我们学习布料仿真的东西,无从下手之时在B站找到了大佬编写的案例,然后尝试着下载源码运行,现将最基本的配置过程做简单记录,之后备用(纯小白,记录一些很基本的配置库、debug细节)。

项目一布料仿真的实现过程如下
1、下载源码到本地
2、下载文件内标红框的部分单独复制到一个新的文件夹(由于作者是x-code,这里使用vs-studio,需要新建项目)

3、新建vs-c++项目project1,复制所选文件

在打开的vs窗口右击项目名称-属性-添加现有项,将main.cpp, glad.c以及三个文件夹全部导入
至此代码文件准备完毕,接下来需要配置相关库。
4、配置库
相关库的导入参考其他资源,基本步骤:
1)在解决方案的文件夹下新建dependencies文件,下载库,按照指定格式存放

2)右击项目名-属性-VC++目录-包含目录和库目录进行添加(路径为1)中保存源代码的路径)

我这里具体的就是:
包含目录
D:\simulation-program\Project1\Dependencies\glm
D:\simulation-program\Project1\Dependencies\include
D:\simulation-program\Project1\Dependencies\GLEW
D:\simulation-program\Project1\Dependencies\GLFW\include
库目录
D:\simulation-program\Project1\Dependencies\GLEW\lib
D:\simulation-program\Project1\Dependencies\GLFW\lib-vc2017
3)将下载的glad.c文件复制并添加到主文件目录下(不可少,且glad.c文件要与vs版本对应,我使用的是2017)
右击-属性-添加项-已有项-gald.c
5、配置链接器(这里根据不同的项目需要添加不同链接器,报错之后可以根据信息查询对应的链接器进行添加即可)

glfw3.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;6、到这里为止,基本已经配置完成可以正常运行了,但由于我的环境和作者不太一致,出现了两个其他的错误,这里也记录一下。
1)getcwd找不到标识符
添加头文件#include <direct.h>
将 getcwd()修改为_getcwd()
2)M_pi未声明的标识符
头文件选择<math.h>头文件,现在的<cmath>中对M_PI好像已有定义
项目-属性-C/C++-预处理器-预处理器定义,将“_USE_MATH_DEFINES”添加
7、解决完毕,编译运行

项目二的实现过程
1、新建c++项目文件(cloth-simu2)
2、下载源代码提取关键部分(保留红框内的部分,其余删除)

3、配置库(直接挪用项目一的库发现有些并不包含,就在网上找了一个内容比较全的库导入)
链接:LearnOpenGL/includes at master · JoeyDeVries/LearnOpenGL (github.com),下载压缩包到本地解压;
新建dep2文件夹,将压缩包内的includes和lib复制进来,并按照之前的方式在项目内导入包含目录&库目录,并复制压缩包内的glad.c文件到主文件目录下并导入。
这里我导入压缩包内的glad.c文件出现了错误,百度之后发现可能是与vs版本不兼容的问题,所以这里我复制了项目一中使用的glad.c文件后正常运行。

4、配置好库和包含目录之后还出现了一个报错
参考自:https://blog.csdn.net/m0_37957160/article/details/109581546
无法打开包括文件: “Eigen\Dense”: No such file or directory,发现是没有下载eigen库的问题
下载地址:http://eigen.tuxfamily.org/index.php?title=Main_Page
然后下载对应库保存到相应文件夹,例如dep2/,并在附加包含目录下添加对应路径,重新生成解决方案后正常运行!

哦对项目二编译运行要在release模式下,不然很卡顿