IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> OpenGL开发环境搭建(Windwos) -> 正文阅读

[开发工具]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。
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:28:46  更:2021-10-09 16:30:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/23 14:07:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计