一段时间以来,我一直在进行基于物理的渲染这一主题的研究。一遍又一遍提到的反射模型是Cook-Torrance / Torrance-Sparrow模型。在此模型的每次提及或解释中,似乎都使用了不同形式的镜面反射项。我发现的版本是:
哪一个是正确的,何时?Matt Pharr和Greg Humphreys 在《基于物理的渲染:从理论到实现》中,第二个结论是最终得出的,但是Cook和Torrance在他们的原始论文中使用了第一个,没有任何详细的解释。
一段时间以来,我一直在进行基于物理的渲染这一主题的研究。一遍又一遍提到的反射模型是Cook-Torrance / Torrance-Sparrow模型。在此模型的每次提及或解释中,似乎都使用了不同形式的镜面反射项。我发现的版本是:
哪一个是正确的,何时?Matt Pharr和Greg Humphreys 在《基于物理的渲染:从理论到实现》中,第二个结论是最终得出的,但是Cook和Torrance在他们的原始论文中使用了第一个,没有任何详细的解释。
Answers:
我会相信Pharr和Humphreys。公式2也与SIGGRAPH基于物理的渲染课程笔记以及引入GGX分布的Walter等论文中的公式20一致。
我在某处读到,原始的Cook-Torrance论文存在错误,导致他们错过了分母4的因数,随后的论文对此进行了纠正。我无法通过快速搜索找到对此的引用(如果有人知道,请随时在评论中注明)。
至于π的因数,取决于约定,它可能出现也可能不出现。有时,它是正态分布函数D的因数。例如,如果您在Walter等所有GGX论文5.2节中给出了多个D函数的方程,则可以看到它们的分母都为π。请注意,这意味着Lambertian BRDF的分母也应为π。
在实时图形中,通常会忽略π,在这种情况下,我们可以将其解释为浅色因素。两种方法都可以,只要您对将π放入或从您使用的所有 BRDF中删除保持一致即可。
在比较多个BRDF(包括Cook-Torrance BRDF)时,最近的一篇论文(至少是2005年;))具有更简洁的表示法。他们的公式不包括除以4。
Addy Ngan,FrédoDurand,Wojciech Matusik:BRDF模型的实验分析,2005年欧洲图形学研讨会论文集。
但是请注意,Cook-Torrance BRDF不相等,因此不是Torrance-Sparrow BRDF的同义词。后者包括您的4分。一个有趣的参考概述可以在以下位置找到:
Rosana Montes,CarlosUreña:BRDF模型概述,技术报告,2012年。
同样的Cook-Torrance BRDF公式也存在于:
PhilipDutré,Kavita Bala,Philippe Bekaert:《高级全球照明》,第二版,2006年。
编辑:我研究了F,G(或V的一些(各向同性)实现,具体取决于您是否将分母中的缩写简化为G)和D:
厄尔·哈蒙(Earl Hammon):用于GGX + Smith微表面的PBR扩散照明,GDC 2017。
长话短说,(提供的三个选项中)选项2是唯一正确的镜面反射项。