OpenGL运行环境搭建学习00篇【Related to https://learnopengl-cn.github.io/】

📅 2026/7/14 7:02:41 👁️ 阅读次数 📝 编程学习
OpenGL运行环境搭建学习00篇【Related to https://learnopengl-cn.github.io/】

前情提要(为什么,是什么):

我主要实操的内容是

Transformation

(几何变换)

3D 图形的基础操作,就是把模型移动、旋转、放大缩小,再调整相机视角,让 3D 物体能正确、清晰地显示在屏幕上

Illumination and Shading

(光照与着色)

模拟物体被光照亮的效果,比如哪里亮、哪里暗、高光在哪里,能让平面的模型瞬间变得立体、有真实质感

Texture Mapping

(纹理映射)

给 3D 模型 “贴皮肤”,比如木纹、图片贴纸、皮肤纹理,不用手动画复杂的颜色,就能让模型表面有丰富的细节

Depth & Transparency

(深度与透明效果)

前者解决 3D 物体前后遮挡错乱的问题,后者实现半透明、叠加效果,是让画面看起来真实、不穿帮的基础配置

Ray Tracing

(光线追踪)

模拟真实世界里光线的传播、反射、折射,能生成电影级别的逼真光影、镜面反射和透明效果

使用的编译器/开发工具:

Visual Studio2022版

链接:https://pan.baidu.com/s/1qU0JlTEJxXq7EfucDxW1ZQ?pwd=1408 提取码:1408

GLFW(Graphics Library Framework)_64位
轻量级的跨平台库,主要用于创建OpenGL上下文、管理窗口和处理输入

GLEW(OpenGL Extension Wrangler Library)_64位
OpenGL扩展管理库,负责加载OpenGL规范中定义的扩展功能。

GLM(OpenGL Mathematics)_1.0.3
基于GLSL 语法风格的C++数学库,提供线性代数计算功能

注:glm 是 header-only 库,include 就能用,不需要编译、不需要链接、不需要 CMake find_package。只要确保编译器能找到头文件路径就行

访问以下官网下载预编译库或源码自行编译:

GLFW:https://www.glfw.org/

GLEW:http://glew.sourceforge.net/

GLM:https://glm.g-truc.net/

我是用这种

从GitHub获取最新Release版:

GLFW:https://github.com/glfw/glfw/releases

GLEW:https://github.com/Perlmint/glew-cmake/releases

GLM:https://github.com/g-truc/glm/releases

还有最重要的是搞清楚我们配置环境要怎么用

方法一:保存为项目模板(推荐,最省事)

步骤

  1. 先把当前项目配置好(包含目录、库目录、链接器都设好)

  2. 文件 → 导出模板

  3. 选择项目模板→ 下一步

  4. 模板名称填OpenGL_Project

  5. 勾选自动导入到 Visual Studio→ 完成

以后怎么用

新建项目时:

plain

文件 → 新建 → 项目 → 搜索 "OpenGL_Project"

直接基于这个模板创建,所有配置都自带。

我主要是这样子用

方法二:保存属性表(.props)

适合多个项目共享同一套配置,但不想用模板。

