[gpu pro]screen space directional occlusion

ssao的升级版,ssdo。

cryengine3里面现在也在用,对于效果来说,在ssdo和ssao之间恐怕玩家难以分辨了。

顾名思义,ssdo在ssao基础上加了一些方向性的东西,ssao是描述了这一点被occluded掉多少东西,但是没有任何方向信息,所以暴露在一个左边是红光,右边是蓝光的情况下,不能根据occlusion的信息来occlude掉正确的lighting。

ssdo记录了这些没有occlude掉的部分的信息,其实也就是半球上面的那些angle所在的patch是没有occluded。

[gpu pro]screen space directional occlusion_第1张图片

上图比较好的说明了。

有了这些信息,可以产生更准确的occlusion信息,以及更正确的ambient lighting的shading信息,比如使用基于cubemap的各个方向不同的ambient lighting。

在这个基础上,可以进一步采样周围的lighting信息,进而模拟一些indirect lighting,不过在GI发展的今天,这点indirect lighting实在难以匹敌正规军啊。

最后一个是防止出现uniform的pattern的情况,就是按照统一的patter,无论是ao还是shadow都会出现在边缘那里格子状的patter,处理方法是:

本文采用的是geometry sensitive filter,来做一些blur(横一次,竖一次)。

还有就是在sssss,以及shadow里面用到的poisson filter也可以。

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