http://www.ppsloan.org/publications/vo.pdf
计算类似AO这一类效果的方法,SSAO这种是用球(或者半球)来sample depth,得出空间遮挡关系。
但是这种有个问题就是在sample过程中有可能重复或者某种意义上的重复,比如在球上的时候有的点贡献大有的点贡献小。
volumetric obscurence里最令人感兴趣的是它用了line sample,结果是5个sample点和crytek里面的12sample点可以达到同样级别的效果。
在crytek继续进化他们的ssao过程中,用这个vo和bilateral blur已经720p下把ssao所见到1.1ms@xbox360, 1.3ms@ps3.
里面公式好几个,没有太大用,这个图说明一切了:
稍微需要注意以下的就是里面也是有一个sphere的概念,但是这个是object space里面radius为常量的球,到screenspace需要根据depth进行缩放。然后这个球里面的disk上做sample点就可以了。
但是这个点到底怎么放也没说,那就权当瞎放吧,:)
另外一种就是利用了variance shadow map的prefilter的理念,来做方差操作,但是性能不行。
倒是觉得这个paper的introduction部分很不错,例举了很多技术:
- ao
- prt
- ssao
- vsm