Mesh Smoothing with Manifold Harmonics

Here, you can see a mesh smoothing approach depending on Manifold Harmonics [Vallet et al. 2008] which smooths the mesh by decreasing number of eigenfunctions in use.

You can check this document for the theoretical concept of the approach, and refer Matlab and C++ codes for the implementation. Also, at the end of the page, you can see the results of applying this idea to ambient occlusion:

Matlab Script

Output:

Smoothing process of bumpy cube with 1250 (original), 300, 26 and 5 MH bases respectively.
Smoothing process of bumpy cube with 1250 (original), 300, 26 and 5 MH bases respectively.

C++ Code Snippet

Output:

Smoothing process of Stanford bunny with 3485 (original), 1024, 97 and 6 MH bases respectively.
Smoothing process of Stanford bunny with 3485 (original), 1024, 97 and 6 MH bases respectively.

Ambient Occlusion Results:

Knight mesh with 502 vertices.
Knight mesh with 502 vertices.
Bunny with 3485 vertices
Bunny with 3485 vertices