计算机图形学
什么是计算机图形学
计算机图形学研究的是如何用计算机生成、处理和显示视觉内容。从手机屏幕上的 UI 渲染,到 3D 游戏中的虚拟世界,到电影中的视觉特效,再到 AI 图像生成——所有这些都依赖计算机图形学的知识。
图形学的核心问题是:如何将 3D 场景(模型、材质、光照、相机)转化为 2D 图像(像素)。这个过程叫做渲染(Rendering)。渲染分为两大类:实时渲染(游戏、交互式应用,要求每秒 30-120 帧)和离线渲染(电影特效,追求极致真实感,一帧可以渲染数小时)。
为什么要学计算机图形学
游戏开发的核心。 你在用 Godot 4 做游戏开发,理解图形学能让你更好地使用渲染管线、着色器、光照系统,做出更好的视觉效果。
理解 AI 图像生成的基础。 Stable Diffusion、DALL-E、Sora 等生成式 AI 模型的底层原理(扩散模型、NeRF、3D 高斯溅射)都建立在图形学之上。
多模态 AI 的交叉点。 计算机视觉(让 AI 看懂图像)和计算机图形学(让 AI 生成图像)是同一个硬币的两面。
训练数学应用能力。 图形学是线性代数、几何、微积分最直观的应用场景。学图形学能让你真正理解矩阵变换、向量空间、概率分布的实际意义。
前沿研究方向。 神经辐射场(NeRF)、3D 高斯溅射、实时路径追踪——这些是当前图形学和 AI 交叉领域最热门的研究方向。
核心知识模块
数学基础
- 线性代数:矩阵变换(平移、旋转、缩放)、齐次坐标、四元数
- 向量运算:点积(光照计算)、叉积(法向量)、向量投影
- 几何:参数方程、贝塞尔曲线、B 样条
光栅化管线
- 顶点处理:模型变换 → 视图变换 → 投影变换 → 视口变换
- 三角形光栅化:将 3D 三角形转换为 2D 像素
- 深度缓冲(Z-Buffer):解决遮挡关系
- 纹理映射:将 2D 图片贴到 3D 模型表面
- 抗锯齿:MSAA、FXAA
光照与着色
- Phong 光照模型:环境光 + 漫反射 + 高光
- Blinn-Phong 模型:Phong 的改进版
- PBR(基于物理的渲染):微表面模型、BRDF、能量守恒
- 阴影:Shadow Mapping、Ray Traced Shadows
- 全局光照:光线追踪、辐射度、光子映射
光线追踪
- 光线生成:从相机出发,穿过每个像素发射光线
- 光线-物体求交:球体、三角形、AABB
- 递归光线追踪:反射、折射、软阴影
- 加速结构:BVH(层次包围盒)、KD-Tree
- 路径追踪:蒙特卡洛方法求解渲染方程
着色器编程
- 顶点着色器:处理每个顶点的位置和属性
- 片段着色器:计算每个像素的最终颜色
- 计算着色器:通用 GPU 计算
- GLSL / HLSL:着色器编程语言
高级主题
- 几何处理:网格简化、细分曲面、参数化
- 动画:骨骼动画、蒙皮、关键帧插值、物理模拟
- 体积渲染:云、烟、火焰
- 神经渲染:NeRF、3D Gaussian Splatting
怎么学
从 OpenGL/WebGL 入手。 写一个简单的三角形渲染程序,理解图形管线的每个阶段。推荐 LearnOpenGL,教程质量极高,有中文版。
用 Godot 实践。 你已经在使用 Godot 4,可以尝试写自定义着色器、理解 Godot 的渲染管线。图形学理论结合游戏引擎实践,学习效果最好。
做 Ray Tracing in One Weekend。 这个系列教程用几百行 C++ 实现一个光线追踪器,三天就能完成,成就感极强,是图形学入门的最佳实践项目。
不要跳过数学。 图形学的数学(线性代数、几何)是理解一切的基础。推荐 3Blue1Brown 的《线性代数的本质》系列作为补充。
推荐资源
系统课程
- Berkeley CS184 — Berkeley 的图形学课程,有完整的项目作业,涵盖建模、动画、渲染
- Stanford CS148 — Stanford 的图形学入门课
- MIT 6.837 — MIT 的计算机图形学课程
实践教程(强烈推荐)
- LearnOpenGL — 最好的 OpenGL 入门教程,有中文版,从零实现渲染管线
- Ray Tracing in One Weekend — 三天实现一个光线追踪器,免费在线阅读,入门首选
- The Book of Shaders — 交互式着色器编程教程
- WebGL Fundamentals — WebGL 入门教程,浏览器中直接运行
教材
- PBRT — 离线渲染和路径追踪的权威教材,免费在线
- 《计算机图形学原理及实践》(Foley, van Dam 等)— 图形学经典教材,内容全面
- 《Real-Time Rendering》(Tomas Akenine-Möller 等)— 实时渲染领域的圣经,必读
前沿方向
- NeRF: Neural Radiance Fields — 神经辐射场原论文
- 3D Gaussian Splatting — 3D 高斯溅射,实时神经渲染的突破
- Two Minute Papers (YouTube) — 图形学和 AI 前沿研究的科普视频