OpenGL开发环境搭建(Windwos)

跟着官网搭建OpenGL的开发环境,全程在Windwos 10上完成

官网的文档地址在这里,基本跟着做就行,也就是导入依赖那里和我不一样,我照那个样子操作失败了,于是自己导入了依赖。

一、下载 VS 2019

当然,VS的版本你可以自己选择,但是最好不要太新,否则其它的工具可能没有适配的版本。

二、下载GLFW

去GLFW的官网下载源代码,看清楚了是源代码,就是下图这个:
在这里插入图片描述
后面再说需要这里面的什么东西,先解压放到合适的文件夹下。

三、下载CMake

去CMake的官网下载如下图的压缩包:
在这里插入图片描述

  • 解压,打开bin文件夹下面的cmake-gui.exe,这样就打开了Cmake的GUI
  • 点击Browse Source按钮选择之前下载的GLFW解压后的源文件夹
  • 在合适的地方新建Cmake的输出目录,点击Browse build选择它
  • 点击Configure,如果没有错误,那么,选择自己的VS版本,我这里是2019,Finish;如果有有错误检查自己是否下载错了GLFW,要下载的是Source而不是二进制。
  • 点击Generate,就会在选择的目标文件夹中生成项目,如下所示:
    在这里插入图片描述
  • 使用VS 2019打开GLFW.sln,生成解决方案,就可以在src/DeBug中找到重要的依赖 — glfw3.lb了。
    在这里插入图片描述

下载GLAD

官网这里还有导入依赖的操作,我这里操作不成功,搞不懂VS,所以后面会提到自己添加依赖的方式(不要着急)。在在线服务下载GLAD。

  • 我说明一下自己选择的内容:
    在这里插入图片描述
  • 点击Generate后,下载zip文件,解压到合适的文件夹下。

四、导入依赖

说明一下,依赖都包含以下的部分:

  • GLFWb本身的依赖位于glfw-3.3.4/include/GLFW下

  • 生成的glfw3.lib库

  • GLAD的依赖,include下的两个文件夹
    最后的全部依赖应该如下:
    在这里插入图片描述

  • 创建一个空的C++项目

  • 把上面的依赖复制,分别粘贴到VS 2019项目依赖的目录,至于这个依赖的目录怎么看:

  • 在VS 2019中 项目 > 属性中做如下选择:
    在这里插入图片描述

  • 查看这两个属性对应的计算的量,将上面提到的依赖复制到这些文件夹下。记得放在x64和x86都要放置,否则可能会找不到。

  • 在链接器中加入如下图的依赖
    在这里插入图片描述

  • 依赖加载完成,将GLAD下的src文件夹中的glad.c加入创建的C++项目的源代码下,编译不报错就是依赖添加成功了。

创建一个窗口

在源代码下创建一个cpp文件,代码官网有,如下:

#include <glad/glad.h>
#include <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, "LearnOpenGL", NULL, NULL);
	if (window == NULL)
	{
		// cout << "Failed to create GLFW window" << std::endl;
		glfwTerminate();
		return -1;
	}
	glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
	glfwMakeContextCurrent(window);

	// 为了能够持久显示,创建了一个循环
	while (!glfwWindowShouldClose(window))
	{
		// 检测按键操作
		processInput(window);

		// 渲染,清除屏幕颜色,设置为glClearColor中设置的颜色
		
		// 检查并调用事件,交换缓冲
		glfwSwapBuffers(window);
		glfwPollEvents();
	}

	glfwTerminate();

	return 0;
}
  • 编译 > 生成解决方案 > 运行即可。
    在这里插入图片描述
    搭个环境就花了半个小时,写个博客花了一个多小时,233。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值