Opengl+GLFW+GLAD+Visual Studio 配置

        学习计算机图形学的朋友们基础到的第一个图形库因该就是Opengl,毕竟Opengl相对DirectX和Valuken要简单不少。但是Opengl这个库当中的函数到底应该如何调用,成了很多朋友们学习路上的拦路虎,再次笔者就交大家如何配置第三方库来调用Opengl当中的函数。

1、下载

Visual Studio

官方网站https://visualstudio.microsoft.com/zh-hans/

        其他的两个版本是需要付费的,这里下载社区版也是够用了。Visual Studio 的安装基本上就是傻瓜式的安装,这里就不多讲述了。在安装的过程当中记得要

这两个记得勾选,其他的看自己情况进行勾选。

下载GLFW

官方网站https://www.glfw.org/

下载完以后是一个压缩包

下载GLAD

官方网站https://glad.dav1d.de/

按照下图进行选择

按照上面选好了后点积GENERATE按钮

点击压缩包,就可以进行下载

2、创建项目进行配置

      创建C++空项目

        创建一个空的C++项目Graphics(这里不多过多的演示)

配置GLFW

右键解决方案添加新的空C++项目GLFW

右键点击GLFW项目,选择在文件资源管理器当中打开文件

将下载的GLFW压缩包当中deps,include,src,文件夹复制到上面的文件路劲当中

点击 Visual Studio 当中的GLFW项目,再点击显示所有文件

右键点击这三个文件夹,选择包括在项目当中

将这三个文件夹都进行这样的操作

再右键GLFW项目,选择属性

配置属性当中选择常规,配置类型选择静态库

C/C++ 常规项当中,附加包含目录当中,添加路径$(SolutionDir)GLFW\include

这里我们可以试着去生成一下静态库。右键GLFW项目,点击生成。

结果是,失败了?(可能很多朋友们在这里就放弃了,去另寻他法了,不过我们今天就在这里解决这个问题)

我们看一下具体的原因是This function or variable may be unsafe. Consider using _ftime64_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

编译器检查到了GLFW当中有的函数不太安全,不过有告诉我们可以使用_CRT_SECURE_NO_WARNINGS宏将这种不安全的错误关闭掉。那么我们继续配置GLFW项目,点击GLFW项目,选择配置,再选择C/C++ 预处理器,在预处理定义中添加刚才的宏

重新生成GLFW静态库

结果~~,还是报错了。(好事多磨,大家保持耐心一些,我们继续解决问题)

我们点击第一个错误,定位到错误的位置。

因为下面宏的原因,这个数组的初始化无效了,那么我们要做的就是定义这个宏,同样的我们继续配置GLFW项目,点击GLFW项目,选择配置,再选择C/C++ 预处理器,在预处理定义中添加刚才的宏

再生成GLFW静态库

成功啦!!!胜利就在眼前了

配置GLAD

新建一个C++空项目GLAD,和新建GLFW是同样的,这里就不做过多的演示了

将GLAD压缩包当中的inclue,src文件夹放在GLAD项目当中并包含在,和GLFW项目的操作也是同样的,笔者也就不做过多的演示了。

右键点击GLAD项目,选择属性,常规,配置类型选择静态库

C/C++ 常规 附加包含目录添加路径$(SolutionDir)GLAD\include

我们尝试生成GLAD静态库

一次就成功了

这两个库算是已经完成了配置,我们还要看一下到底要怎么使用

3、使用GLFW+GLAD在窗口上画一个三角形

在Graphics项目中添加一个Demo.cpp文件,将下面测试代码复制到该文件当中

#include<glad/glad.h>
#include<GLFW/glfw3.h>

#include<iostream>

int main() {
	glfwInit();

	GLFWwindow* window = glfwCreateWindow(640, 480, "Triangles", NULL, NULL);

	glfwMakeContextCurrent(window);
	glfwInit();

	//需要初始化GLAD
	if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) {
		std::cout << "Failed to initialize GLAD" << std::endl;
		return -1;
	}

	float positions[6] = {
		-0.5f, -0.5,
		0.0f, 0.5f,
		0.5f, -0.5f
	};

	GLuint buffer = 0;

	glGenBuffers(1, &buffer);
	glBindBuffer(GL_ARRAY_BUFFER, buffer);
	glBufferData(GL_ARRAY_BUFFER, sizeof(positions), positions, GL_STATIC_DRAW);

	glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 2 * sizeof(float), NULL);
	glEnableVertexAttribArray(0);

	while (!glfwWindowShouldClose(window)) {
		glClear(GL_COLOR_BUFFER_BIT);

		glDrawArrays(GL_TRIANGLES, 0, 3);

		glfwSwapBuffers(window);

		glfwPollEvents();
	}

	glfwDestroyWindow(window);

	glfwTerminate();
}

右键点击Graphics项目,在C/C++ 常规 附加包含目录当中,添加路径$(SolutionDir)GLAD\include

$(SolutionDir)GLFW\include

在连接器 输入 附加依赖项当中添加opengl32.lib

右键点击Graphics项目,添加引用,选择GLAD,GLFW项目

右键点击Graphics项目,设置为启动项目

然后启动这个项目,看一下结果

运行结果,我们在一个窗口上的到了一个白色的三角形。

到此,大家就可以在计算机图形学汪洋当中遨游了

注意

这两个头文件,不能交换位置,一旦交换位置编译就会报错。

因为glfw3.h文件当中定义了__gl2_h_这个宏,在glad.h当中检查到了这个宏先前定义过,就会报错。

  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值