基于 Visual Studio 2019的 OpenGL的安装和环境配置

在这里分享两个在 Visual Studio上安装OpenGL环境的方法

方法一:

步骤1:建立好新的项目

在这里插入图片描述
步骤二:
建立好一个项目后对着解决方案按着右键会出现一个弹窗
在这里插入图片描述
步骤3:
点击里面的 管理NuGet 程序包 然后点击搜索输入opengl
在这里插入图片描述
这里建议顺便安装glm、soil2 、glut;
在这里插入图片描述

安装glut后#include后就能看到一些头文件了选择里面的glut
在这里插入图片描述
步骤4:尝试运行以下代码

#include<gl/glut.h>
void display(void)
{
	glClearColor(0, 0, 1.0, 0);
	glClear(GL_COLOR_BUFFER_BIT);
	glRotatef(45, 1.0f, 1.0f, 1.0f);
	glutWireTeapot(0.5f);
	glFlush();
}
int main(int argc, char* argv[])
{
	glutInit(&argc, static_cast<char**>(argv));
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
	glutInitWindowPosition(100, 100);
	glutInitWindowSize(600, 500);
	glutCreateWindow("title");
	glutDisplayFunc(&display);
	glutMainLoop();
	return 0;
}

如果运行成功的话你可以得到一个图形
在这里插入图片描述

方法二(比较繁琐):

我们可以通过自己下载库并且链接到 Visual Studio

下面的这个网站是我的OpenGL部分库存放的地方如果你不想一个个下载可以直接拷贝下来再根据我下面的操作进行安装就可以

https://github.com/x089866221631/OpenGL;
https://gitee.com/ren-shanxiang/OpenGL

1、先在Visual Studio里建立一个新项目

2、下载库:

在这里我要强调并不是我们用的电脑是64位的就是要用64位的库,我这里给出的参考意见是用32位的库

GLEW:http://glew.sourceforge.net/
当你进入这个网页的时候你能看见在这里插入图片描述
点击第二个Binaries下载

GLFW:https://www.glfw.org/download
在这里插入图片描述
这里我们选择下载32位的

3、将GLEW、GLFW解压后放在项目文件中在这里插入图片描述

我这里是放在Dependencies文件中然后细分(方便我后面找文件路径)
在这里插入图片描述
这里个人给出的意见是在里面细分 lib(库文件lib)和include(头文件)和bin(放dll文件)文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、开始链接到Visual Studio:

打开解决方案资源管理器在这里插入图片描述
对当前选中处右键然后选择最底下的属性->进入项目属性页
在这里插入图片描述
顶部的设置调为:所有配置,平台调整为32位

(1):选择C/C+±>常规
在这里插入图片描述
注:此处$(Solution Dir)是指解决方案的位置,如果你不行这样是找你可以点击图片中右边的小箭头下拉后你能看到编辑
在这里插入图片描述
点击这个图标然后你新建的行右边会出现一个省略号,你点击后就可以直接在电脑上选择你所要安装的库(如:GLFW、GLEW、GLUT……)所包含的头文件(include);如图所示:
在这里插入图片描述
然后确认就完成链接头文件;

(2)、C/C++ ->预处理器
在这里插入图片描述
因为GLEW是一个静态库需要设置;

(3)、链接器 ->常规 ->添加库目录

在这里插入图片描述
此处的操作和(1)的操作相似,不过此处放的是lib文件
(注:并不是每一个库都需要lib和dll文件,如:GLAD)
在这里插入图片描述

(4)、链接器 ->常规 ->输入在这里插入图片描述
这里因为我们链接的是静态库所以用的是glew32s.lib而不是glew32.lib.
在图片处添加你所想要链接的所包含的lib文件(注:并不是所有的库都有lib文件,原先就包含的内容不需要进行改动,只需要进行添加;此处因为我们的勇的是32位的库所以要格外注意时候正确;因为此处有不确定因素最好添加一个opengl32.lib)。

(5)、如果你运行程序的时候发现缺少OpenGL.dll就到网上下载然后放进在debug里然后在输入中链接就可以了

(6)测试GLFW、GLEW
注: 直接复制使用,不要对内容进行删减,如果出现报错,可以尝试检查头文件路径

#include<iostream>
#include<GL/glew.h>
#include<GLFW/glfw3.h>

constexpr auto numVAOs = 1;
GLint renderingprogram;
GLuint vao[numVAOs];

