Clustered Principal Components for Precomputed Radiance Transfer real-time rendering with shadows and inter-reflections for objects with complex reflectance 10000 1000 total squared error 100 10 1 1 10 100 1000 10000 100000 1000000 10000000 n'=0 n'=1 0. 01 n'=2 0. 001 n'=4 n'=8 0. 0001 n'=16 0. 00001 uncompressed storage cost We compress transfer matrices over many points over the surface using CPCA (clustered principal component analysis). It approximates the transfer matrices using an affine subspace over a small number (256) of clusters of points. Using a few PCA vectors per cluster (n'), a good approximation is obtained. Radiance transfer at p from source to transferred incident to exitant. We use a transfer matrix at each p to represent the linear transformation of source radiance into exitant radiance. We use the spherical harmonic basis for these radiance functions. 0. 1 Equivalent Rendering Cost Comparison: The three left columns show various approximations that take the same time to render (~45Hz). CPCA provides a much better approximation than a global linear subspace over the whole object (PCA), or a piecewise constant approximation (VQ). PCA VQ CPCA 27Hz 27Hz uncompressed 59Hz Real-time rendering sample images, using CPCA-encoded transfer matrices 43Hz