[gpu pro3]efficient online visibility for shadow maps

GPU Pro3上的一个文章,这里的pdf也是同一个东西:

http://www.cg.tuwien.ac.at/research/publications/2011/bittner-2011-scc/bittner-2011-scc-paper.pdf


看下来觉得提供了比较特别的思路,在有software rasterizer culling的情况下会比较给力,其余情况下会遇到一些限制。


算法的核心是根据camera里面能看见的东西,来减少light view要render的object,具体分四步:

  • 确定receiver object,也就是camera里面最后画在屏幕上的那些object,这里在dx9上就使用occlusion query,当然这里会有延迟,所以只能采取保守做法了。
  • 在light view render这些receiver object,作为mask,这里做mask可以是使用receiver object的bounding volume,也可以使用geometry本身,具体情况具体分析了
  • 在light view使用occlusion query先,剔除不会casting shadow的object
但是没有software rasterizer的情况下,这个狂不靠谱啊,双occlusion query双延迟。。。
这个比ps3上常用的物件bounding box顺light view方向延伸,做conditional rendering差好几万米了。

不过这个思路挺好,或许一些技术可以把缺陷处理掉,也是一个不错的shadow优化的方法。



你可能感兴趣的:([gpu pro3]efficient online visibility for shadow maps)