一、介绍读后感来自 Revisiting Physically Based Shading at Imageworks, SIGGRAPH 2017 course,by Kulla and Conty。这篇文章介绍了一种快速的补偿微表面模型能量损失的近似方法,为工业界常用的一种“相当简单”的补偿微表面能量损失的方法。 二、背景在使用微表面模型的时候,越是粗糙的物体能量损失越是严重。如下图所示: 随着粗糙度从左往右变大,我们模型也变得越暗,也就意味能量越低。具体可通过白炉测试看出,如下图所示: 对所用模型,使用各方向完全一样的环境光。由于能量守恒,理论上模型入射和出射能量保持一致(此处没有颜色的能量吸收)。但实际上越右边的(粗糙度更大)的模型能量损失越多。这是由于微表面考虑G项时,只做了一次入射遮挡和出射遮挡。 对于粗糙的物体,光线可能会在微表面间弹射多次。因此一次的遮挡计算是不够的。如下图所示,越是粗糙的物体,其在微表面间的弹射应该更多次。 因此我们需要一种方法来补偿该能量,当然一种在微表面间作path tracing的方法是符合物理的。例如[Multiple-scattering microfacet BSDFs with the Smith model,Heitz et al.2016]就尝试在物理上精确描述能量损失。但是在实时渲染领域,该方法效率显然太低。因此此处介绍了一种快速的补偿微表面能量损失的近似方法。该方法为The Kulla-Conty Approximation,其用一种经验性的方式补偿了能量损失。 三、原理第一步,论文给出了E( )的表达式,表达给定方向下, radiance为1时的积分,即irradiance,此时= sin θ。如下图所示: 那么假设入射为1,反射为E( ),那么给定方向下,一次弹射需要补充的能量则为1-E( )。 第二步,论文及其“自然”地想到了关系式(如下)以表达brdf的对称性,该式的积分应等于1-E( )。 第三步,解出常值C。具体解法如下: 因此积分式内的表达式为第二步所求式。即(如下图) 第四步,那显然只要知道了E( )与E(avg)就可以得到一次弹射的能量损失。一个无解析解的积分,我们可以用恰当的预计算方式得到数值解。分析参数可得,E( )只和和roughness有关,E(avg)只与roughness有关。因此E( )可用一张二维纹理存储,E(avg)可用一维纹理存储。如下所示: 由以上4步可以完全计算出一次弹射的能量损失,结果如下图。显然补偿后,粗糙的物体比原来更“亮”了,能量保持了一致性。 (无补偿结果) (有补偿结果) 到此为止,我们完成了该方法的一般,该文用设计的公式模拟一次弹射的能量变化(无颜色)。那么如果brdf有颜色呢,如果是多次呢?接下来请看。 我们知道颜色意味着吸收,而吸收为能量损失。我们尝试计算该部分“应该”损失的能量。即方法为:先假设模型无颜色E( ),然后计算有颜色时的brdf能量损失F(avg),最后补上。方法如下: 第一步,F(avg)表达平均每次反射的能量,计算方式与上面雷同,如下: 第二步,那么一次弹射的有颜色的能量为F(avg)E(avg),损失为F(avg)(1-E(avg))F(avg) E(avg)。那么多次弹射的有颜色能量损失为,如下图推导: 第三步,根据等比数列求和公式,我们可得和为: 该式为最终应补偿能量结果,乘上该结果,我们可得: (无补偿结果) (有补偿结果) 四、结论 该论文对于不同材质和情况还有很多分析,此处不多做介绍。接下来贴出我实现的结果。 E() E(avg) (用重要性采样的积分结果,上图为能量补偿,下图为原图,粗糙度从左往右递增) (用Cosθ加权采样的的积分结果,上图为能量补偿,下图为原图,粗糙度从左往右递增,可见此方法在低粗糙度时,用该方法加权时计算效果不好) 五、引用https://www.bilibili.com/video/BV1YK4y1T7yY?p=10 (Games202课程) https://fpsunflower.github.io/ckulla/data/s2017_pbs_imageworks_slides_v2.pdf (原文PPT) https://dl.acm.org/doi/abs/10.1145/2897824.2925943 ([Multiple-scattering microfacet BSDFs with the Smith model,Heitz et al.2016]) 最后 给对图形学有兴趣的同学推荐yanlinqi老师在B站的课,相信你一定会受益匪浅。 |
相关文章
资源砸进去,视频号直播带货今年能“起量”吗?
一年一度的微信公开课,如约而至。 众人期待的“微信之父”张小龙没有出现,取而代之的是,视频号放出了一组成绩率先登场。 西城男孩演唱会线上观看人数达2700万+,最高同时150万人在线;五月天演唱会有1400万+人观看;孟晚舟归国引来1500万+人围...
谷歌SEO如何快速获得排名?。
图片来源:图虫创意 做谷歌SEO的同志们都知道这是一个慢工出细活的工作,但是这些话给老板说老板可不吃这一套尤其是在试用期的员工,给你几个月时间如果没有啥效果那么就再见。所以SEO是需要时间来见证效果,前期除了需要了解谷歌SEO的一些细节之外我们也要用正确的小技巧来快速获得排名保住自己的工...
活动运营:抓住这5点,提升线上活动参与度
一次火爆的线上活动,不仅可以直接带来转化,更重要的是积累了用户口碑,可谓“名利双收”。那么,到底如何才能策划一场成功的活动呢?今天给大家分享的是如何提高线上活动的用户参与度,主要从以下五个问题来具体阐述。 一、头等奖越高=参与人数越多? 相信大家生活中都有过这样的经历,经常有一些活动的...
网店代运营的推广(以下内容值得你读)
如今网络购物已经是我们生活中不可或缺的一部分了,尤其是对于现在的年轻人来说,更是如此。不管是在网上购物还是线下购物,都离不开网络广告这一环节。而网络广告的产生正是因为我们自己想要实现自己的理想,但是却因为网络广告太多、太不可控等原因而难以实现自己的理想。不过,也有很多网店代运营人员发现网络...
抖音电商图文带货来啦!把握新机遇
你能想象得到么?抖音电商图文带货,有着如此惊人的爆发力: ● 一位粉丝量只有8000多的穿搭作者,不靠短视频或直播,仅靠一篇图文,用两张图片、一段音乐、几行文字,为粉丝推荐连衣裙,实现单篇带货超34万,月带货超120万! ● 一位爱看书的作者,用图文晒出读后感,为一本书带货超...
Games101 课程笔记(四) 阴影与光线追踪与材质
前言 这些文章是我在学习games101的过程中的一些心得和笔记,有些是课程的,有一些则是我在其他博客等处总结的相关点和扩展资料。 请注意:这篇文章对应的课程内容是Lecture 13-18 ,课程链接见下...





