OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细教程

OpenGL环境配置一般选择Win32,因此本教程将搭载Win32平台的开发环境。

目录

搭建环境

  • 操作系统:Windows 10

  • 编译器:Visual Studio 2017

  • GLAD库

  • GLFW库

配置步骤

Step1. 下载编译好的GLFW库

下载链接:https://www.glfw.org/download.html.
在这里插入图片描述
下载选择的版本

Step2. 下载GLAD库

GLAD是一个开源的库,它能解决我们上面提到的那个繁琐的问题。GLAD的配置与大多数的开源库有些许的不同,GLAD使用了一个在线服务。在这里我们能够告诉GLAD需要定义的OpenGL版本,并且根据这个版本加载所有相关的OpenGL函数。

打开GLAD的 在线服务.,将语言(Language)设置为C/C++,在API选项中,选择3.3以上的OpenGL(gl)版本(我们的教程中将使用3.3版本,但更新的版本也能正常工作)。之后将模式(Profile)设置为Core,并且保证生成加载器(Generate a loader)的选项是选中的。现在可以先(暂时)忽略拓展(Extensions)中的内容。都选择完之后,点击生成(Generate)按钮来生成库文件。

如下图填写信息:
在这里插入图片描述
在这里插入图片描述
点击Generate完成

之后生成下图文件:

在这里插入图片描述
点击下载压缩包,里面包含的文件内容如下:
在这里插入图片描述

Step3. 配置Visual Studio工程

新建VC++空项目:(起名字随意)
在这里插入图片描述
打开项目属性界面,配置以下内容:
在这里插入图片描述

  1. 包含文件内容为刚才下载的glad和glfw下文件包中的include文件夹下的内容路径:
    在这里插入图片描述
  2. 库目录内容为glfw文件夹下对应的VS版本内容(VS2017):
    在这里插入图片描述
  3. 链接输入的内容为:
opengl32.lib
glfw3.lib

在这里插入图片描述

在这里插入图片描述
配置完成后将glad包中的src中的glad.c复制到项目中:
在这里插入图片描述
创建一个cpp文件,我创建的是main,内容如下:

#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <iostream>
using namespace std;

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);

	GLFWwindow *window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL);
	if (window == NULL) {
		cout << "Failed to create GLFW window" << 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);
}

如果能运行成功就代表配置成功,运行结果如下:
在这里插入图片描述

其他问题

如果项目不报错但是运行失败请检查自己的项目是否是32位项目:
在这里插入图片描述
在这里插入图片描述
同时,请确认您的系统支持OpenGL3.3或更高版本,否则此应用有可能会崩溃或者出现不可预知的错误。如果想要查看OpenGL版本的话,在Linux上运行glxinfo,或者在Windows上使用其它的工具(例如OpenGL Extension Viewer)。如果你的OpenGL版本低于3.3,检查一下显卡是否支持OpenGL 3.3+(不支持的话你的显卡真的太老了),并更新你的驱动程序,有必要的话请更新显卡。

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Visual Studio中配置GLFW需要以下步骤: 1. 下载并安装GLFW库。你可以从官方网站上下载GLFW:https://www.glfw.org/download。 2. 下载并安装GLEW库。你可以从GLEW的官方网站上下载GLEW:https://glew.sourceforge.net/。 3. 在Visual Studio中创建一个新的OpenGL项目。 4. 将GLFW和GLEW的头文件复制到Visual Studio的include文件夹中。具体步骤如下: a. 打开OpenGL文件夹,将GLFW文件夹复制到Visual Studio的include文件夹中。 b. 打开glad和KRH文件夹,将其中的文件复制到Visual Studio的include文件夹中。 5. 在你的源代码中引入GLFW和GLEW的头文件。可以使用以下代码: #include "glew.h" #include "glfw3.h" 6. 确保在main函数之前调用glfwInit()进行GLFW的初始化。 7. 创建一个窗口并设置OpenGL上下文,可以使用以下代码: GLFWwindow* window; window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); glfwMakeContextCurrent(window); 8. 在初始化GLEW之前,确保检查glewInit()的返回值是否等于GLEW_OK。如果不是,表示初始化失败。 9. 在渲染循环中绘制你的OpenGL图形。你可以使用以下代码作为例子: while (!glfwWindowShouldClose(window)) { // 渲染代码 glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_TRIANGLES); glVertex2f(-0.5f,-0.5f); glVertex2f(0.0f, 0.5f); glVertex2f(0.5f, -0.5f); glEnd(); glfwSwapBuffers(window); glfwPollEvents(); } 10. 最后,在程序结束时调用glfwTerminate()释放资源。 以上是在Visual Studio中配置GLFW的基本步骤和代码示例。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [OpenGL VisualStudio 环境配置的 glew 和 glfw 包](https://download.csdn.net/download/u014361280/86725065)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [OpenGL+Visual Studio2022+GLFW+glad详细配置教程](https://blog.csdn.net/qq_18855997/article/details/127095232)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Visual Studio 2022 搭建GLFW OpenGL开发环境](https://blog.csdn.net/baoecit/article/details/130523003)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值