我正在尝试实现 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,但这并没有真正给我想要的结果。