在VS2017環境中配置OpenGL,咱們分三步:配置GLFW、配置GLAD、導出項目模板。ios
1.首先下載GLFW,點擊這裏,進入Github下載。
或者
點擊這裏從百度雲下載,提取碼爲yavo。(注:該連接由中國大學MOOC萬琳老師計算機圖形學課程討論區提供)。
2.而後安裝Cmake後,在..\glfw-3.3文件夾下建立build文件夾。
打開Cmake按下圖進行配置:
接着點擊左下角的Configure,選擇對應的Visual Studio 15 2017(根據本身的ide自行選擇)。
點擊Finish。而後點擊Generate進行生成。完成後效果如圖所示。
3.接着咱們打開VS 2017,新建一個空項目,而後右擊項目,選擇屬性
而後咱們點擊左側的VC++ 目錄,咱們將修改包含目錄與庫目錄。
點擊包含目錄->編輯,點擊右上角的新行後,出現一個新行,點擊行末尾的三個小點,選中剛剛下載的GLFW文件夾中的include文件夾。
接着點擊庫目錄,步驟與剛剛一致,只不過選中的是GLFW中的build文件夾中的src,而後選中src中的Debug文件夾。
接着咱們點擊左側的連接器->輸入->附加依賴項->編輯
在其中輸入git
opengl32.lib glfw3.lib
點擊肯定完成GLFW的配置!下面咱們配置GLAD,暫時不要關閉VS。github
點擊這裏,進入GLAD在線界面,language選中C/C++,在API內的gl選擇本身要下載的版本。Profile選擇Core,選中Generate a loader 後點擊Generate。
進入新網頁後右擊glad.zip,選擇將目標另存爲,下載壓縮包。
解壓後,打開文件夾glad,點擊src,進入後,將glad.c複製到VS中當前項目的源文件夾下(在VS中右擊項目,點擊在文件資源管理器中打開便可打開文件夾當前項目文件夾)。
而後咱們咱們在VS中右擊源文件新建一個main.cpp文件,接着右擊源文件點擊添加->現有項,進入點擊剛剛拖進去的glad.c。
接着咱們重複在配置GLFW時的修改包含目錄的步驟,把glad目錄下的include文件夾包含進去(這裏就不截圖了,和上面步驟同樣)。
這樣GLAD的配置就完成了,咱們能夠在文件main.cpp中輸入下面的代碼進行嘗試:ide
#include <glad/glad.h> #include <GLFW/glfw3.h> #include <iostream> const unsigned int SCR_WIDTH = 800; const unsigned int SCR_HEIGHT = 600; int main() { glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "LearnOpenGL", NULL, NULL); if (window == NULL) { std::cout << "Failed to create GLFW window" << std::endl; glfwTerminate(); return -1; } glfwMakeContextCurrent(window); if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) { std::cout << "Failed to initialize GLAD" << std::endl; return -1; } while (!glfwWindowShouldClose(window)) { glClearColor(0.2f, 0.3f, 0.3f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glfwSwapBuffers(window); glfwPollEvents(); } glfwTerminate(); return 0; }
編譯後運行:
這樣OpenGL的配置基本完成,爲了往後使用的方便,下面咱們建立一個項目模板。ui
爲了往後使用OpenGL時不用再重複上面繁瑣的步驟,咱們導出項目模板。
首先,在VS上方導航欄中選中項目->導出模板。
選中項目模板,點擊下一步。
爲模板命名,這裏我命名爲OpenGL Project。
點擊完成。這樣一個OpenGL的項目模板就作好了。
從新打開VS,點擊新建項目,能夠看到咱們的項目模板已經成功導入了,這樣咱們在下次建立OpenGL項目時就能夠直接使用了~
3d
若是以爲不錯,不妨關注一下哦~code