MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes.
The system is aimed to help the processing of the typical not-so-small unstructured models arising in 3D scanning, providing a set of tools for editing, cleaning, healing, inspecting, rendering and converting this kind of meshes.
The system is heavily based on the VCG library developed at the Visual Computing Lab of ISTI – CNR, for all the core mesh processing tasks and it is available for Windows, Linux (src) and MacOSX (intel only).
The MeshLab system started in late 2005 as a part of the FGT course of the Computer Science department of University of Pisa and most of the code (~15k lines) of the first versions was written by a handful of willing students. The following years FGT students have continued to work to this project implementing more and more features. The proud MeshLab developers are listed below.
This project have been supported by the European Networks of Excellence Epoch and (partially) by Aim@Shape
Remember that, whenever you use MeshLab in a official/commercial project or in any kind of research, you should:
- Explicitly cite in your work that you have used MeshLab, a tool developed with the support of the Epoch NOE,
- Post a couple of lines in the users’ forum describing the project where MeshLab was used.
Adopted License, acknowlegments and other legal issues are detailed here.
- Interactive selection and deletion of portion of the mesh. Even for large models.
- Painting interface for selecting, smoothing and coloring meshes.
- Input/output in many formats:
- import:PLY, STL, OFF, OBJ, 3DS, COLLADA, PTX
- export:PLY, STL, OFF, OBJ, 3DS, COLLADA, VRML, DXF
- Point Clouds support. Now 3D files that are composed only by points are well supported in PLY and OBJ format.
- U3D support; MeshLab is the first open source tool to provide direct conversion of 3D meshes into the U3D format. Now you can create pdf, like this with 3D objects with just MeshLab and LaTeX.
- Mesh Cleaning Filters:
- removal of duplicated, unreferenced vertices, null faces
- removal of small isolated components
- coherent normal unification and flipping
- erasing of non manifold faces
- automatic filling of holes
- Remeshing filters:
- High quality edge collapse simplification (even with texture coords preservation)
- Surface reconstruction from points (a ball pivoting variant)
- Subdivision surfaces (loop and butterfly)
- Feature preserving smoothing and fairing filters
- Various Colorization/Inspection filters
- Gaussian and mean curvature
- Border edges, geodesic distance, from borders
- Non two-manifold edges and vertices
- Self intersecting faces
- Ambient Occlusion. An ambient occlusion field can be computed and stored per vertex
- Interactive Mesh Painting
- Color Painting
- Selection paint
- Measuring tool. You can take linear measures between points of the displayed meshes
- Slicing tool. A new tool that allows to export planar sections of a mesh in SVG format
- 3D Scanning tools
- Alignment ICP based range map alignment tool, for putting meshes into the same reference space.
- Merging of multiple meshes the Poisson surface reconstruction source code (kindly provided by by Michael Kazhdan and Matthew Bolitho) have been included in.
- OpenGL Shader based rendering (write your own shader!) compatible with Typhoon Lab’s Shader Designer
- Large rendering (up to 16k x 16k) for high quality printing
- The history of the all performed cleaning/editing actions can be re-played on different meshes or saved and for archival purposes.
- Extendible plugins based architecture, writing new mesh processing functions, colorization filters and support for different file formats is quite easy! Look at PlugIn Samples