ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

粗糙表面的边缘为什么会变暗?聊聊被忽视的几何遮蔽函数 G

粗糙表面的边缘为什么会变暗?聊聊被忽视的几何遮蔽函数 G 有一次我在调一个金属材质,把粗糙度拉到 0.8,然后发现球体的边缘——也就是那圈掠射角的地方——亮得离谱,像镀了一层发光的塑料膜。我盯着那圈假到不行的高光看了很久,最后翻代码才发现,我的 BRDF 实现里把几何项 G 直接写成了常数 1。这件事让我第一次真正理解 G 是干什么的。它平时藏在 Cook-Torrance 那一堆符号里,存在感极低,D 和 F 抢尽了风头,但一旦缺席,整个材质就会露出破绽。这篇文章想把 G 讲透。它的输入是什么、输出是什么、到底在物理上对应什么东西,以及为什么少了它会出问题。先说清楚:有两个 G,别搞混在你继续往下读之前,我得先排个雷。图形学里有两个东西都叫"几何函数 / 几何项",记号都是 G,但它们是完全不同的两回事:一个是微表面模型里的几何遮蔽函数,藏在 BRDF 内部,管的是材质表面那些微观凹凸小平面的自遮挡。另一个是渲染方程写成面积分形式时冒出来的几何项G(p,p′)G(p, p')G
返回列表