Visual?studio2022?利用glfw+glad配置OpenGL環(huán)境的詳細(xì)過程
1. 安裝visual studio 2022
鏈接:https://visualstudio.microsoft.com/zh-hans/
2. 配置openGL環(huán)境
搜索時(shí)最常見的是glut,但是了解到glut最后更新時(shí)間是1998年,比我還小兩歲…目前沒人維護(hù)了,也被棄用了…
目前,最常用的就是freeglut+glew和glfw+glad兩種組合。據(jù)說前者比較經(jīng)典,后者比較新潮,所以作為潮人,我選擇了后者(具體可操作性待我實(shí)踐一段時(shí)間來看…)
2.1 glfw
2.1.1 安裝glfw包
鏈接:https://www.glfw.org/download.html
我的電腦是64位,就選64-bit下載
下載完是這樣的文件夾,保存在哪都行,最好是自己有專門的libraries文件夾,放里頭,好找。
解壓縮后里頭有include和lib兩個(gè)有用的東西,(記住這倆單詞,很常見?。?/p>
2.1.2 在visual studio 中配置glfw
這步看了很多文字鏈接,看不下去,最后在youtube上看見一個(gè)視頻,講的很明白!用評(píng)論的話講就是simple and straight to the point,這里放上鏈接:https://www.youtube.com/watch?v=HzFatL3WT6g&list=PL4BJMsnWjb27UZJNWOO1FUJp4LH-3xdpc&index=1&t=16s
在visual studio中:文件>新建>項(xiàng)目>空項(xiàng)目>命名(e.g., openGL1)
打開后,右擊文件openGL1 > 添加 > 新建項(xiàng)
選擇c++文件,命名隨便,大家都命名main.cpp,不知道為啥,但是我也這樣寫…
進(jìn)去之后,選擇菜單欄的 項(xiàng)目 > openGL1屬性,需要更改3處
更改1:C/C++ > 常規(guī) > 附加包含目錄 的路徑,改成剛才加壓的glfw文件夾的include文件夾
更改2:鏈接器 > 常規(guī) > 附加庫(kù)目錄 的路徑,改成剛才加壓的glfw文件夾的vc2022文件夾,因?yàn)槲蚁螺d的是2022版本的visual studio
更改3:鏈接器 > 輸入 > 附加依賴項(xiàng) 添加glfw3.lib;opengl32.lib;user32.lib;gdi32.lib;shell32.lib
最后,我們測(cè)試一下,復(fù)制documentation 這一整段代碼(不只是我截圖的這點(diǎn))
鏈接:https://www.glfw.org/documentation.html
運(yùn)行一下,成功!
2.2 glad
2.2.1 下載glad
鏈接:https://glad.dav1d.de/
這幾個(gè)設(shè)置好,gl版本可以選最新的,profile選core,最后點(diǎn)擊右下角的generate
下載這個(gè)glad.zip壓縮包,可以和glfw保存到一個(gè)文件夾下
解壓縮里頭有倆東西,include和src
2.2.2 在visual studio 中配置glad
glfw需要更改3處,glad需要更改1處,再設(shè)置1處
更改1:可以在剛才的openGL1項(xiàng)目下,依然打開菜單欄 項(xiàng)目 > OpenGL屬性 > C/C++ > 常規(guī) > 附加包含目錄 再添加一個(gè)路徑指向glad解壓縮包的include文件夾 (反正用哪個(gè)包就把這個(gè) 附加包含目錄 指向哪個(gè)包include文件夾…)
設(shè)置1:這里用到加壓縮glad文件夾下的另一個(gè)東西,src文件夾下的glad.c
右擊源文件 > 添加 > 現(xiàn)有項(xiàng) 找到glad文件夾下的src文件夾下的glad.c
最后,測(cè)試一下,輸入以下代碼,運(yùn)行成功!就配置好啦?。「懔舜蟀胩?,終于配置好環(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); }
到此這篇關(guān)于Visual studio2022 利用glfw+glad配置OpenGL環(huán)境的文章就介紹到這了,更多相關(guān)Visual studio2022配置OpenGL環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
數(shù)組指針、指針數(shù)組以及二位數(shù)組的深入解析
下面來講講多維數(shù)組與指針的關(guān)系。與普通數(shù)組一樣,使用多維數(shù)組時(shí),實(shí)際上將其自動(dòng)轉(zhuǎn)換為指向該數(shù)組第一個(gè)元素的指針2013-09-09Qt跨平臺(tái)窗口選擇功能的實(shí)現(xiàn)過程
很多時(shí)候?yàn)榱朔奖丬浖氖褂?我們需要讓編寫的界面程序顯示在最上層,這時(shí)候就需要對(duì)窗口屬性進(jìn)行調(diào)整,下面這篇文章主要給大家介紹了關(guān)于Qt跨平臺(tái)窗口選擇功能的實(shí)現(xiàn)過程,需要的朋友可以參考下2022-12-12解決vscode下調(diào)試c/c++程序一閃而過的問題(Windows)
這篇文章主要介紹了解決vscode下調(diào)試c/c++程序一閃而過(Windows),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08C++?boost?thread庫(kù)用法詳細(xì)講解
Boost是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱。Boost庫(kù)是一個(gè)可移植、提供源代碼的C++庫(kù),作為標(biāo)準(zhǔn)庫(kù)的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱2022-11-11c++中的內(nèi)聯(lián)函數(shù)inline用法實(shí)例
在本篇文章里小編給大家整理的是關(guān)于c++中的內(nèi)聯(lián)函數(shù)inline用法實(shí)例以及相關(guān)知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)下。2019-09-09C語(yǔ)言全部?jī)?nèi)存操作函數(shù)的實(shí)現(xiàn)詳細(xì)講解
這篇文章主要介紹了C語(yǔ)言全部?jī)?nèi)存操作函數(shù)的實(shí)現(xiàn)詳細(xì)講解,作者用圖文代碼實(shí)例講解的很清晰,有感興趣的同學(xué)可以研究下2021-02-02C++實(shí)現(xiàn)動(dòng)態(tài)煙花代碼
這篇文章主要介紹了利用C++實(shí)現(xiàn)的放煙花程序,用到了EGE圖形庫(kù),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C++有一定幫助,需要的可以參考一下2023-01-01C語(yǔ)言實(shí)現(xiàn) 數(shù)據(jù)類型占多少字節(jié)指針占多少字節(jié)
這篇文章主要介紹了 C語(yǔ)言 數(shù)據(jù)類型占多少字節(jié)指針占多少字節(jié)的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09vscode搭建STM32開發(fā)環(huán)境的詳細(xì)過程
這篇文章主要介紹了vscode搭建STM32開發(fā)環(huán)境的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05