MeshLab is an excellent tool to convert and process 3D files: it reads and writes STL, Collada, OBJ, 3DS and a few more. It also contains a large set of filters such as non-manifold face removal and hole closing.
It is free, open source, and runs on all mainstream operating systems: Windows, OS X and Linux. I love it!
I talked to MeshLab’s creator Paolo Cignoni to find out more about this project.
Q: Can you tell us a little about yourself?
A: A senior researcher in a Italian government research institution with a lot of interest about the theoretical aspects of practical Computer Graphics and the practical follow up of Computational Geometry. I proudly belong, since its foundation, to the Visual Computing Laboratory of the ISTI-CNR, one of the most important CG research lab in Italy.
Q: How would you describe MeshLab to new users?
A: A versatile, powerful, ever evolving, tool for (mostly) unattended 3D mesh converting, processing, cleaning and repairing. (and that sometimes crashes more than necessary )
Q: What made you decide to create MeshLab?
A: It was the combination of two distinct motivations.
- In our VCG lab, in the last 10 years, we developed a nice, rich, complex c++ library for 3D mesh processing ( http://vcg.sf.net ) that we have used for all our many research projects, I wanted to have a easy to use tool where the many features of our vcg library could be evident, but I always lacked the will of doing such an effort.
- I regularly teach the advanced Computer Graphics course at the Computer Science department of the University of Pisa. It is a course with a small number of usually smart students; some years ago I become tired of seeing always the same mostly useless 3D projects done by the students so I thought to a system with a very modular plugin based architecture that allowed to students to independently develop small portions of a complex system. From a didactic point of view it was a success. Students are really very motivated to see their “home-work” being something real that last for a long time after the end of the course. In practice it was rather easy to make them work really hard and in a professional way.
Q: How many people are working on MeshLab? Who are they?
A: I have never exactly counted them before now . According to Ohloh.net at least 42 people committed code to the base, but the real number is probably a bit larger. Students often work in pairs and sometimes they perform all the commits are done with a single account. Most of the developers are students that work on a very focused task for a limited period of time and then maintain it over the time.
In the last year a few other very talented developers from all over the world have freely joined to the MeshLab team in the classical wonderful Open Source spirit. I wish to warmly thank them for their precious and significant contributions.
Q: Are there any features that are unique to MeshLab and that aren’t offered by other (commercial) programs?
A: Initially not so many, probably the users liked a lot the surface simplification tool that is really robust and fast (according to many users much better and faster that the one that you can find in the High-End package like 3ds max, or maya). Now very recently developed CG techniques are being dropped in. I wrote that code more or less 10 years ago, and it was used as basis to the out of core system that simplified the huge Digital Michelangelo Project models.
Also 3D scanning pipeline (alignment and merging) is rather good. It has a rather rough interface but its core is very good. The core of that library was used too in a lot of famous projects,
Just to cite one, it was used to align and merge the meshes of the Parthenon Project of Paul Debevec.
In general the capability of working with very large unstructured meshes is rather rare in most 3D packages.
By the way I think that its overall goal of mostly unattended processing, is something that make MeshLab very distinct from most of the other 3D packages that are more oriented on the design/edit/build paradigm.
Q: Which new features can we expect in the near future?
A: More mesh formats supported, More filters, new algorithms for cleaning meshes, tools for offsetting surfaces, more controllable hole filling, retopology tools, new merging algorithms, a lot of stuff for managing color over meshes, expression parsing in the parameters, and finally a command line version of MeshLab for unattended pipelined processing of meshes.
In a not so near future, MeshLab will have a really well integrated undo, a redesign of its gui (i got tired of floating windows), and eventually a bit of scriptability.
Download MeshLab here. On the download page, click ‘download’ and select the right version for your system:
- Windows: .exe
- OS X: .dmg
- Linux: .tgz