首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微小面BSDFs中法线$D$分布的相互冲突定义

微小面BSDFs中法线$D$分布的相互冲突定义
EN

Computer Graphics用户
提问于 2021-11-03 04:15:21
回答 1查看 124关注 0票数 1

请不要把这个问题和这一个混淆。在理解基于Microfacet的BRDF中的掩蔽遮蔽功能中,Eric将法线的分布定义为。

There,脚注甚至脚注描述都混淆了“几何曲面的每平方米”,然后就出现在分子中。在这篇引用良好的论文之前和之后,Everyone their仍然坚持认为发行版是 1/\mathbf{sr},这会通过粗略的纠正表达式和语言解决不同的问题。有些人故意用不清楚的语言来回避这个话题(PBR书)。

I可以买到这一论点和定义,但作者在任何地方都使用该面积的概念。甚至将曲面定义为1米平方,以证明将其降为余弦归一化因子是合理的。在任何情况下,dA都不会出现,它隐式地使所有方程产生辐射强度,而不是辐射。(我知道作者说它是投影区域,但余弦本身并不是投影区域,使该区域隐式表示在缺少区域以抵消它的情况下,因为它应该是由D**编码的)**。

在栅栏的第三面,马特·法尔无法决定他站在哪一边,在托兰斯-斯派罗微面模型的推导中加入了模糊的dA,以取消它。他还建议,在证明正常化时,需要使用投影的实心角度,而没有其他人使用。

谁是对的?在这一点上,我不再感到困惑和沮丧。

EN

回答 1

Computer Graphics用户

发布于 2021-11-09 06:18:10

NDF的单位很棘手。不管它有什么价值,海茨关于相对于1平方米的参考几何面来定义它的惯例是不寻常的,尽管我能理解为什么他会为了概念上的简单而这么定义它,但它并不真正符合NDF在实践中的使用方式。当我第一次在他的报纸上读到这篇文章的时候,我确实有过一段非常兴奋的时刻。

NDF的问题在于它们涉及两种不同的面积度量:宏观表面(或“几何”)面积和微表面积。据我所知,NDF单位的真正和完整定义是:

\frac{\text{micro area}}{\text{solid angle} \cdot \text{macro area}}

换句话说,如果我们在实心角\Omega区域和宏表面A区域上双积分NDF,我们就可以得到在该固体角区域内有法线的微表面的面积:

\int_\Omega \int_A D(\omega)\,dA\,d\omega = \text{total area of microfacets above $A$ with normals in $\Omega$}

请注意,这在维度上是一致的,甚至保持了两个区域度量之间的区别。dA是宏区域的一个元素,而d\omega是一个立体角度的元素,因此这些元素抵消了D(\omega)的分母。分子则是微观区域,与右手侧相匹配。

现在,如果我们忘记了这两种面积度量之间的区别,并且相互取消面积单位,我们就得到了1/\text{sr},这与绝大多数文献的结果是一致的。但这里有个微妙之处。通常,当我们看到一个有1/\text{sr}单位的分布时,这意味着它是在球面上的分布,如果你在球面上集成它,你应该得到1。但是请注意,如果你在球面上集成NDF,一般不会得到1。相反,正如上面的定义所示,你得到了微面积与宏观面积的总比率。对于粗糙的表面,这是大于1(它是越粗糙,值越大),因为微表面是皱缩和粗糙,因此有更多的面积比相应的宏观表面。

NDF的正确归一化条件是\int_{S^2} D(\omega) (n \cdot \omega) \, d\omega = 1 (如果您采用任何常用的NDF公式,设置一个非零粗糙度,并尝试对其进行数值积分,则可以很容易地验证它--除非使用上面的integrand,否则它们不会达到1)。

被积体中产生(n \cdot \omega)因子的原因是将微表面积转换为相应的(投影)宏表面积。换句话说,这个因子有这样的单位:n \cdot \omega = \frac{\text{macro area}}{\text{micro area}} 和这个,NDF的面积单位确实正确地取消了,剩下的是一个真正的球形分布,它集成到1。

为什么海茨会说不同的话?他希望消除“宏观面积”因素,将其设定为1平方米的标准值,然后将NDF定义为简单的\text{micro area}/\text{solid angle}。因此,它的单元变成了\text{m}^2 / \text{sr},而规范化条件变成了\int_{S^2} D(\omega) (n \cdot \omega) \, d\omega = 1\ \text{m}^2 (cf )。方程(9)。它不再是无量纲标量1,而是面积1平方米。

我不喜欢这个定义。一方面,它确实表明NDF涉及到“某种程度”的面积,而不是简单的球面分布。它避免了一些奇怪的情况,即有两个面积测量单位取消,但其值不取消。另一方面,在现实生活中,我们显然并不只将NDFs应用于1平方米的平面上。我们希望将NDF应用到我们喜欢的任何大小的表面补丁上--比如在呈现时将其封装在像素中的贴片。实现这一点的明显方法是将1平方米的面积正常化,以便NDF表示为相对于任何期望的斑块大小的分数区域。然后你回到我在这个答案的开头所说的定义。

事实上,正如你所提到的,即使是海茨也不符合这个选择。从文中的方程(14)开始,他放弃了应该存在的隐含的1平方米因子。当他开始定义可见法线D_{\omega_o}(\omega_m)的分布时,他不再说这些单位是\text{m}^2/\text{sr},而仅仅是通常的1/\text{sr} (cf )。表2)。

平心而论,定义了可见法线的Heitz分布,它本身就是一个合法的球面分布,通常的归一化条件是:\int_{S^2} D_{\omega_o}(\omega_m) \, d\omega_m = 1 (cf )。本文中的方程(18),因此,为了理解这个函数的意义,不再需要考虑一些隐藏的区域单元。

可以说,BRDF和NDF应该一直都是这样定义的,将(n \cdot \omega)因子纳入函数中,这样它们将是合法的球形分布,我们可以避免所有这些麻烦。可悲的是,由于历史的路径依赖,我们没有在那里结束。

因此,总而言之,NDF的奇怪之处在于它有两个不同的区域措施隐藏在其中(国际海事组织被低估和解释不足)。如果你只看单位,他们似乎抵消,但你需要记住的领域,以正确理解NDF。

票数 2
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/12314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档