Octane在3.08版本之前使用的是初始版本的BRDF,这个版本中存在能量守恒,但它并没有完全发挥作用。换句话说,反射光的数量等于入射光的数量(也就是没有能量损耗)。随着BRDF模型的更新,现在你可以用Octane创建更加合理准确、符合物理定律的材质了。
下图,你可以看到默认BRDF模型和新版BRDF模型的区别。

能量守恒

新版BRDF最大的改进是符合能量守恒定律,下面我们用做个测试,新建一个球体,新建一个Texture Environment,颜色改为白色(230,230,230)。再创建一个Glossy材质球,设置如下:

  • Diffuse:全黑 (0, 0, 0)
  • Specular:白色 (230, 230, 230)
  • Roughness:0.5
  • Index:1 (禁用菲涅尔)

最后把渲染模式改为Pathtracing,点击渲染按钮,你会发现球体不见了,但是它就在屏幕中间。原因在哪里呢?根据能量守恒定律,球体反射光的能量应该小于入射光的能量。我们看见一团白,是因为在Octane默认的BRDF模型,反射光的能量等于入射光的能量(总是100%)。

现在改变BRDF模型,例如Beckmann,你会看到球体有了一个大概的轮廓。因为这里反射光的能量小于入射光的能量,新版的BRDF模型是完全符合能量守恒定律的,下图是BRDF类型之间的区别。

微平面(粗糙度)

随着BRDF模型的更新,Octane根据微面元理论 在微观几何层面 试图重新模拟粗糙度,主要有Beckmann、GGX、Ward。与默认的BRDF模型不同,新的3种模型允许你创建诸如“菲尼尔效应”和“各项异性粗糙度”等Octane之前没有的特性,这些特性会让Octane材质更加逼真。

这三种微观模型最大的区别是Specular Lobe(反射光的分布区域),就是在光源角度固定的情况下,BRDF的函数图像。图像像叶片,故称为lobe。Specular Lobe由微观正态分布函数(NDF,Normal Distribution Function)决定。

比如下图,在光源方向L固定的情况下,你旋转反射方向R,当R满足normalize(L+R)=N时反射亮度最强,就是图中所示情况。继续向上或向下旋转R,反射亮度都会减弱。就形成了那条绿色的极坐标曲线(当然,如果三维的话是曲面)。

下图,你可以看到粗糙度为0.2时,三个模型的反射情况。GGX会比其他模型产生更多的specular tail(类似糊掉的效果)。

各向异性

Octane的另一个新特性的Anisotropy(各向异性),利用这个特性你可以创建更加复杂的金属表面,这也是新的BRDF模型的优势。很多材质都有各向异性,例如抛光的金属、毛发和木材。你可以利用新增的3个BRDF模型来模拟各项异性,根据粗糙的不同,模拟的结果也会有所不同。

参考:http://www.aoktar.com/octane/EmperorsNewClothes.html
https://www.zhihu.com/question/314492478
https://blog.csdn.net/qq_39812022/article/details/100738395