http://graphics.cs.williams.edu/papers/AOVTR09/AOV-tr.pdf
看到大概意思这一步,已经觉得这个方向没有前途了呃。
基本算法是类似shadow volume的一种构建对object的bounding volume,只是这个需要考虑到AO的影响范围。
shadow是影响物体在光照方向的延伸,所以就edge detection然后拉伸构造volume。
AO是影响周围一圈,所以构建大一圈的bounding volume,然后对于bounding volume rasterize出来的fragment做AO计算,也就是将这个obj在场景上的AO影响加上去。
细节部分包括可见性检测(类似SSAO,构建normal为基准的半球检测可见性)和falloff。
这个技术主要卖点是error比较少,但是AO本身是很低精确度的东西,不需要绝对的准确,更准确有很大意义么?起码对于游戏来讲没什意义。
volume上就是和场景复杂度非常有关系,而且要用到geometry shader构建volume。。。
比较烦的是,这个论文写的很烦啊。