Measuring BRDFs: Motivation

Avoid need to develop / derive models

Can accurately render with real-world materials

Theory vs. practice:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/cbb8d32d-e0ee-438d-b15a-6d3ae2529550/Untitled.png

绿线红线是实际测出来的值,而蓝线是 Schlick approx,看起来完全不一样。菲涅尔项实际上非常复杂,不是用简单的公式就能描述的。

很多物理得出来的结论,都有很多简化的,这些和实际的结论还是不太一样,很多情况下需要做测量。这样就不推一些模型了,直接用测的一些数据。

<aside> 💡 BRDF 其实就是两个方向的一个函数,一个入射方向,一个出射方向。

</aside>

Image-Based BRDF Measurement

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

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/6dc7ff8e-e68b-408a-951f-8640826d969f/Untitled.png

gonioreflectometer

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fe53cd59-2080-433a-836f-8859bf9e2aac/Untitled.png

这个特定的仪器,在球面上旋转。直径两三米,一个爪子抓相机,另一个抓光源,样本放中间。两个爪子可以在球面上任意旋转移动。而且非常大也精确,精确到 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:

如果按四维的去操作,固定了摄像机之后,整个的光源都要走一遍球面。换了相机方向,光源又要走一遍。是二维乘二维。

如果我们认为我们测的 BRDF 是各向同性的,就只有三维。