🛥️

Measuring BRDFs

Measuring BRDFs: Motivation

Avoid need to develop / derive models
  • Automatically includes all of the scattering effects present
Can accurately render with real-world materials
  • Useful for product design, special effects, ...
Theory vs. practice:
notion image
绿线红线是实际测出来的值,而蓝线是 Schlick approx,看起来完全不一样。菲涅尔项实际上非常复杂,不是用简单的公式就能描述的。
很多物理得出来的结论,都有很多简化的,这些和实际的结论还是不太一样,很多情况下需要做测量。这样就不推一些模型了,直接用测的一些数据。
💡
BRDF 其实就是两个方向的一个函数,一个入射方向,一个出射方向。

Image-Based BRDF Measurement

如果有一个样本,我们盯着一个着色点看,改变入射方向,拿一个灯从四面八方照着,再拿一个相机,从四面八方拍它。就能覆盖整个 BRDF 所有可能的输入方向、输出方向。
notion image

gonioreflectometer

notion image
这个特定的仪器,在球面上旋转。直径两三米,一个爪子抓相机,另一个抓光源,样本放中间。两个爪子可以在球面上任意旋转移动。而且非常大也精确,精确到 0.1°。
General approach:
foreach outgoing direction wo move light to illuminate surface with a thin beam from wo for each incoming direction wi // 枚举所有的出射方向,放光源上去。 move sensor to be at direction wi from surface // 枚举出射方向 measure incident radiance
Improving efficiency:
  • Isotropic surfaces reduce dimensionality from 4D to 3D
  • Reciprocity reduces # of measurements by half
  • Clever optical systems…
如果按四维的去操作,固定了摄像机之后,整个的光源都要走一遍球面。换了相机方向,光源又要走一遍。是二维乘二维。
如果我们认为我们测的 BRDF 是各向同性的,就只有三维。
如果我们考虑可逆性,只考虑相对方位角的话,又可以减少一半的测量。
还可以设计更好的思路,不用把球面上所有的点,方向都采样到。我们可以采样若干不同的方向,剩下的东西可以猜出来。这也是时下的热门,更聪明的测量,加速测量。

Representing Measured BRDFs

测量完 BRDF,还要存起来,表示出来,这就要涉及到大量的存储。有大量的压缩的研究,也有神经网络做压缩的研究,也是热门的话题。
Desirable qualities
  • Compact representation
  • Accurate representation of measured data
  • Efficient evaluation for arbitrary pairs of directions
  • Good distributions available for importance sampling

Tabular Representation

notion image
MERL BRDF Database 是一个很有名的 BRDF 的库。
每一个各向同性的材质,做了 90 * 90 * 180 次测量(θi, θo, 方位角差值的绝对值),这样就可以把所有的材质表示出来,存到一个三维的数组。