步骤

  1. 视图 → 属性管理器(或视图 → 其他窗口 → 属性管理器

  2. 展开你的项目 → 右键Debug | x64添加现有属性表...→ 没有就新建

  3. 右键添加新属性表...→ 命名为OpenGL.props

  4. 双击OpenGL.props打开,在里面配置:

    • C/C++ → 常规 → 附加包含目录$(ProjectDir)include

    • 链接器 → 常规 → 附加库目录$(ProjectDir)lib

    • 链接器 → 输入 → 附加依赖项glfw3.lib;glew32.lib;opengl32.lib

  5. 保存

以后怎么用

新建项目后:

  1. 视图 → 属性管理器

  2. 右键Debug | x64添加现有属性表...

  3. 选择你保存的OpenGL.props

  4. 配置自动生效

方法三:直接复制整个项目文件夹

最简单粗暴,适合作业:

  1. 把配置好的项目文件夹复制一份

  2. 重命名文件夹和里面的.sln.vcxproj

  3. 用记事本批量替换文件名(可选)

  4. 打开.sln直接改代码

这个做作业会经常碰到别人或者老师给你直接发项目包,我们起码要能看懂

还有一个建议了解的环境配置文件属性:

软件安装和环境配置(如何做)

同样,我之前c盘空间富裕的时候下载过一次,这次依旧找了一下有没有什么残留(注册表总会伴随下载位置问题,我也去查了一下)

安装前可以去删一下

1.注册表:

按win+R,输入regedit打开注册表,输入或找到计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup,右键CachePathSharedInstallationPath,把这两个删除掉,删除之后,重新下载时可以修改“下载缓存和共享组件、工具和SDK”的位置。

安装VS2022

通过网盘分享的文件:VisualStudio2022Setup.exe
链接: https://pan.baidu.com/s/1w6dEONW2HeZAN23renKvXQ?pwd=1408 提取码: 1408

下载并打开setup应用程序

这里我们继续

这个setup将会安装一个installer软件

通常会直接下载到C:\Program Files (x86)\Microsoft Visual Studio\Installer这个位置

InstallerVisual Studio 安装程序的引导器和更新引擎,它的路径被硬编码在注册表、Windows Installer 数据库和多个系统服务中

不推荐移动,如果空间紧张,Installer 目录里的packages缓存文件夹,可以安全清理缓存。

(实在想移动可以考虑借助符号链接地址指向)

进入下方这个界面,在工作负荷中找到“使用C++的桌面开发”(有其他需求斟酌下载)

安装位置我都修改到了D盘,不过我没有全部修改到同一文件夹下,如果想要更便捷的管理可以考虑统一路径文件夹,比如(标色:建议同时省略;下划线:随便省略):

D:\Program Files\MicrosoftVisual Studio\2022\Community(本体)

D:\Program Files\MicrosoftVisual Studio\2022\Packages(缓存)

D:\Program Files\MicrosoftVisual Studio\2022\Shared(共享)

修改完之后点击右下角下载时安装

下载完成后弹出登录页面,可以选择用GitHub或者微软账号登录。

GitHub登录每次都都需要页面重定向会软件,有点麻烦。

选择喜欢的主题之后就进入项目创建页面了

这里我已经打开过项目了

配置OpenGl环境

VisualStudio内:紫色
依赖:蓝色

创建一个VS空项目。“将解决方案文件与项目置于同一目录”(这个根据自己需求勾选)

注:勾选后,解决方案文件(.sln)和项目文件(.vcxproj)放在同一层目录,路径更短更清爽。单个项目建议勾选。

单项目的解决方案就是一个"包装纸",里面只有一行地址指向真正的项目文件。它的存在是为了让 VS 的工程体系保持一致,无论项目大小都能用同一套逻辑管理。

这里地址也可以一并管理

D:\Program Files\MicrosoftVisual Studio\2022\source\repos

简单情况(一个项目)复杂情况(多个项目)简单情况勾选之后

学 OpenGL 做单项目作业,解决方案和项目几乎没区别。勾选"放在同一目录"就行

在项目目录下新建文件夹 "lib", "include",分别用于存放库文件和头文件。

具体在哪?

就是与解决方案文件(.sln)同级别,。

OpenGL 本身不分 32/64 位,但 GLFW、GLEW 等库分。由于GLFW64位预编译文件资料较少,一般使用 32 位。我这里适应教学资源需求配置64位,两者配置操作是一样的。

准备依赖

我这里先是下载编译好的,后续会重新配置一次

网盘也有以下安装文件压缩包,可以考虑是否直接使用:
链接: https://pan.baidu.com/s/15SOEB-AYos73L0jHP27Wjg?pwd=1408 提取码: 1408

GLEW:GLEW: The OpenGL Extension Wrangler Library
GLFW:Download | GLFW
GLM稍后配置
把压缩包转移到项目目录下并解压

内部结构如下(左GLFW右GLEW),可以看到

解压后头文件需要的都复制在我们自己创建的头文件文件夹目录下
解压后库文件需要的都复制在我们自己创建的库文件文件夹目录下

转移好的文件夹长这样:

GLM也是一样的:Releases · g-truc/glm下载最新版本的GLM源码库压缩包

VS2022 默认是 C++14,如果用后续更新版本的glm可能需要调整C++版本

解压之后只看到一个glm文件,内部如下

我们下载的是 GLM 源码仓库,只需要glm/文件夹里的头文件。把整个glm/复制到项目的include/目录下就能用,其他文件夹可以删掉。

ok,到这一步我们准备好了环境文件,还需要把它们和项目进行链接和配置。

项目配置

用VS打开本项目,右侧显示文件资源管理器。右击项目文件夹,打开属性配置。
配置VC++目录

此处的包含目录和库目录就是我们之前配置的“include”和“lib”文件,我们需要进行行编辑添加(添加不是覆盖,添加新行即可)

选中,点击右侧下拉菜单的编辑,先添加新行,然后选择对应文件夹即可
链接库文件中的lib

点击链接器,打开输入目录,看到附加依赖项,同样操作添加项(此处需要把所有lib文件名放进去)

glew32.lib


glew32s.lib


glfw3.lib


glfw3_mt.lib

glfw3dll.lib

(中间空的是shift+enter)

这里需要注意

添加如图:

到这一步,环境配置就结束了。那么我们如何使用,或者后面怎么方便直接新建项目就可以用?

项目使用:

这里采用方法一,保存为模板方便后续直接使用。

存模板:

我们已经配置好环境,接下来导出成模板。

点击项目(P) → 导出模板(E)

这里可以两种模板都保存,各有各的用法。我选择了第一种

项目模板:

唯一可惜的就是输出目录不能修改,记得勾选自动将模板导入 Visual Studio。

使用模板

打开后新建项目就可以看到我们的模板了。

项目针对:

使用模板依然有项目对应,可以提前自查:

或者看是否有以下报错:

1.链接器错误LNK2019),说明代码编译通过了,但 VS 找不到 OpenGL 函数的库文件。核心原因是:缺少opengl32.lib链接,在之前的链接库列表添加即可


2.运行时库冲突(LIBCMT / MSVCRT)(LNK4098)警告说明你的 GLEW 库和项目使用的运行时库类型不一致

  • 如果 GLEW 是静态编译的(/MT),你的项目也要用/MT

  • 如果 GLEW 是动态编译的(/MD),你的项目也要用/MD

所以我这个项目只需要

1/2任选,但是只能保留一个

最后

后续会使用2019或者2017配合cmake再次配置,感谢观看,使用顺利。