我目前正准备实现基于这篇文章的方差阴影映射。不过,有一点令我感到忧虑:
只将施法者(而不是接收器)渲染到方差阴影映射中是不正确的!为了使插补正常工作,接收面必须用深度分布表示。如果不是这样的话,阴影的半影将是不适当的大小,不能顺利地从光到黑暗褪色。
这意味着,简单地跳过将其呈现到阴影映射中的对象,呈现一个不投阴影但可以接收来自其他对象的阴影的朴素方法将无法工作。否则如何才能做到这一点?
发布于 2015-08-11 04:49:54
不渲染一个阴影施法者可以工作,但你的里程可以不同。当方差“很大”时,VSM无法准确地定位闭锁器,这会导致光泄漏。不渲染一个大接收器(比如说房间、道路等的地板)可以显着地增加包括缺失接收器(S)在内的阴影地图区域内深度样本的方差(例如,接收机深度被远得多的物体所代替,如远平面)。
另一方面,如果您跳过在VSM中呈现一些不大可能成为场景中最遥远的接收者的小对象,那么您就有一些希望事情会得到解决(与方差阴影映射的限制相兼容)。如果您能够负担得起费用,我建议您使用一些更健壮的东西,如指数方差阴影映射(请参阅此工作:https://software.intel.com/en-us/articles/sample-distribution-shadow-maps)。
https://computergraphics.stackexchange.com/questions/181
复制相似问题