我正在尝试实现一个 Microfacet BRDF 着色模型(类似于 Cook-Torrance 模型)并且我在本文中定义的贝克曼分布遇到了一些问题:https ://www.cs.cornell.edu/~srm/publications /EGSR07-btdf.pdf
其中 M 是微面法线,N 是宏观面法线,ab 是介于 [0, 1] 之间的“硬度”参数。
我的问题是这种分布通常会返回非常大的值,尤其是当 ab 非常小时。
例如,贝克曼分布用于计算根据以下方程生成微平面法线 M 的概率:
概率必须在 [0,1] 范围内,那么如果贝克曼分布给我的值大小为 1000000000+,那么如何使用上面的函数获得该范围内的值?
那么有一种适当的方法来限制分布吗?还是我误解了它或概率函数?如果值超过 1,我曾尝试将其简单地限制为 1,但这并没有真正给我想要的结果。