VS2022 + OpenGL GLFW Windows环境配置
OpenGL搭配VS2022的配置,借助NuGet程序包。
VS2022 + OpenGL GLFW Windows环境配置
目录
0. 前言
因为一些需求,我需要用OpenGL写一些东西,本来是要Linux的,这里选择在Windows上搭配宇宙第一IDE Visual Studio进行编码,然后在Linux上进行编译运行,后面会再补一个Linux的环境配置(其实也就几行)。这篇博客主要起备忘作用,以及给一些小朋友们看一下。
1. 一些介绍
首先简单介绍一下OpenGL,它仅仅是一套标准而非具体实现,它的实现是交给厂商去做的,这是基于C/C++的一个库,既然是库,就要绑定语言,此处我选择的是 宇宙最强语言 C++,上文提到OpenGL只是一个接口规范,比较常见的如GLFW、GLUT等等,那么我们就要选择库实现版本,我大概搜了一下别的教程,普遍都是选择的GLUT安装,这玩意上次更新在1998年,那时候C语言还不支持随处定义变量名,中国还没入世,我还没出生,早就被弃用的东西了,我也是不懂怎么这么多怀旧精神这么强的人。
关联一些链接:
OpenGL官网
Khronos官网
GLFW官网
推荐教程
本文链接
2. Visual Studio及C++基础环境配置
本文默认你安好了,没安好的自己去官网下一个就行,一般是推荐安装2022 community(我个人是用的2022 community preview,于本文区别不大),如果你是别的版本的,自行对照后文更改就行,此处不加赘述。
3. GLFW配置
首先新建一个C++项目
在项目名上右键,选择管理NuGet程序包。
输入glfw,点击安装
这样就算安完了
4. GLAD配置
打开GLAD在线服务,选择OpenGL版本、设置Profile为Core,然后点击生成。
会得到这样一个压缩包,下载下来
解压后直接把include文件夹拖到你编译器安装位置的include里
找不到这个位置的同学可以在解决方案资源管理器(Ctrl + ;)的外部依赖项里面随便查看一个文件的属性
可以看到它的完整路径,这个include文件夹就是我们需要的位置。
把src文件夹拖到你的项目源文件里
5. Hello World!
最后测试一下我们配置好了没有,输入以下代码(测试代码来自: 链接):
#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);
}
如果顺利出现了一个名为“LearnOpenGL”的窗口,说明配置顺利,完结撒花!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)