Topics · 慢一点,看见每个中间状态
17 门专题,四条深挖路线
专题入口会进入完整教学路线。如果你只想马上调参数,请去实验工具库;同一专题在那里会以“直接实验”的身份再次出现。
路线 01 · 5 门
先看懂光如何遇见材质
从微表面统计走到漫反射、能量分配、皮下传输与生产校准。
-
GGX / D:镜片朝向的统计
从同一批微表面出发,经过坡度、方向半球与投影校正,最后读懂 D / NDF。
开始前只需要:不需要先认识 H;从一块表面和许多朝向不同的微小镜片开始。
-
Masking / Shadowing 与 Fresnel
先看镜片为什么被挡住,再看反射机会为什么随角度和材质变化。
开始前只需要:先完成 GGX / D,或能指出半程向量 H。
-
Diffuse BRDF:Lambert 到 Burley
从一束入射光开始,认识 N、L、V、半球、ρ、1/π、粗糙 diffuse 与能量分账。
开始前只需要:知道漫反射是进入表面后散开的那部分能量。
-
材质标定与颜色管线
跟住同一份 M-07 样品,区分 Base Color、sRGB/Linear、灯光、曝光、Tone Mapping 与验收。
开始前只需要:知道 Base Color 与最终屏幕颜色不是同一个量。
-
SSS:光为什么能在皮肤下走一段
从 Lambert 基线开始,逐个观察厚度、扩散半径、剖面、样本数与传输遮罩。
开始前只需要:先区分表面直接反射与进入材质内部的光。
路线 02 · 6 门
再追踪一个点、一条光线、一块像素
让同一份证据经过空间变换、采样、反射与阴影,而不是背空间名词。
-
坐标空间旅行证
让同一个点经过 local、world、view、clip、NDC、screen,再连接常见失败现象。
开始前只需要:知道一个点的数值必须依赖参照系才有意义。
-
齐次坐标 w 与透视除法
让同一个点经过 clip.w、透视除法、深度与 jitter,看到中间状态。
开始前只需要:先走完坐标空间旅行证,认识 clip 与 NDC。
-
Normal Map / TBN
把 RGB 方向从切线空间搬到世界空间,逐个验证 handedness、缩放与归一化。
开始前只需要:能区分模型空间、世界空间与切线空间。
-
SSR 射线步进尸检
跟住同一条反射射线走完步进、交叉、Thickness、细化与 Fallback。
开始前只需要:知道 SSR 只能读取屏幕已经保存的颜色和深度。
-
Shadow Map、Bias、PCF 与 CSM
让同一个接触点经过灯光视角、Depth Compare、Acne、Bias、Texel、PCF 与 CSM。
开始前只需要:知道阴影贴图保存的是灯光所见的最近深度。
-
纹理足迹、Mip、LOD 与压缩
跟住同一面棋盘旗,逐步认识 Pixel、Texel、Footprint、Derivative、Mip 与各向异性。
开始前只需要:知道屏幕像素与纹理 texel 不是同一个网格。
路线 03 · 3 门
然后把画面拆成一帧真正的工作
把提交、G-buffer、透明覆盖与 GPU 时间线连成诊断链。
-
Forward / Deferred 与 G-buffer
观察光源数量、带宽、透明、MSAA 和混合管线把成本搬到哪里。
开始前只需要:知道一次 draw 会让几何经过顶点与片元阶段。
-
Alpha、A2C 与 Overdraw
让同一片橙叶和蓝天贯穿 Blend、排序、Clip、Sample Coverage、A2C、Depth 与 Overdraw。
开始前只需要:知道透明像素仍会执行片元工作,并参与排序或深度策略。
-
GPU 一帧尸检室
跟住 Frame #184 认识 CPU/GPU 流水、阶段、覆盖、关键路径与同步。
开始前只需要:知道一帧由多个阶段组成,毫秒不能只看总数。
路线 04 · 3 门
最后处理会动、会坏、会出现 NaN 的东西
从旋转表示走到骨骼变形,再建立一套 Shader 数值急救流程。
-
Quaternion:旋转不是四个神秘数字
从欧拉角失败走到轴角、单位四元数、乘法顺序、Slerp 与骨骼应用。
开始前只需要:知道旋转是在改变方向,不是把位置平移。
-
Skinning 权重、Matrix Palette 与 IK
跟住同一顶点 v17,经过 Bind、Inverse Bind、权重混合、糖纸扭曲与 IK。
开始前只需要:知道顶点会被多根骨骼按权重共同影响。
-
NaN 急救室
跟住同一像素 #184,制造除零、零向量、越界函数与精度溢出,再观察 Guard。
开始前只需要:知道 NaN 会沿后续运算传播,而不是自动恢复。