编程的世界远不止 CRUD 接口与业务逻辑。有一群开发者执迷于更底层的挑战——让屏幕上的每一个像素都按照数学规律精确发光。这就是图形编程(Graphics Programming)与游戏引擎开发(Game Engine Development),它横跨线性代数、计算机体系结构、操作系统 API 与艺术直觉,被公认是软件工程中最硬核、也最具美感的分支之一。
本期(Round 2 · 编程与开发)我们避开已被反复解读的"框架生态""系统架构"等热门方向,转而聚焦一个长期被中文技术社区低估的领域:从零构建渲染管线与游戏引擎。以下精选的七个 YouTube 频道,分别代表了该领域的不同流派——从 C++ 引擎架构、实时光线追踪,到用数学公式"画"出风景画的 Shader 艺术。它们共同构成了一条从入门到精通的完整学习链路。
核心发现:优秀的图形/引擎教程频道普遍遵循"可见即可信"原则——每段抽象数学都立即用画面验证,每行代码都指向一个可运行的视觉结果。这种"代码即画笔"的范式,正在重塑工程教育的呈现方式。
| 频道 | 语言/技术栈 | 核心方向 | 难度 | 代表作 | 适合人群 |
|---|---|---|---|---|---|
| The Cherno | C++ | 游戏引擎架构(Hazel) | ⭐⭐⭐⭐ | Hazel 引擎系列 | 想理解引擎内部的工程师 |
| Acerola | C++/GLSL/HLSL | 渲染算法与光线追踪 | ⭐⭐⭐⭐⭐ | "光栅化 vs 光追" | 图形学进阶者 |
| Inigo Quilez | GLSL | 数学作画 / SDF | ⭐⭐⭐⭐⭐ | Painting with Maths | 着色器艺术家 |
| Sebastian Lague | C#/Unity | 过程化生成与算法 | ⭐⭐⭐ | 创造游戏引擎 | 偏好可视化的通才 |
| Javidx9 (OneLoneCoder) | C++ | 复古引擎与底层原理 | ⭐⭐⭐⭐ | NES 模拟器系列 | 硬核底层爱好者 |
| SimonDev | JS/GLSL | 图形数学与着色器 | ⭐⭐⭐⭐ | 角色动画与光照 | Web 3D 开发者 |
| ThinMatrix | Java/OpenGL | Java 引擎从零搭建 | ⭐⭐⭐ | OpenGL 3D 游戏引擎 | Java 背景入门者 |
频道:youtube.com/@thecherno · 创作者:Yan Chernikov · 订阅:约 90 万
The Cherno 的核心叙事对象是一个名为 Hazel 的游戏引擎——它是作者从零开始、一帧一帧在直播中敲出来的 3D 引擎。区别于"教你怎么用 Unity",The Cherno 教的是"Unity 本身是怎么被造出来的"。
系列从最基础的窗口创建、事件系统、层(Layer)架构讲起,逐步搭建出实体系统、渲染抽象层、脚本绑定,最终触及光照与阴影。整套教学的精髓在于分层架构的递进式暴露:先让你用 5 行代码画一个三角形,再告诉你这三行背后隐藏着多少抽象层,然后一层层剥开给你看。
关键洞察:作者反复强调"抽象的代价"——每加一层封装,就牺牲一点编译速度与调试便利。Hazel 系列最珍贵的不是最终代码,而是展示了一个成熟引擎如何在"易用性"与"性能透明度"之间反复权衡的工程决策过程。
实用价值:对于想做基础设施(Infra)、编译器、IDE 这类"为开发者写工具"的工程师,Hazel 是绝佳的架构思维训练场。即便你永远不写游戏引擎,理解事件总线、句柄(Handle)系统、内存池(Memory Pool)这些模式,都能显著提升你的系统设计品味。
频道:youtube.com/@Acerola_t · 创作者:Garrett Gunnell · 订阅:约 70 万
Acerola 自我介绍是"严格来说是个艺术家,可能不是吸血鬼"。这种幽默背后,是一种独特的内容哲学:用艺术家的眼睛审视工程师的技术。他的视频几乎每一条都在回答"为什么游戏画面看起来是这样"。
代表作《The Secret Behind Photorealistic And Stylized Graphics》系统拆解了光栅化(Rasterization)与光线追踪(Ray Tracing)的本质差异:前者把三角形"投影"到屏幕像素,是 GPU 数十年来的主流;后者则反向模拟光子从相机出发、与场景交互、最终命中的物理过程。Acerola 会用极简的 C++ 和自写渲染器实时演示两种管线的视觉与性能鸿沟。
关键洞察:他提出"渲染即一系列有损近似的堆叠"——从 BRDF(双向反射分布函数)到屏幕空间反射(SSR),每一项技术都是对真实光物理的妥协。理解了这些妥协,你才看懂为什么《赛博朋克 2077》的路径追踪版需要 DLSS 来"补"信息。
实用价值:适合准备进军游戏大厂渲染组、或对 GPU 编程(Compute Shader)感兴趣的进阶者。他的 GitHub(GarrettGunnell)同步开源所有演示代码,可逐帧复现。
频道:youtube.com/c/InigoQuilez · 创作者:Inigo Quilez(业界尊称 iq)· 订阅:约 35 万
如果说前两位还在"工程"范畴,iq 则彻底跨入"数学艺术"。他是 Shadertoy 平台的联合创始人,曾任 Pixar、Oculus 研究员,其频道副标题就是 "Painting with Maths"(用数学作画)。
他最震撼的内容是用纯 GLSL 片元着色器(Fragment Shader),在一个矩形上"算"出连绵山脉、海浪、云层甚至人物肖像——全程没有一张纹理图,所有形状都由有符号距离函数(SDF, Signed Distance Function)和噪声函数数学定义。代表作《Painting a Landscape with Maths》展示了几十行公式如何复刻一幅写意山水。
关键洞察:iq 重新定义了"建模"——传统建模是堆三角形,SDF 建模则是定义空间中任意点到表面的"最短有向距离"。这种范式天然适合光滑布尔运算(并、交、差)与光线步进(Ray Marching)渲染,是当代体积云、溶解特效的理论基石。
实用价值:他的个人站 iquilezles.org 是图形学界的"活字典",所有距离函数都有开源实现。无论你做 UI 特效、3D 文字、还是 WebGL 创意网站,iq 的函数库都是即查即用的弹药库。
频道:youtube.com/@SebastianLague · 订阅:约 330 万(本类目订阅量最高)
Sebastian Lague 是过程化生成(Procedural Generation)领域的标杆,也是少数能把枯燥算法讲出"纪录片质感"的创作者。他的视频节奏克制、镜头考究,常被戏称"披着编程外衣的自然纪录片"。
他的代表作覆盖了过程化地形(柏林噪声 Perlin Noise)、寻路算法(A*、流场)、八叉树(Octree)、光线追踪从零实现等主题。在《Creating a Game Engine》系列中,他用 C# 从空项目搭建出一个迷你引擎,但重点不在架构,而在如何用代码模拟自然规律——比如用细胞自动机生成洞穴、用 L-System 生长出分形植被。
关键洞察:Lague 最擅长揭示"简单规则涌现复杂形态"。一个二维噪声函数 + 几行梯度计算,就能生成连绵山脉;一个递归规则,就能长出整片森林。这种"以小博大"的编程美学,对任何领域的算法设计都有启发。
实用价值:难度门槛在本期中最低,C# 语法友好、可视化极强,是算法入门者与非科班自学者的最佳起点。即便完全不懂图形学,也能从中领略计算之美的工程意义。
频道:youtube.com/@javidx9 · 创作者:David "Javidx9" · 订阅:约 55 万
Javidx9 的座右铭是"不用任何库,全部自己写"。他的"OneLoneCoder"品牌源自一种近乎偏执的底层信仰:要真正理解计算机,就该从像素缓冲区开始手搓一切。
频道最负盛名的是 NES 模拟器系列——他用纯 C++ 模拟 6502 CPU、PPU 图形芯片、APU 音频芯片,逐条指令复刻任天堂红白机。此外还有 Wolfenstein 风格的光线投射(Ray Casting)引擎、命令行版俄罗斯方块、自制 NES 游戏。讲解风格是经典的"边写边讲",手写板上一笔一划推导数学,没有任何花哨剪辑。
关键洞察:他证明了一个朴素道理——"教鱼游泳的最好方式是把鱼放进水里"。当你亲手实现一个 CPU 指令解码器、亲手扫描一行像素、亲手混音一帧波形,你对冯·诺依曼架构的理解会产生质的飞跃。这种"全栈到底"的训练,是任何高层框架都给不了的。
实用价值:适合想深耕嵌入式、操作系统、模拟器、安全逆向的硬核工程师。他的 olcPixelGameEngine 是个轻量级单头文件图形库,适合快速验证图形算法原型。
频道:youtube.com/@SimonDev199 · 订阅:约 45 万
SimonDev 的独特定位是"图形学与 Web 的交叉点"。他用 Three.js 和原生 WebGL 演示前沿渲染技术,但不同于多数教程只教"怎么调 API",他始终追问"这个数学公式从哪来、为什么长这样"。
代表作覆盖骨骼动画(Skeletal Animation)的蒙皮矩阵推导、PBR(基于物理的渲染)的能量守恒、法线贴图的切线空间、阴影贴图(Shadow Map)的偏差问题等。他会从向量点乘的几何意义讲起,一步步推导出四元数(Quaternion)为何能避免万向锁(Gimbal Lock),让每个公式都"有血有肉"。
关键洞察:他反复强调图形学的痛点不在 API,而在"坐标系与变换的混乱"。模型空间、世界空间、观察空间、裁剪空间、屏幕空间之间的矩阵串联,是 90% 初学者卡住的地方。SimonDev 用大量交互式网页演示,把这些抽象变换"拉"到可拖拽的 3D 场景里。
实用价值:是 Web 3D(Three.js / Babylon.js)开发者的黄金教程。如果你做数据可视化、在线展厅、WebGL 特效,他的 GitHub 项目库可直接拿来改造。
频道:youtube.com/@ThinMatrix · 订阅:约 45 万
ThinMatrix 主打一个明确承诺:"用 Java + OpenGL,从空文件夹搭出一个能跑的 3D 游戏引擎"。这是本期中唯一以 Java 为主语言的频道,对国内庞大的 Java 开发者群体格外友好。
他的《OpenGL 3D Game Engine》系列是教科书级的完整项目,从 LWJGL(Lightweight Java Game Library)窗口起步,逐集实现模型加载、纹理映射、光照、地形、水面、GUI、粒子系统,最终产出一个可漫游的 3D 场景。讲解风格沉稳耐心,每个概念都配清晰图示。
关键洞察:他展示了"教学型引擎"的黄金比例——既不像 Hazel 那样深陷架构抽象,也不像商业引擎那样隐藏细节。每个模块恰好"足够复杂以揭示原理,又足够简单以一周看完"。这种分寸感,是他系列能连载数年仍被奉为经典的原因。
实用价值:Java 后端转图形学、或高校图形学课程设计的最佳参考。配套的 GitHub 源码按集划分提交,可以逐 commit 跟着敲,学习路径极其清晰。
以下 Mermaid 图呈现七个频道在"图形与引擎编程"知识版图中的定位与递进关系:
graph TD
A[图形与引擎编程] --> B[引擎架构层]
A --> C[渲染算法层]
A --> D[数学建模层]
A --> E[过程化生成层]
A --> F[底层原理层]
B --> B1[The Cherno<br/>Hazel C++ 引擎]
B --> B2[ThinMatrix<br/>Java OpenGL 引擎]
C --> C1[Acerola<br/>光栅化/光追/路径追踪]
C --> C2[SimonDev<br/>PBR/动画/着色器]
D --> D1[Inigo Quilez<br/>SDF 数学作画]
D --> D2[SimonDev<br/>变换矩阵推导]
E --> E1[Sebastian Lague<br/>噪声/寻路/分形]
F --> F1[Javidx9<br/>CPU模拟/复古引擎]
G[学习路径] --> H[入门: Sebastian Lague / ThinMatrix]
H --> I[进阶: The Cherno / SimonDev]
I --> J[硬核: Acerola / Javidx9 / Inigo Quilez]
style A fill:#2d6a4f,color:#fff
style G fill:#40916c,color:#fff
style J fill:#1b4332,color:#fff
图形与引擎编程之所以迷人,在于它强迫你直面计算的本质——一个三角形如何变成像素,一束光如何被表面反射,一段数学如何生长成森林。在这个 API 越来越厚的时代,亲手敲下一个能发光的像素,是对"工程师"身份最纯粹的致敬。无论你最终是否从事游戏行业,这七个频道传递的"从底层理解、用可视化验证、让代码说话"的工程哲学,都将成为你技术品味的隐形护城河。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
