[gpu pro]screen space soft shadows

[gpu pro]screen space soft shadows_第1张图片

实用性不太好的一篇,里面对image space的一些操作的介绍和应用倒是不错。

主要是讲对pcss(percentage closer soft shadow)进行优化的一个思路。

pcss本身在游戏里面的意义就比较小,性价比太低。


tech

这篇文章是在scene的屏幕空间里面,根据shadow receiver到occluder的距离,来进行不同kernel大小的gaussian blur来达到变半影区的软影的效果。

优化点就是使用gaussian blur是separatable kernel的,所以计算量是O(n+n),而pcss是O(nxn),n越大,这种做法的优势越大。


这里一个关键点还有shadow receiver到occluder距离的这个distance map的构建,这个文章的做法是把light space depth使用一个min filter来降resolution,生成一个coarse min depth map,然后在正常的camera的那个depth buffer里反算出位置,然后和这个light space coarse min depth来算出distance。

这里作者也提到,由于这个和pcss的那种基于kernel的实打实的计算distance方法还是不一样,所以某些情况下,效果会有问题,又搞出其他的方法来弥补,但是始终不能完美。


所以综上,这个是一个不完美的优化方式,优化的是一个性价比很低的阴影feature。


你可能感兴趣的:([gpu pro]screen space soft shadows)