Real-time ambient occlusion for dynamic character skins

We present a single-pass hardware accelerated method to reconstruct compressed ambient occlusion values in real-time on dynamic character skins. This method is designed to work with meshes that are deforming based on a low-dimensional set of parameters, as in character animation. The inputs to our method are rendered ambient occlusion values at the vertices of a mesh deformed into various poses, along with the corresponding degrees of freedom of those poses. The algorithm uses k-means clustering to group the degrees of freedom into a small number of pose clusters. Because the pose variation in a cluster is small, our method can define a low-dimensional pose representation using principal component analysis. Within each cluster, we approximate ambient occlusion as a linear function in the reduced-dimensional representation. When drawing the character, our method uses moving least squares to blend the reconstructed ambient occlusion values from a small number of pose clusters. This technique offers significant memory savings over storing uncompressed values, and can generate plausible ambient occlusion values for poses not seen in training. Because we are using linear functions our output is smooth, fast to evaluate, and easy to implement in a vertex or fragment shader.

[1]  Peter-Pike J. Sloan,et al.  Local, deformable precomputed radiance transfer , 2005, SIGGRAPH 2005.

[2]  Peter-Pike J. Sloan,et al.  Real-time soft shadows in dynamic scenes using spherical harmonic exponentiation , 2006, SIGGRAPH 2006.

[3]  P. Hanrahan,et al.  Triple product wavelet integrals for all-frequency relighting , 2004, SIGGRAPH 2004.

[4]  Timo Aila,et al.  Ambient occlusion for animated characters , 2006, EGSR '06.

[5]  Samuli Laine,et al.  Ambient occlusion fields , 2005, I3D '05.

[6]  Okan Arikan Compression of motion capture databases , 2006, SIGGRAPH 2006.

[7]  Doug L. James,et al.  Precomputing interactive dynamic deformable scenes , 2003, ACM Trans. Graph..

[8]  Gabriel Zachmann,et al.  Hardware-accelerated ambient occlusion computation , 2004, VMV.

[9]  George Drettakis,et al.  Approximate ambient occlusion for trees , 2006, I3D '06.

[10]  Michael Todd Bunnell,et al.  Dynamic Ambient Occlusion and Indirect Lighting , 2005 .

[11]  Jessica K. Hodgins,et al.  Performance animation from low-dimensional control signals , 2005, SIGGRAPH 2005.

[12]  David A. Forsyth,et al.  Fast and detailed approximate global illumination by irradiance decomposition , 2005, ACM Trans. Graph..

[13]  James F. O'Brien,et al.  Interpolating and approximating implicit surfaces from polygon soup , 2005, SIGGRAPH Courses.

[14]  David Levin,et al.  The approximation power of moving least-squares , 1998, Math. Comput..

[15]  Jan Kautz,et al.  Precomputed radiance transfer for real-time rendering in dynamic, low-frequency lighting environments , 2002 .

[16]  Doug L. James,et al.  Skinning mesh animations , 2005, ACM Trans. Graph..