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細節(jié))。

項目一布料仿真的實現過程如下
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、到這里為止,基本已經配置完成可以正常運行了,但由于我的環(huán)境和作者不太一致,出現了兩個其他的錯誤,這里也記錄一下。
????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、配置庫(直接挪用項目一的庫發(fā)現有些并不包含,就在網上找了一個內容比較全的庫導入)
鏈接:LearnOpenGL/includes at master · JoeyDeVries/LearnOpenGL (github.com),下載壓縮包到本地解壓;
新建dep2文件夾,將壓縮包內的includes和lib復制進來,并按照之前的方式在項目內導入包含目錄&庫目錄,并復制壓縮包內的glad.c文件到主文件目錄下并導入。
????這里我導入壓縮包內的glad.c文件出現了錯誤,百度之后發(fā)現可能是與vs版本不兼容的問題,所以這里我復制了項目一中使用的glad.c文件后正常運行。

4、配置好庫和包含目錄之后還出現了一個報錯
參考自:https://blog.csdn.net/m0_37957160/article/details/109581546
無法打開包括文件: “Eigen\Dense”: No such file or directory,發(fā)現是沒有下載eigen庫的問題
下載地址:http://eigen.tuxfamily.org/index.php?title=Main_Page
然后下載對應庫保存到相應文件夾,例如dep2/,并在附加包含目錄下添加對應路徑,重新生成解決方案后正常運行!

哦對項目二編譯運行要在release模式下,不然很卡頓