我在PBRT中了解到,要对表面直接照明进行采样,积分器通常会将样本计算为
其中,BRDF f(p,\omega_o,\omega_r)是来自所有组件的brdf的总和(例如,microfacet & lambertian漫射),而p(\omega_r)是所有组件的平均值。我的问题是,为什么对于f,我们计算和,而对于p,它是平均数。我的直觉是,对于f,我们也应该计算平均值。另外,为什么我们可以使用重要性抽样的分布来评估给定的p(\omega_r)的\omega_r?
发布于 2020-05-13 15:08:25
1)当我们有多个BRDF时,如果将它们的组件相加在一起,就会破坏能量守恒,正如我所怀疑的那样。然而,大多数呈现器在构建分层BRDF时将处理这个问题。例如,您可以对每一层进行加权,或者使用一个新的术语来决定每一层的权重。
以下是阿诺德标准着色器的规范:

https://autodesk.github.io/standard-surface/
每一层乘以1-前一层的重量,艺术家正在设置.这是在fr函数中完成的,这意味着能量守恒在这里得到了解决。
2)我认为,如果每个bxdf被抽样的机会相等,则pdf是一个平均数。因此,您平均的pdf,即使每个层可能贡献不同的数额。
注意:对于p(wr)您使用的值,这将是您用来采样您的方向的pdf,所以不是bxdf pdf还是轻型pdf。(不过,在MIS的某个时候,仍然需要计算这两个pdfs。)
https://computergraphics.stackexchange.com/questions/9829
复制相似问题