[OpenGL]Visaul Studio 環(huán)境搭建

美女鎮(zhèn)樓

本文僅描述在 Windows 系統(tǒng)上如何搭建 OpenGL 開發(fā)環(huán)境氮帐,關(guān)于其他系統(tǒng),可以參考LearnOpenGL:創(chuàng)建窗口洛姑,本文使用的 IDE 是 Visual Studio 2017

1. 準備 GLFW 靜態(tài)庫

目標:得到 GLFW 的靜態(tài)庫文件上沐,以便在工程中引入使用
步驟:

1.1 下載 GLFW 源文件

下載地址 : GLFW
在頁面上點擊 Source package

下載 GLFW

下載后得到文件 glfw-3.3.5.zip,解壓后得到目錄 glfw-3.3.5,在該目錄中新建一個文件夾 build
build目錄

1.2 下載 CMake

下載地址:CMake
在頁面中選擇 .msi 安裝文件

image.png

下載完成后點擊安裝即可

1.3 使用CMake 生成 GLFW 工程

打開 CMake楞艾,配置源代碼目錄和工程生成目錄参咙,分別指向上面下載的 glfw 目錄和 build 目錄

image.png

配置完成后點擊 CMake 的 Configure 按鈕,之后點擊 Generate硫眯,會在 build 目錄下生成一個解決方案和若干工程

使用 Visual Studio 2017 打開 GLFW.sln蕴侧,構(gòu)建解決方案,在 build/src/Debug 目錄生成 glfw3.lib 靜態(tài)庫文件
生成庫文件

2. 準備 glad

  • 進入 Glad網(wǎng)站
  • 按照下圖示意進行選擇两入,gl 版本要選擇顯卡支持的版本净宵,目前 windows 系統(tǒng)一般選 version4.5 就可以


    image.png
  • 勾選 Generate a loader 之后竣蹦,點擊 GENERATE承粤,頁面會生成對應(yīng)的文件并跳轉(zhuǎn)到下載界面
    glad 下載頁面
  • 下載 glad.zip 并解壓,得到子目錄 include 和 src

3. 下載數(shù)學(xué)庫 glm

OpenGL 編程中需要用到大量的數(shù)學(xué)計算如矩陣击你、三角函數(shù)等剃氧,glm 是一個數(shù)學(xué)庫敏储,建議直接依賴

3.1 下載 glm

glm下載 glm 源碼或壓縮包,如果是壓縮包朋鞍,下載后解壓

3.2 得到目錄
glm 目錄

4. 新建并配置你的工程

4.1 新建工程
  • 新建一個目錄已添,假設(shè)命名為 valor ,在該目錄下新建目錄 gl 和 valor滥酥,gl 下新建 include/lib/src 三個子目錄
  • 使用 Visual Studio 在目錄 valor/valor 下新建Visual C++ 空項目更舞,并在工程的源文件目錄下新建 main.cpp 文件
4.2 復(fù)制 GLFW 和 glad 對應(yīng)的目錄和文件
  • 將 glfw-3.3.5 目錄中 include 下的 GLFW 整個復(fù)制到 valor/gl/include 下
  • 將上面準備好的 glfw3.lib 文件復(fù)制到 valor/gl/lib 下
  • 將 glad 目錄中 include 下的 glad 和 KHR 目錄復(fù)制到 valor/gl/include 下
  • 將 glad 目錄中 src 下的 glad.c 文件復(fù)制到 valor/gl/src 下
  • 將 glm 庫中的 glm 目錄復(fù)制到 valor/gl 下
4.3 配置工程屬性
  • 配置項目的包含目錄,指向 valor/gl/include 目恨狈;配置項目的庫目錄疏哗,指向 valor/gl/lib 目錄
    包含目錄和庫目錄
  • 為項目添加附加依賴項 opengl32.lib 和 glfw3.lib


    添加依賴項
  • 為 glm 庫添加附加包含目錄


    附加包含目錄
  • 將 valor/gl/src/glad.c 添加到項目源文件


    添加源文件
4.4 運行 demo 代碼驗證

將下面的代碼復(fù)制到 main.cpp 中,構(gòu)建解決方案并運行

//main.cpp
#include <GLFW/glfw3.h>
#include <glm.hpp>

int main(void)
{
    GLFWwindow* window;

    /* 初始化glfw */
    if (!glfwInit())
        return -1;

    /* 創(chuàng)建一個Window 和 OpenGL上下文 */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        //創(chuàng)建失敗就退出
        glfwTerminate();
        return -1;
    }

    /* 激活上面創(chuàng)建的OpenGL上下文 */
    glfwMakeContextCurrent(window);

    /* 進入游戲引擎主循環(huán) */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
                /* glm::abs */ 為測試 glm 庫引入是否成功 */
        glClearColor(0.5f, glm::abs(-0.1f), 0.1f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* 處理鼠標 鍵盤事件 */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

如果彈出淡紅色的窗口禾怠,說明環(huán)境構(gòu)建成功了返奉!


窗口
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市吗氏,隨后出現(xiàn)的幾起案子芽偏,更是在濱河造成了極大的恐慌,老刑警劉巖弦讽,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件污尉,死亡現(xiàn)場離奇詭異膀哲,居然都是意外死亡,警方通過查閱死者的電腦和手機被碗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門某宪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锐朴,你說我怎么就攤上這事兴喂。” “怎么了焚志?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵衣迷,是天一觀的道長。 經(jīng)常有香客問我酱酬,道長壶谒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任膳沽,我火速辦了婚禮汗菜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贵少。我一直安慰自己呵俏,他們只是感情好,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布滔灶。 她就那樣靜靜地躺著普碎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪录平。 梳的紋絲不亂的頭發(fā)上麻车,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機與錄音斗这,去河邊找鬼动猬。 笑死,一個胖子當著我的面吹牛表箭,可吹牛的內(nèi)容都是我干的赁咙。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼免钻,長吁一口氣:“原來是場噩夢啊……” “哼彼水!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起极舔,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤凤覆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拆魏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盯桦,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡慈俯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拥峦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贴膘。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖事镣,靈堂內(nèi)的尸體忽然破棺而出步鉴,到底是詐尸還是另有隱情,我是刑警寧澤璃哟,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站喊递,受9級特大地震影響随闪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜骚勘,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一铐伴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧俏讹,春花似錦当宴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至殉疼,卻和暖如春梯浪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瓢娜。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工挂洛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人眠砾。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓虏劲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親褒颈。 傳聞我的和親對象是個殘疾皇子柒巫,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容