Visual?studio2022?利用glfw+glad配置OpenGL環(huán)境的詳細過程
1. 安裝visual studio 2022
鏈接:https://visualstudio.microsoft.com/zh-hans/
2. 配置openGL環(huán)境
搜索時最常見的是glut,但是了解到glut最后更新時間是1998年,比我還小兩歲…目前沒人維護了,也被棄用了…
目前,最常用的就是freeglut+glew和glfw+glad兩種組合。據說前者比較經典,后者比較新潮,所以作為潮人,我選擇了后者(具體可操作性待我實踐一段時間來看…)
2.1 glfw
2.1.1 安裝glfw包
鏈接:https://www.glfw.org/download.html
我的電腦是64位,就選64-bit下載
下載完是這樣的文件夾,保存在哪都行,最好是自己有專門的libraries文件夾,放里頭,好找。
解壓縮后里頭有include和lib兩個有用的東西,(記住這倆單詞,很常見?。?/p>
2.1.2 在visual studio 中配置glfw
這步看了很多文字鏈接,看不下去,最后在youtube上看見一個視頻,講的很明白!用評論的話講就是simple and straight to the point,這里放上鏈接:https://www.youtube.com/watch?v=HzFatL3WT6g&list=PL4BJMsnWjb27UZJNWOO1FUJp4LH-3xdpc&index=1&t=16s
在visual studio中:文件>新建>項目>空項目>命名(e.g., openGL1)
打開后,右擊文件openGL1 > 添加 > 新建項
選擇c++文件,命名隨便,大家都命名main.cpp,不知道為啥,但是我也這樣寫…
進去之后,選擇菜單欄的 項目 > openGL1屬性,需要更改3處
更改1:C/C++ > 常規(guī) > 附加包含目錄 的路徑,改成剛才加壓的glfw文件夾的include文件夾
更改2:鏈接器 > 常規(guī) > 附加庫目錄 的路徑,改成剛才加壓的glfw文件夾的vc2022文件夾,因為我下載的是2022版本的visual studio
更改3:鏈接器 > 輸入 > 附加依賴項 添加glfw3.lib;opengl32.lib;user32.lib;gdi32.lib;shell32.lib
最后,我們測試一下,復制documentation 這一整段代碼(不只是我截圖的這點)
鏈接:https://www.glfw.org/documentation.html
運行一下,成功!
2.2 glad
2.2.1 下載glad
鏈接:https://glad.dav1d.de/
這幾個設置好,gl版本可以選最新的,profile選core,最后點擊右下角的generate
下載這個glad.zip壓縮包,可以和glfw保存到一個文件夾下
解壓縮里頭有倆東西,include和src
2.2.2 在visual studio 中配置glad
glfw需要更改3處,glad需要更改1處,再設置1處
更改1:可以在剛才的openGL1項目下,依然打開菜單欄 項目 > OpenGL屬性 > C/C++ > 常規(guī) > 附加包含目錄 再添加一個路徑指向glad解壓縮包的include文件夾 (反正用哪個包就把這個 附加包含目錄 指向哪個包include文件夾…)
設置1:這里用到加壓縮glad文件夾下的另一個東西,src文件夾下的glad.c
右擊源文件 > 添加 > 現(xiàn)有項 找到glad文件夾下的src文件夾下的glad.c
最后,測試一下,輸入以下代碼,運行成功!就配置好啦??!搞了大半天,終于配置好環(huán)境了,明天繼續(xù)看看能用它三維建模不!
#include<glad/glad.h> #include<GLFW/glfw3.h> #include<iostream> void framebuffer_size_callback(GLFWwindow* window, int width, int height); int main() { glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); GLFWwindow* window = glfwCreateWindow(800, 600, "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; } glViewport(0, 0, 800, 600); glfwSetFramebufferSizeCallback(window, framebuffer_size_callback); while (!glfwWindowShouldClose(window)) { glfwSwapBuffers(window); glfwPollEvents(); } glfwTerminate(); return 0; } void framebuffer_size_callback(GLFWwindow* window, int width, int height) { glViewport(0, 0, width, height); }
到此這篇關于Visual studio2022 利用glfw+glad配置OpenGL環(huán)境的文章就介紹到這了,更多相關Visual studio2022配置OpenGL環(huán)境內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決vscode下調試c/c++程序一閃而過的問題(Windows)
這篇文章主要介紹了解決vscode下調試c/c++程序一閃而過(Windows),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08C語言實現(xiàn) 數據類型占多少字節(jié)指針占多少字節(jié)
這篇文章主要介紹了 C語言 數據類型占多少字節(jié)指針占多少字節(jié)的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09vscode搭建STM32開發(fā)環(huán)境的詳細過程
這篇文章主要介紹了vscode搭建STM32開發(fā)環(huán)境的詳細過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05