Combining Positions and Normals

before after


The mesh_opt program implements the normal correction and position optimization stages described in the paper:

Efficiently Combining Positions and Normals for Precise 3D Geometry

Nehab, D.; Rusinkiewicz, S.; Davis, J.; Ramamoorthi, R.
ACM Transactions on Graphics - SIGGRAPH 2005
Los Angeles, California, July 2005, Volume 24, Issue 3, pp. 536-543

The program operates on both range grids and arbitrary meshes. It relies on the trimesh2 library for mesh manipulation, and uses the CHOLMOD library as a direct solver of sparse linear systems.


The source code, along with a windows executable, can be downloaded from the following link:


Some of the samples found in the paper are also available for download:



This implementation closely follows the research paper, and users should refer to it as a starting point before proceeding to the reference manual or to the examples.