As a low-cost approach to obtain the soft appearance of global illumination, ambient occlusion has been a very important research topic of computer graphics in recent years. Based on reviewing the ambient occlusion techniques developed in the past decade and studying in depth the screen space ambient occlusion (SSAO) algorithm, which is widely used in interactive rendering systems, we present a novel multi-layer screen space ambient occlusion algorithm. By adaptively sampling the depth buffers, this algorithm greatly reduces the linear computation cost scaling with the number of layers in the multi-layer SSAO algorithm. It achieves almost identical rendering results with the multi-layer SSAO algorithm with the efficiency comparable to the single-layer SSAO algorithm. To test the utility of our algorithm, we implement a plug-in shader in MotionBuilder and add ambient occlusion effect for many 3D animation scenes. Experiments show that our algorithm is able to significantly improve the rendering efficiency of ambient occlusion, one of the most importantly visual effects in real time 3D applications. And it can be easily integrated into existing interactive rendering systems. Our algorithm has been used in the rendering of animations in production. |