认识OpenGL环境配置:从GLFW到GLAD,详解OpenGL库的安装与配置步骤

网安智编 厦门萤点网络科技 2025-11-12 00:11 57 0
glm:http:// GLM | glfws:An | GLFW glad:glad.dav1d.de cmake: CMake 1. 认识 1.1 介绍: (Open ) 是一种跨平台、开放标准的图形编程接口,用于渲染2D和...

glm:http:// GLM |

glfws:An | GLFW

glad:glad.dav1d.de

cmake: CMake

1. 认识 1.1 介绍:

(Open ) 是一种跨平台、开放标准的图形编程接口,用于渲染2D和3D矢量图形。它的核心目标是抽象底层硬件和操作系统,为开发者提供统一的接口来操作GPU (图形处理器),从而实现高效的图形渲染。

1.2 如何理解配置环境:

的核心是一个标准的 API 规范,就如同 C 语言中的头文件,只提供函数的声明,并未具体实现,因为具体的实现与对应的操作系统和硬件有关。而配置 的环境就是下载一些实现 的 API 的包 (SDK),这一过程常常与 IDE 相联系,比如 。

1.3 需要哪些包:

SDK 自带了基础的 1.1 头文件 (`gl.h`) 和静态库 (`.lib`),但现代 (3.0+) 需要额外扩展。

- 一般安装 GLFW、GLAD、GLM 这三个 SDK 就能搭建基本的 环境,也就是说实现基础的功能,这三个 SDK 的作用是:

- GLFW: 创建窗口和 渲染上下文,提供输入事件通道。

- GLAD: 动态加载 函数指针,使开发者可直接调用如 `` 等核心渲染指令。

- GLM: 生成模型、视图、投影矩阵。

2. 配置:  2.1 手动配置: 2.1.1 按使用的 IDE 是 2022

以下步骤基于 2022 进行配置。

2.1.2 打开 ,建立一个控制台项目

1. 启动 2022。

2. 选择“创建新项目” > “控制台应用 (C++)” > 配置项目名称和路径 > 点击“创建”,最好记住项目存放路径。

GLFWGLADGLM配置教程_opengl安装教程_OpenGL环境搭建

2.1.3 下载 GLFW、GLM、GLAD 三个包,下载地址如下:

- **GLFW**: An | GLFW

- **GLAD**:glad.dav1d.de

- **GLM**: GLM |

**CMake**: CMake

可以将glfw,glad,glm下载的文件放到统一的文件夹下方便后面处理,可以放到对应项目的文件夹下创建一个新的文件夹,具体步骤如下

opengl安装教程_OpenGL环境搭建_GLFWGLADGLM配置教程

2.1.4 下载配置和下载目标:

- 下载上述包的最新版本。

- 对于 GLFW,由于没有预编译的 DLL 和 LIB 文件,需要使用 CMake 生成 解决方案并编译,步骤在后面。

- GLAD 需要通过在线服务生成源文件,

配置如下:

- : C/C++

- :

- API:

- gl : 选最新即可(与项目中GLFW设置的版本一致)

- : Core(必须选择Core ,否则无法使用现代功能)

- : 留空(除非明确需要特定扩展)

- 点击 下载 `glad.zip`。

GLFWGLADGLM配置教程_opengl安装教程_OpenGL环境搭建

-GLM 是头文件库,可直接使用。

2.1.5 解压 GLFW 并使用 CMake 生成解决方案,具体步骤:

由于 GLFW 没有预编译的 DLL 和 LIB 文件,需要手动编译:

1. 安装 CMake:从

CMake 下载页面

() 下载并安装。

2. 解压 GLFW:就解压到创建的文件夹下,并在解压的文件夹下创建文件夹命名为‘build'。

opengl安装教程_OpenGL环境搭建_GLFWGLADGLM配置教程

4. 打开 CMake:

- 设置源代码路径(就是解压的文件夹的路径)和构建路径(build文件夹的路径)”。

opengl安装教程_OpenGL环境搭建_GLFWGLADGLM配置教程

5. 配置和生成:

- 点击“”,选择你的 版本 (如 17 2022)。

- 配置完成后点击“”,生成解决方案。

OpenGL环境搭建_GLFWGLADGLM配置教程_opengl安装教程

6. **编译 GLFW**:

- 在 `glfw-build` 文件夹中打开生成的 `.sln` 文件。

