 |
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.
Kirk, A. G., Arikan, O., "Real-Time
Ambient Occlusion for Dynamic Character Skins"
ACM SIGGRAPH Symposium on Interactive 3D Graphics and
Games. Seattle, WA, April 30 - May 2, 2007.
Download PDF
BibTex
|