URP 渲染实战 / 第 9 章 PBR 理论 / 案例 9.3
案例 9.3看见 G:遮蔽主要发生在哪里入门
目标:用案例 9.1 的 Shader 输出 G 项(_Mode = 1,高度相关形式),观察它随粗糙度的变化;再对比分离形式与高度相关形式的差别。

可以看到,即便在粗糙度 0.9,球的大部分区域 G 仍在 0.7 以上,遮蔽集中在轮廓( 小)和明暗交界线( 小)附近。这正是 G 的视觉作用:压暗粗糙物体边缘的高光。没有它,粗糙金属球的轮廓会出现一圈不自然的亮边。

两种形式的绝对差别不大(右图放大了 10 倍才看清),但它分布在边缘,恰好是高光最容易“闹事”的地方。HDRP、Filament 等较新的实现都使用高度相关形式;第 11 章手写 PBR 时我们也用它。
常见坑写 Smith G 时,最容易犯的错是把 和感知粗糙度搞混:Schlick-GGX 的 有好几个版本,有的以感知粗糙度为输入,有的以 为输入,照抄公式前要确认文献的约定。另一个坑是把 G 和 Cook-Torrance 分母重复计算——如果用的是 形式(已经除过 ),就不要再除一次。