PBR Specular D的几何学含义
jplee 2019.9.03
PBR( Physically Based Rendering )里成为大趋势的Cook-Torrance的Specular BRDF [1]定义如下:
这里面D函数是对于微表面(microfacet)的倾斜度的分布(Distribution)函数。本文档将对于本函数在几何学上的意义进行说明。
一个表面(surface)是由几个微表面构成,这是PBR理论的根本。而且构成表面的各微表面都有着不同的法线(normal)。另外微表面上发生了镜面反射(mirror reflection, 正反射)。
很多文档里面将这样的微表面的法线用m表示,也会用h表示。应该是microfacet normal和half vector的略写。那么图1里面表面和微表面的关系就显而易见了。
图1:由微表面构成的表面[2].
微表面的法线用m来表示很容易理解,但是用h(half vector)来表示就有点费解了。Burley和Cook-Torrance [1, 3]一致记述了用半向量(half vector)来表现微表面的法线。
这里最好是用半向量的思路来理解这个含义。上面我们已经假设微表面能够镜面反射,现在我们来反过来看一下这个问题。
表面内,能够给我们展示镜面反射的、带有倾斜度的微表面究竟有多少呢?
这就是我们要通过Specular D函数得到的值的本质。要看到图2最左边的微表面向我这个方向的镜面反射结果的话,需要