This code performs gradient domain processing [SGP 2009] on signals defined on a mesh, where the signal can be either a color-field represented as a color per vertex or is the position of the vertices themselves.
The code supports both sharpening and smoothing of the signals through the solution of a screened-Poisson equation.
Specifically, given an input signal F, it solves for the signal G minimizing:
For more robust estimation of normals, the executable also supports harmonic smoothing of normals as described in [SIGGRAPH 2016]. As with the code above, this amounts to minimizing:
EIGEN_USE_MKL_ALL macro by defining it in the file PreProcessor.h. (The two versions of the Windows executables are compiled with and without MKL support.)
ShapeGradientDomain --in armadillo.ply --out armadillo.sharp.ply --gScale 2 --gWeight <gradient weight>
ShapeGradientDomain --in armadillo.ply --out armadillo.smooth.ply --gScale 0 --gWeight <gradient weight>
ShapeGradientDomain --in armadillo.ply --out armadillo.smooth.ply --gScale 0 --gWeight <gradient weight> --kWeight 0.02 --nIters 1
<gradient weight> is chosen from {1e-3, 1e-4, 1e-5}
