首页 > 其他分享 >Opengl+GLFW+GLAD+Visual Studio 配置

Opengl+GLFW+GLAD+Visual Studio 配置

时间:2024-08-29 11:25:08浏览次数:12  
标签:Opengl 项目 点击 Visual GLFW 右键 当中 Studio GLAD

        学习计算机图形学的朋友们基础到的第一个图形库因该就是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当中检查到了这个宏先前定义过,就会报错。

标签:Opengl,项目,点击,Visual,GLFW,右键,当中,Studio,GLAD
From: https://blog.csdn.net/qq_45651072/article/details/141638607

相关文章

  • 超越传统:探索Visual Basic在操作系统插件开发的新境界
    标题:超越传统:探索VisualBasic在操作系统插件开发的新境界VisualBasic(VB),作为微软的老牌编程语言,以其简洁的语法和快速的开发能力在软件开发历史上占有一席之地。尽管VB并非现代操作系统插件或扩展开发的主流选择,但其在特定场景下仍具有一定的可行性。本文将探讨VisualBas......
  • 正则表达式:Visual Basic中的强大文本处理工具
    正则表达式:VisualBasic中的强大文本处理工具在软件开发中,文本处理是一项常见且关键的任务。正则表达式作为一种强大的文本模式匹配工具,能够用于执行各种复杂的字符串搜索、替换、验证等操作。VisualBasic(VB),作为一门流行的编程语言,提供了对正则表达式的支持。本文将详细介......
  • Visual Basic中的继承艺术:构建代码的层级之美
    标题:VisualBasic中的继承艺术:构建代码的层级之美在面向对象编程的殿堂中,继承是一种强大的机制,它允许新创建的类(子类)继承现有类(父类)的属性和方法。VisualBasic(VB.NET)作为.NET家族的一员,完美地支持了继承的概念。本文将深入探讨VB.NET中继承的工作原理,并通过详细的代码示例......
  • Data Visualisation for Managers (INFS6023)
    Data Visualisation for Managers(INFS6023)AssignmentCaseHydro EU:Visualizing Renewable Energy ProductionAcross EuropeBackgroundHydro EU, headquartered in Milan, Italy,stands as Europe’s leading producer of clean and renewableene......
  • Whole Tomato Visual Assist X 2024 Crack
    WholeTomatoVisualAssistX2024CrackKeyFeaturesofWholeTomatoVisualAssistX:FastNavigation:Swiftlymovebetweenfiles,methods,symbols,andreferenceswithinprojectsandsolutions.CodeInspection&Modernization:Identifyan......
  • Cloud Studio:颠覆传统的云端开发与学习解决方案
    CloudStudioCloudStudio(云端IDE)是一款基于浏览器的集成开发环境,它为开发者提供了一个高效、稳定的云端工作站。用户在使用CloudStudio时,无需进行任何本地安装,只需通过浏览器即可随时随地轻松访问和使用。这种无缝的访问方式不仅提升了工作效率,也极大地简化了开发流程,使得开......
  • DocKylin: A Large Multimodal Model for Visual Document Understanding with Effici
    DocKylin:ALargeMultimodalModelforVisualDocumentUnderstandingwithEfficientVisualSlimmingarxiv:http://arxiv.org/abs/2406.19101视觉处理器+LLM:视觉处理器:SwinTransformer创新点:通过:1、去除图片冗余像素;2、去除冗余token。来减小模型中的视觉处理器的参数量......
  • FL Studio 24.1.1.4239最新中文版crack下载
    FLStudio24.1.1.4239中文版是一款备受赞誉的数字音频工作站,它以其强大的功能和用户友好的界面赢得了音乐制作者的喜爱。在这篇文章中,我将向您介绍这款软件的主要特点和优势,以及如何利用它来创作出令人惊叹的音乐作品。FLStudio24.1.1.4239中文版具有直观的用户界面设计,使......
  • 10大秘籍!FL Studio24.1.1.4239中文版功能介绍,轻松上手音乐制作!
    FLStudio24.1.1.4239中文版是一款备受赞誉的数字音频工作站,它以其强大的功能和用户友好的界面赢得了音乐制作者的喜爱。在这篇文章中,我将向您介绍这款软件的主要特点和优势,以及如何利用它来创作出令人惊叹的音乐作品。FLStudio21汉化版下载网盘链接:https://pan.quark.cn/......
  • 微软常用运行库合集|dll报错必装,Visual C++ 下载安装
    前言MicrosoftVisualC++Redistributable(简称MSVC,VB/VC,系统运行库)是Windows操作系统应用程序的基础类型库组件。此版VisualC++运行库组件合集(微软常用运行库合集)由国内封装爱好者@Dreamcast打包而成,整合VisualC++组件安装包运行库所有版本,提供图形安装界面,可自选更新V......