The open source system for processing and editing 3D triangular meshes. It provides a set of tools for editing, cleaning, healing, inspecting, rendering, texturing and converting meshes. It offers features for processing raw data produced by 3D digitization tools/devices and for preparing models for 3D printing.

Features

3D Acquisition: Aligning

The 3D data alignment phase (also known as registration) is a fundamental step in the pipeline for processing 3D scanned data. MeshLab provides a powerful tool for moving the different meshes into a common reference system, able to manage large set of range-maps. MeshLab implements a fine tuned ICP one-to-one alignment step, followed by a global bundle adjustment error-distribution step. The alignment can be performed on meshes and point clouds coming from several sources, including active (both short- and long-range) scanners and 3D-from-image tools.

3D Acquisition: Reconstruction

The process of transforming independent acquisitions, or point clouds, into a single-surface triangulated mesh can be fulfilled with different algorithmic approaches. MeshLab provides several solutions to reconstruct the shape of an object, ranging from volumetric (Marching Cube) to implicit surfaces (Screened Poisson).

3D Acquisition: Color Mapping and Texturing

Color information may be as important as geometry, but several acquisition technologies do not provide accurate appearance data. MeshLab contains a pipeline for the alignment and projection of color information (from a set of uncalibrated images) onto a 3D model. Several automatic and assisted methods are provided to obtain a high quality color encoding, with both per-vertex or texture mapping.

Cleaning 3D Models

MeshLab offers a series of automatic, semi-manual and interactive filters to remove those geometric element generally considered "wrong" by most software and algorithms. It is possible to removing topological errors, duplicated and unreferenced vertices, small components, degenerated or intersecting faces, and many more geometrical and topological singularities. Using different automatic and interactive selection methods, is then possible to isolate and remove unwanted areas of your meshes and point clouds.

Scaling, Positioning and Orienting

3D models, especially coming from survey and scanning, often need to be re-oriented, or placed in a specific reference system; additionally, if they have been generated from 3d-from-photos, they generally need scaling to become metric. MeshLab provides a variety of features to manipulate the scale, positioning and orientation of a 3D model, including basic transformation operations like translation/scaling/rotation, automatic re-centering and alignment to axis, geo-referencing with reference points, interactive manipulators for rotation/translation/scaling, and many others.

Simplification, Refinement and Remeshing

A common need when processing a 3D model is to reduce its geometric complexity, creating a geometry with the same shape but with less triangles (or points). MeshLab offers different ways to simplify (decimate) triangulated surfaces, able to preserve geometrical detail and texture mapping, or to selectively reduce the number of points in a pointcloud. In other cases, the user may want to increase the number of triangles (or points): MeshLab also provides different subdivision schemes, remeshing and resampling filters to increase geometric complexity of 3D models, or to optimize point distribution and triangulation quality.

Measurement, and Analysis

Interactive point-to-point measurement of a 3D model is really easy in MeshLab. Moreover, automatic filters will return various geometric and topological information about your 3D model (or just of a selected area), while the Sectioning tool can export cut-through sections of a mesh as polylines. Different geometric information (like curvature, geodesic distance, or local vertex density) may be calculated on meshes and 3D models using automatic filters.

What's New

This version brings lot of bugfixes, minor improvements and features, and a new filter plugin for computing parametrizations.

Along with this, we also released PyMeshLab 2022.2, which brings lot of improvements along with a renaming of all the filter function names, with the goal of making more clear what each filter does.

We thank @alfonsosanchezbeato for making available his MeshLab Plugin for computing the minimal volume bounding box of a mesh. Extra plugins maintained by third parties can be downloaded from the Release Page of the MeshLab Extra Plugins repository, and they can be loaded on MeshLab by going to Help -> Plugin Info -> Load Plugins.

Changelog:

  • new plugin for computing parametrizations (Harmonic and LSCM)
  • various bugfixes and improvements
  • possibility to select number of threads in filter screened poisson
  • proper support of multitextured gltf files
  • new revisited and deterministic filter searcher
  • some minor new features on set texture and vertex displacement filters