计算机图形学
渲染管线、着色、纹理 — 让计算机"看见"世界
知识结构
学习路径
齐次坐标用 n+1 维向量表示 n 维点——让平移、旋转、缩放都可用矩阵乘法表示。3D 图形中的 MVP 变换(模型-视图-投影)就是矩阵连乘
图形管线(Graphics Pipeline)把 3D 模型变成屏幕上的像素——顶点处理→光栅化→片元处理→输出合并。GPU 就是专门加速这条管线的硬件
光栅化把三角形转换成像素——判断像素在三角形内部。Z-buffer(深度缓冲)解决"哪个像素在前"的问题——每个像素存最近物体的深度值
纹理映射(Texture Mapping)把 2D 图像"贴"到 3D 模型表面——让模型有颜色和细节而不需要增加三角形。Mipmap 和滤波解决缩放时的锯齿和模糊问题
着色(Shading)计算每个像素的最终颜色——Phong 模型分解为环境光+漫反射+高光,Blinn-Phong 是更高效的变体。BRDF 描述材质对光的反射特性
阴影(Shadow Mapping)判断点是否被光源照到——从光源视角渲染深度图再比对。环境光遮蔽(SSAO)模拟角落因多次遮挡而变暗的效果
光线追踪(Ray Tracing)模拟光线的传播路径——从相机发射光线,弹射到场景中,计算光照贡献。相比光栅化,它能更真实地处理反射、折射和全局光照
加速结构让光线追踪不用逐一检查每个物体——BVH 用包围盒分层组织,KD-Tree 用空间划分。两者把求交计算从 O(n) 降到 O(log n)
GPU 是专为并行图形计算设计的处理器——数千个核心同时处理像素和顶点。CUDA/GLSL 让通用计算也能利用 GPU 的并行能力
Bézier 曲线用控制点定义平滑曲线——每个控制点"拉"曲线向自己。B-Spline 和 NURBS 是更通用的曲线曲面表示,广泛用于 CAD 和建模
计算机动画让 3D 模型"动"起来——关键帧动画插值姿态,骨骼动画驱动角色变形,蒙皮把骨骼运动和网格绑定。物理模拟让运动更真实
PBR(基于物理的渲染)用物理参数(粗糙度、金属度)代替"调参数"——让材质在不同光照下始终真实。实时全局光照(RTX、Lumen)让间接光照和反射在游戏中成为可能