OpenGL环境搭建_GLFWGLADGLM配置教程_opengl安装教程

选择,运行,可能会报错但不要紧

opengl安装教程_OpenGL环境搭建_GLFWGLADGLM配置教程

- 编译后的文件位于  `glfw-build/src/` 文件夹中,包括 `glfw3.lib` 。

回到cmake界面勾选,同样点击再次生成sln并运行此时 `glfw-build/src/` 文件夹有生成了dll文件 2.1.6 创建一个文件夹名为放入项目的文件夹下:

建议的项目目录结构如下:

D:\Data\\\\\

├─ \

│  ├─ glad\将glad里的glad里的的文件放入

│  ├─ GLFW\将glfw里的的文件放入

│  ├─ glm\将glm里的glm直接放入

│  └─ KHR\将glad里的KHR里的里的文件放入

└─ lib\

├─ glfw3.dll

├─ glfw3.lib

├─ .exp

└─ .lib

此外右键单击源项目点击添加然后选择先有项,添加glad.c

OpenGL环境搭建_opengl安装教程_GLFWGLADGLM配置教程

2.1.7 在 VS 的项目属性中进行配置: 0.项目属性的核心作用

- 编译器配置:告诉编译器头文件(`.h`)的位置,避免 `` 报错。

- 链接器配置:告诉链接器库文件(`.lib`)的位置和名称,确保函数符号能被正确解析。

1. 在 中右键项目,选择“属性”。

OpenGL环境搭建_opengl安装教程_GLFWGLADGLM配置教程

2. 配置包含目录:

- 转到“C/C++” > “常规” > “附加包含目录”。

- 添加:\对应的文件地址

3. 配置库目录:

- 转到“链接器” > “常规” > “附加库目录”。

- 添加:\lib对应文件地址

4. 配置链接库:

- 转到“链接器” > “输入” > “附加依赖项”。

- 添加:`glfw3.lib;.lib`。

2.1.8 试运行代码:

以下是一个简单的 程序,用于验证环境配置是否正确:

出现的报错调节# 头文件的位置可能解决

#include 
#include 
#include   // GLM 测试
#include 
#include 
void framebuffer_size_callback(GLFWwindow* window, int width, int height) {
    glViewport(0, 0, width, height);
}
int main() {
    // 初始化 GLFW
    if (!glfwInit()) {
        std::cerr << "Failed to initialize GLFW" << std::endl;
        return -1;
    }
    // 配置 GLFW 窗口

opengl安装教程_OpenGL环境搭建_GLFWGLADGLM配置教程

    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, "OpenGL Test", NULL, NULL);     if (!window) {         std::cerr << "Failed to create GLFW window" << std::endl;         glfwTerminate();         return -1;     }     glfwMakeContextCurrent(window);     glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);     // 初始化 GLAD     if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) {         std::cerr << "Failed to initialize GLAD" << std::endl;         return -1;     }     // 测试 GLM     glm::vec3 position(1.0f, 2.0f, 3.0f);     glm::mat4 model = glm::translate(glm::mat4(1.0f), position);     std::cout << "GLM test matrix:\n";     for (int i = 0; i < 4; ++i) {         for (int j = 0; j < 4; ++j) {             std::cout << model[i][j] << " ";         }         std::cout << std::endl;     }     // 主循环     while (!glfwWindowShouldClose(window)) {         // 清屏         glClearColor(0.2f, 0.3f, 0.3f, 1.0f);         glClear(GL_COLOR_BUFFER_BIT);         // 交换缓冲区和处理事件         glfwSwapBuffers(window);         glfwPollEvents();     }     // 清理资源     glfwDestroyWindow(window);     glfwTerminate();     return 0; }

```

编译并运行。如果窗口显示并背景色为蓝绿色,说明配置成功。

opengl安装教程_GLFWGLADGLM配置教程_OpenGL环境搭建

2.2 用 VS 的 NuGet 进行配置:

- 内置包管理器 NuGet,可以简化库的安装和管理。

- 步骤:

1. 在解决方案资源管理器中右键项目,选择“管理 NuGet 程序包”。

2. 搜索“glfw”、“glad”和“glm”等包。

3. 安装所需的包到项目中。

4. NuGet 会自动配置包含目录和链接库。

5. 在代码中直接包含头文件并使用。