前言:又是元?dú)鉂M滿的一天呀,廢話不多說(shuō),沖鴨?。?!
新建項(xiàng)目
-
打開VS
-
新建項(xiàng)目
-
選擇Visual C++ 下的空項(xiàng)目,寫入項(xiàng)目名稱,以及要存儲(chǔ)的位置,點(diǎn)擊確定
將頭文件夾和庫(kù)文件夾指定到包含目錄和庫(kù)目錄
-
點(diǎn)擊右側(cè)的解決方案資源管理器
-
右擊項(xiàng)目,點(diǎn)擊屬性
-
選擇VC++目錄選項(xiàng)卡
-
此處的包含目錄和庫(kù)目錄需要把自己的Include和Libs文件夾分別指定進(jìn)去
-
點(diǎn)擊右邊的向下箭頭,點(diǎn)擊編輯
-
新建行
-
指定路徑
-
找到自己創(chuàng)建的Include文件夾(這里可以添加多個(gè)路徑,IDE會(huì)在這里尋找頭文件,庫(kù)文件同理),點(diǎn)擊選擇文件夾
-
確定
- 現(xiàn)在頭文件已經(jīng)在包含目錄中了,庫(kù)文件指定路徑到庫(kù)目錄跟頭文件指定到包含目錄同理。這里不再?gòu)?fù)述
鏈接
為什么要鏈接?
只有鏈接了你要使用的第三方庫(kù),才能夠使用。項(xiàng)目中需要用到GLFW庫(kù),所以需要把GLFW庫(kù)鏈接(Link)進(jìn)工程
要鏈接一個(gè)庫(kù)我們必須告訴鏈接器它的文件名
-
選擇鏈接器的輸入選項(xiàng)卡,點(diǎn)擊附加依賴項(xiàng)右邊的向下箭頭,點(diǎn)擊編輯
-
需要把在Libs文件下要要用的glfw3.lib這個(gè)庫(kù)寫入附加依賴項(xiàng)中
這樣GLFW在編譯的時(shí)候就會(huì)被鏈接進(jìn)來(lái)了
- 除了GLFW庫(kù)以外,還需要添加一個(gè)鏈接條目鏈接到OpenGL的庫(kù),但是這個(gè)庫(kù)可能因?yàn)橄到y(tǒng)的不同而有一些差別
- 因?yàn)槲沂褂玫氖莣indows平臺(tái),opengl32.lib已經(jīng)包含在Microsoft SDK里了,它在Visual Studio安裝的時(shí)候就默認(rèn)安裝了。由于用的是VS編譯器,并且是在Windows操作系統(tǒng)上,我們只需將opengl32.lib添加進(jìn)連接器設(shè)置里就行了。如果你是其他平臺(tái),請(qǐng)看原文詳細(xì)內(nèi)容:https://learnopengl-cn.github.io/01%20Getting%20started/02%20Creating%20a%20window/
-
添加完glfw3.lib和opengl32.lib后,點(diǎn)擊確定
-
點(diǎn)擊確定
此時(shí)GLFW庫(kù)以及OPENGL庫(kù)就鏈接完畢了
GLAD
為什么使用GLAD?
因?yàn)镺penGL只是一個(gè)標(biāo)準(zhǔn)/規(guī)范,具體的實(shí)現(xiàn)是由驅(qū)動(dòng)開發(fā)商針對(duì)特定顯卡實(shí)現(xiàn)的。由于OpenGL驅(qū)動(dòng)版本眾多,它大多數(shù)函數(shù)的位置都無(wú)法在編譯時(shí)確定下來(lái),需要在運(yùn)行時(shí)查詢。所以任務(wù)就落在了開發(fā)者身上,開發(fā)者需要在運(yùn)行時(shí)獲取函數(shù)地址并將其保存在一個(gè)函數(shù)指針中供以后使用。取得地址的方法因平臺(tái)而異,在Windows上會(huì)是類似這樣:
// 定義函數(shù)原型
typedef void (*GL_GENBUFFERS) (GLsizei, GLuint*);
// 找到正確的函數(shù)并賦值給函數(shù)指針
GL_GENBUFFERS glGenBuffers = (GL_GENBUFFERS)wglGetProcAddress("glGenBuffers");
// 現(xiàn)在函數(shù)可以被正常調(diào)用了
GLuint buffer;
glGenBuffers(1, &buffer);
你可以看到代碼非常復(fù)雜,而且很繁瑣,我們需要對(duì)每個(gè)可能使用的函數(shù)都要重復(fù)這個(gè)過程。幸運(yùn)的是,有些庫(kù)能簡(jiǎn)化此過程,其中GLAD是目前最新,也是最流行的庫(kù)。
配置GLAD
打開在線服務(wù)
GLAD使用了一個(gè)在線服務(wù)。在這里我們能夠告訴GLAD需要定義的OpenGL版本,并且根據(jù)這個(gè)版本加載所有相關(guān)的OpenGL函數(shù)。-
語(yǔ)言選為C/C++,OpenGL,API選gl的大于等于3.3的版本,這里我們用的是3.3,模式選擇Core,勾選Generate a loader,點(diǎn)擊GENERATE
-
下載glad.zip壓縮包
-
解壓壓縮包
-
將兩個(gè)頭文件目錄(glad和KHR)復(fù)制到你的Include文件夾中
-
右擊項(xiàng)目,選擇添加>>現(xiàn)有項(xiàng)
-
找到你解壓glad壓縮包的位置,添加glad.c文件到你的工程中
測(cè)試GLAD庫(kù)和GLFW庫(kù)是否鏈接成功
-
右鍵項(xiàng)目,選擇添加>>新建項(xiàng)
-
選擇C++文件,更改名稱為main,點(diǎn)擊添加
- 將以下的指令加到你的文件頂部:
#include <glad/glad.h>
#include <GLFW/glfw3.h>
注意:請(qǐng)確認(rèn)是在包含GLFW的頭文件之前包含了GLAD的頭文件。GLAD的頭文件包含了正確的OpenGL頭文件(例如GL/gl.h),所以需要在其它依賴于OpenGL的頭文件之前包含GLAD。

-
點(diǎn)擊編譯按鈕
-
如果沒有給你提示任何的錯(cuò)誤,恭喜你成功了!


