GLuint createShaderProgram()
{
	const char* vshaderSource =
		"#version 430 \n"
		"void main(void)"
		"{gl_Position=vec4(0.0,0.0,0.0,1.0);}";


	const char* fshaderSource =
		"#version 430 \n"
		"out vec4 color; \n"//在顶点着色器中并不是必须要给gl_Position 指定 “out”标签,因为gl_Position是预定义的输出变量
		"void main(void) \n"
		"{color=vec4(0.0,1.0,0.0,1.0);}";

	GLuint vShader = glCreateShader(GL_VERTEX_SHADER);
	GLuint fShader = glCreateShader(GL_FRAGMENT_SHADER);
	GLuint vfprogram = glCreateProgram();//储存指向它的整数ID

	glShaderSource(vShader, 1, &vshaderSource, NULL);//a、用来存放着色器的着色器对象,b、着色器源代码中的字符串数量,c、包含源代码的字符串指针,d、最后一个没用到的参数
	glShaderSource(fShader, 1 ,&fshaderSource, NULL);//注意这两次的glShaderSource调用都指明了着色器的源代码字符串数量为“1”
	glCompileShader(vShader);
	glCompileShader(fShader);

	glAttachShader(vfprogram, vShader);//将着色器加入程序对象,之后用glLinkProgram()请求GLSL编译器确保他们的兼容性
	glAttachShader(vfprogram, fShader);
	glLinkProgram(vfprogram);

	return vfprogram;
}
void init(GLFWwindow* window)
{
	renderingprogram = createShaderProgram();
	glGenVertexArrays(numVAOs, vao);
	glBindVertexArray(vao[0]);
}

void display(GLFWwindow* winodw, double currentTime)
{
	glUseProgram(renderingprogram);//此处没有运行着色器,它只是将着色器加载进硬件
	glPointSize(30.f);
	glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
	glDrawArrays(GL_POINTS, 0, 1);
}
int main()
{
	if (!glfwInit()) { exit(EXIT_FAILURE); }
	glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
	glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
	GLFWwindow* window = glfwCreateWindow(600, 600, "vertexshader and fragmentshader", NULL, NULL);

	glfwMakeContextCurrent(window);

	if(glewInit()!=GLEW_OK){ exit(EXIT_FAILURE); }

	glfwSwapInterval(1);

	init(window);

	while (!glfwWindowShouldClose(window))
	{
		display(window, glfwGetTime());
		glfwSwapBuffers(window);
		glfwPollEvents();
	}
	glfwDestroyWindow(window);
	glfwTerminate();
	exit(EXIT_SUCCESS);
}

此处的代码是完全能运行的如果出现问题大多数情况下是复制的时候产生了空白中文字符;

(7)调整字符集
在这里插入图片描述
若图片中的选项为使用UNicode字符集,请调为使用多字节字符集;

(8)、查看结果
在这里插入图片描述
如果能看见中间的绿色矩形就代表你的GLFW、GLEW安装成功;

留言1:这是我第一次在CSDN上发文章,可能不是很好,但我还是会尽量的写全过程。这里推荐是第二种方法因为这也是一种锻炼,如果你已经有了一定的经验的话可以直接使用第一种方法因为那样比较节省时间。

如果对函数有不明白的朋友可以通过:docs.gl网页进行搜索函数使用

留言2:GLAD库比较特殊,当你下载完后只有include文件和一个src文件;但你要使用GLAD的库的时候记得在代码中常规中链接include和src文件,且代码头文件中要使用src里面的#include<glad.c>
如果有什么疑问或者安装失败的话可以留下评价,我会不定期的上来看看。

  • 9
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
要在 Visual Studio 2019配置 OpenGL 开发环境,可以按照以下步骤操作: 1. 下载和安装 OpenGL 开发工具包。可以从 OpenGL 官方网站或其他第三方网站下载。请注意,OpenGL 并不是单独的软件,而是一组库和 API。因此,您需要下载包含库和头文件的完整开发工具包。 2. 创建一个新的 Visual Studio 2019 项目。选择“空项目”模板,并使用 C++ 作为语言。 3. 在项目属性中配置包含目录和库目录。在 Visual Studio 2019 中,可以通过右键单击项目名称并选择“属性”打开项目属性。在属性窗口中,选择“VC++ 目录”选项卡,然后设置包含目录和库目录。 4. 在“常规”选项卡下,将“附加包含目录”设置为 OpenGL 的包含目录。例如,如果您的 OpenGL 头文件位于“C:\OpenGL\include”目录下,则应将“附加包含目录”设置为“C:\OpenGL\include”。 5. 在“链接器”选项卡下,将“附加库目录”设置为 OpenGL 的库目录。例如,如果您的 OpenGL 库文件位于“C:\OpenGL\lib”目录下,则应将“附加库目录”设置为“C:\OpenGL\lib”。 6. 在“链接器”选项卡下,将“附加依赖项”设置为所需的 OpenGL 库文件。OpenGL 库文件的名称可能因平台和编译器而异。例如,在 Windows 平台上,您可能需要将“opengl32.lib”和“glu32.lib”添加到“附加依赖项”中。 7. 在代码中包含所需的 OpenGL 头文件。要使用 OpenGL 函数,您需要包含“gl.h”头文件。要使用 OpenGL 实用程序函数,您需要包含“glu.h”头文件。 8. 现在,您可以开始编写使用 OpenGL 的代码了。在编译和链接代码之前,请确保您的系统上已安装 OpenGL 运行时库。 希望这些步骤能帮助您配置 Visual Studio 2019 中的 OpenGL 开发环境
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值