概念页
测量 BRDF 与数据驱动反射模型
Measured BRDFs & Data-Driven Reflectance
测量 BRDF 用实验室测得的真实材质数据代替解析模型,适合虹彩漆、织物、珠光膜等解析模型拟合不好的材质。难点是四维 BRDF 的维数灾难;PBRT 4e 的 MeasuredBxDF(Dupuy 与 Jakob 2018)把可见法线采样当作参数化,只需较稀疏的测量就能插值。本页对应 PBRT 4e 9.8 节及其延伸阅读。
为什么解析模型不够
- 波动光学效应造成随方向变化的颜色(虹彩漆、昆虫翅膀、全息纸);微表面理论与 Trowbridge–Reitz 只是模型,不完全符合真实粗糙表面;非标准微结构(两种纱线织成的布料)无法用标准 BRDF 描述。
朴素测量为什么不可行
- 光滑材料的 BRDF 峰值极尖,方向偏 1° 反射率就可能差几个数量级,需要密集采样。
- 定位需要电动测角光度计 (goniophotometer / gonioreflectometer);光台 (light stage) 用上百个 LED 加速,但方向分辨率低。
- 球坐标 1° 间隔的四维网格约 个点。自行计算: 年(每个配置 1 秒),与书中"超过 34 年"相符(若 只取 90 个值则约 33.3 年)。
用采样映射做参数化
设可见法线采样为 ,在 的规则网格点 处测量 。逆变换采样的逆 CDF 本身就是从单位正方形到目标域的参数化,它把贡献大的区域放大,所以网格点自动集中到镜面峰附近(材质不必真的符合微表面理论,只是不符合时效率下降)。为减小数值跨度,存储的是重要性采样权重: 材质越接近微表面模型, 越接近常数,可以看作真实材质与微表面近似的"乘性差异"。求值时用逆映射 找到 ,插值后乘回 。采样映射与雅可比的关系见 随机变量变换与逆变换采样。
数据驱动的微表面分布
- 用任意表格化的 代替 Trowbridge–Reitz,于是 ,,pdf 化简为 ,BRDF 为 。
- 先有鸡还是先有蛋:测量需要 ,而 通常从测量拟合。解法是 只有二维,受维数灾难影响小:测逆反射 (假设 时遮蔽与阴影完全相关),得到积分方程 ,用不动点迭代几次即可收敛(Dupuy 等 2015 的幂迭代思想)。
实现要点(pbrt)
- 数据只存一份(各向同性材质几 MB,各向异性可超过 100 MB),每个交点的
MeasuredBxDF只持有指针和当前波长。兼容的.bsdf测量文件可从 RGL 材质库(rgl.epfl.ch/materials)获取,覆盖 360–1000 nm,分辨率约 4 nm(原书脚注)。 PiecewiseLinear2D<Dim>:二维单位正方形上的分段线性插值,可带额外条件维(光谱数据是 5 维: 的 2 维 + 、、波长),提供Evaluate、Sample(逆变换采样)和精确的Invert。- 各向同性时用 使表格对绕法线旋转不变;
theta2u()在 附近分配更多分辨率,便于存储高光材质的分布。 - 采样时再做一次按亮度(与 CIE Y 的乘积积分)的重参数化,使采样权重的亮度接近常数,减少方差。只建模反射,原理可推广到透射。
取舍
| 方案 | 优点 | 缺点 |
|---|---|---|
| 解析模型(微表面等) | 参数少、可编辑、可做纹理 | 拟合不了特殊材质 |
| MERL 式测量(Matusik 2003) | 拍摄球形样本,快速获取大量各向同性数据 | 只有各向同性、RGB |
| 自适应参数化测量(Dupuy–Jakob 2018) | 光谱、支持各向异性、测量点少 | 每个材质数 MB 到上百 MB,无法空间变化 |
| 紧凑表示(Bagher 等 2016、Nielsen 等 2015) | 每材质 3.2 KiB;10–20 次测量即可近似 | 依赖数据集先验 |
游戏中的意义:测量数据很少直接用于实时渲染,但常用于离线参考、验证解析模型和美术校准(例如用测量数据检验 GGX 拟合的长尾)。另见 微表面理论、双向反射分布函数、光谱渲染。
出处
- PBRT 4e source excerpt: chapter 09 (Reflection Models)
- Pharr, Jakob, Humphreys《Physically Based Rendering: From Theory to Implementation》第 4 版(MIT Press, 2023)第 9 章 9.8 节、延伸阅读,pbr-book.org/4ed/Reflection_Models
相关页面
图形学双向反射分布函数BRDFBRDF f(\mathbf{l},\mathbf{v}) 量化局部反射:只依赖入射方向 \mathbf{l} 和出射(观察)方向 \mathbf{v},涵盖表面反射与局部次表面散射。它通过反射方程把入射辐射亮度转换为出射辐射亮度,物理上需满足 Helmholtz 互易性与能量守恒,用方向反照率检验。方向光和精确光源可从小面光源的极限推导,使积分变为对光源的求和。本页对应 RTR4 9.3–9.4 节。图形学微表面理论Microfacet Theory微表面理论把小于像素的微几何建模为大量平坦微面元,用法线分布函数 (NDF) D(\mathbf{m}) 描述其朝向统计,用遮蔽函数 G1 和遮蔽-阴影函数 G2 描述可见性,并据此推导宏观 BRDF。镜面反射时每个微面元是完美菲涅耳镜,积分退化为在半向量处求值,得到 FG2D/(4|\mathbf{n}\cdot\mathbf{l}||\mathbf{n}\cdot\mathbf{v}|)。GGX 分布配合高度相关的 Smith G2 是当今影视和游戏最常用的组合;该框架忽略微面元间的多次反射,可用补偿项弥补。本页对应 RTR4 9.6–9.8 节。游戏数学随机变量变换与逆变换采样Random Variable Transforms & Inversion Sampling蒙特卡洛估计器要求能从指定的概率密度里抽样。最基本的工具是逆变换法 (Inversion Method):对 CDF 求逆,把 [0,1) 上的均匀随机数映射成目标分布;更一般地,随机变量经过一一映射后的密度由导数(多维时是雅可比行列式)决定;多维非独立分布则先采边缘密度、再采条件密度。本页按 PBRT 第 4 版 2.1.1、2.3、2.4 节整理,是 蒙特卡洛积分与重要性采样 的数学部分。图形学光谱渲染Spectral Rendering光谱渲染 (Spectral Rendering) 在光传输中直接处理波长,而不是 RGB 三元组。pbrt 第 4 版在每条相机光线上随机采样少数几个波长(默认 4 个),把光谱积分并入渲染本来就在做的蒙特卡洛积分;最后用颜色匹配函数估计像素的 XYZ/RGB。输入端的 RGB 颜色则通过"sigmoid 二次多项式"转换成平滑光谱。本页按 PBRT 4e 4.5、4.6.4–4.6.6 节整理。图形学可微渲染与神经渲染Differentiable & Neural Rendering逆向渲染 (inverse rendering) 要从图像反推场景参数 \mathbf x(形状、材质、光照……),通常写成优化问题 \mathbf x^=\arg\min{\mathbf x}g(f(\mathbf x)),其中 f 是渲染器,g 是损失函数。参数维度可达数百万,只能用梯度下降,因此需要可微渲染 (differentiable rendering):不构造巨大的雅可比矩阵,直接计算"图像空间梯度 × 雅可比"这一向量-矩阵乘积。难点是可见性造成的不连续、反向模式的内存开销和导数积分的采样。机器学习与渲染的结合可分三类:用学习得到的数据结构替换传统数据结构、用神经网络改进传统渲