二、Visual Studio2022配置OpenGL环境

文章目录

一、OpenGL库的下载

OpenGL配置的库是GLFW+GLAD ,GLFW 主要用于创建 OpenGL 窗口和管理输入;GLAD 主要用于加载 OpenGL 函数

GLFW下载地址
下载Windows的32bit版本即可。

下载完成解压如下所示:

GLAD下载地址

点击glad.zip下载即可。

解压后如下所示:

二、OpenGL环境配置

我们用的是VS2022,所以只需要include文件夹和lib-vc2022就足够了,然后使用VS2022创建一个空项目,将上述的文件拷贝到此项目中。同理将GLAD也拷贝到此项目中

我们先来配置头文件的路径:

右键项目->属性->C+±>常规->附加包含目录;然后添加需要的头文件

接下来就是如何配置lib文件的路径了,点击链接器->常规->附加库目录

之后就是考虑如何把lib文件加载进来了,这个简单,点击链接器->输入->附加依赖项之后,将库文件输入进去即可,如下图所示:

最后需要把dll文件拷贝到运行工作目录中,即exe运行文件所在目录,你可以手动拷贝,也可以在生成事件->后期生成事件中添加拷贝命令

三、测试代码演示

示例代码:

cpp 复制代码
#include <iostream>
#include "glad/glad.h"
#include "GLFW/glfw3.h"

void framebuffer_size_callback(GLFWwindow* window, int width, int height) {
	glViewport(0, 0, width, height);
}

void processInput(GLFWwindow* window) {
	if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS) {
		glfwSetWindowShouldClose(window, true);
	}
}

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(800, 600, "OPenGL Core", 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)) {
		processInput(window);

		glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
		glClear(GL_COLOR_BUFFER_BIT);

		glfwSwapBuffers(window);
		glfwPollEvents();
	}
	glfwTerminate();
	
	return 0;
}

输出结果:

相关推荐
AI视觉网奇4 小时前
ue5 插件 WebSocket
c++·ue5
左直拳4 小时前
将c++程序部署到docker
开发语言·c++·docker
恒者走天下4 小时前
AI智能体通讯项目(底层AI通讯协议实现)
c++
英雄各有见5 小时前
Chapter 5.1.1: 编写你的第一个GPU kernel——Cuda Basics
c++·gpu·cuda·hpc
梵尔纳多5 小时前
OpenGL着色器语言(GLSL)
c++·opengl·着色器
net3m335 小时前
单片机屏幕多级菜单系统之当前屏幕号+屏幕菜单当前深度 机制
c语言·c++·算法
mmz12075 小时前
二分查找(c++)
开发语言·c++·算法
陌路205 小时前
C++30 STL容器 -deque双端队列
开发语言·c++
AI视觉网奇5 小时前
ue 自己制作插件 c++
c++·ue5
Jayden_Ruan6 小时前
C++分解质因数
数据结构·c++·算法