Cook-Torrance / Torrance-Sparrow模型的正确镜面项


13

一段时间以来,我一直在进行基于物理的渲染这一主题的研究。一遍又一遍提到的反射模型是Cook-Torrance / Torrance-Sparrow模型。在此模型的每次提及或解释中,似乎都使用了不同形式的镜面反射项。我发现的版本是:

  1. FDGπ(NV)(NL)
  2. FDG4(NV)(NL)
  3. FDG(NV)(NL)

哪一个是正确的,何时?Matt Pharr和Greg Humphreys 在《基于物理的渲染:从理论到实现》中,第二个结论是最终得出的,但是Cook和Torrance在他们的原始论文中使用了第一个,没有任何详细的解释。

Answers:


11

我会相信Pharr和Humphreys。公式2也与SIGGRAPH基于物理的渲染课程笔记以及引入GGX分布的Walter等论文中的公式20一致。

我在某处读到,原始的Cook-Torrance论文存在错误,导致他们错过了分母4的因数,随后的论文对此进行了纠正。我无法通过快速搜索找到对此的引用(如果有人知道,请随时在评论中注明)。

至于π的因数,取决于约定,它可能出现也可能不出现。有时,它是正态分布函数D的因数。例如,如果您在Walter等所有GGX论文5.2节中给出了多个D函数的方程,则可以看到它们的分母都为π。请注意,这意味着Lambertian BRDF的分母也应为π。

在实时图形中,通常会忽略π,在这种情况下,我们可以将其解释为浅色因素。两种方法都可以,只要您对将π放入或从您使用的所有 BRDF中删除保持一致即可。


1

在比较多个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年。

编辑:我研究了FG(或V的一些(各向同性)实现,具体取决于您是否将分母中的缩写简化为G)和D

  • D:贝克曼,沃德·杜尔,布林·庞,特罗布里奇·里茨又名GGX又名GTR2,贝里又名GTR1;
  • G | V:隐式,病房,诺伊曼,Ashikhmin-Premoze,Kelemann,Cook-Torrance,Smith GGX,Smith Schlick-GGX,Smith Beckmann,Smith Schlick-Beckmann;
  • F:施利克,库克·托伦斯。

1个πα2α粗糙度2

4π

厄尔·哈蒙(Earl Hammon):用于GGX + Smith微表面的PBR扩散照明,GDC 2017。

长话短说,(提供的三个选项中)选项2是唯一正确的镜面反射项


α[RØüGHñËss2ααα[0α[01个]

1
@Tare对于Blinn-Phong,您需要使用从镜面反射指数派生alpha的派生版本。参见graphicrants.blogspot.be/2013/08/specular-brdf-reference.html
Matthias,

1
好的,您在帖子中没有提到此内容,因此我认为您使用的是原始表格。
皮重

0

我个人使用了等式2。对我来说,等式3似乎不正确,Pi因子是为了标准化光响应并节省能量。本质上,您不希望从表面反射的光多于其接收的光。

等式2是等式1的改进,据我所知更正确。有关等式2的更多信息,请参阅Walter等人的“ 通过粗糙表面折射的微面模型

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.