欢迎光临散文网 会员登陆 & 注册

opengl布料渲染

2022-11-03 16:31 作者:Nofear-wave  | 我要投稿

项目一来源:https://www.bilibili.com/video/BV1s64y1u7BJ/?spm_id_from=333.788.recommend_more_video.1&vd_source=f838228e1859729953e91cf5580794c2

源码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模式下,不然很卡顿



opengl布料渲染的评论 (共 条)

分享到微博请遵守国家法律