cnr-isti-vclab

cnr-isti-vclab/vcglib

C++ GPL-3.0 Science

The VCGlib is a C++, templated, no dependency, library for manipulation, processing and cleaning of triangle meshes

1.3k stars
385 forks
active
GitHub +5 / week

1.3k

Stars

385

Forks

79

Open issues

30

Contributors

2025.07 21 Jul 2025

AI Analysis

VCGlib is a specialized C++ library for triangle mesh processing, manipulation, and cleaning with no external dependencies. It serves computational geometry researchers, 3D scanning projects, and mesh processing tool developers—notably powering MeshLab and Stanford's Digital Michelangelo project. Not for general-purpose C++ development or non-mesh applications.

Science Library Discovery value: 5/10
Documentation 7/10
Activity 9/10
Community 7/10
Code quality 6/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

mesh-processing 3d-geometry computational-geometry c++-library computer-graphics
Actively maintained Niche/specialized use case Popular Production ready
Deep Analysis · Based on README and public signals
1w ago

Specialized C++ mesh processing library underpinning academic graphics research and tools like MeshLab

VCGlib is a header-only C++ library for triangle mesh manipulation, processing, and optimization developed and maintained by Italy's CNR-ISTI Visual Computing Lab. It powers MeshLab and research tools like Metro, offering algorithms for mesh simplification, spatial indexing, smoothing, and geometric repair. Adoption is concentrated in academic computer graphics and research institutions rather than mainstream commercial software, but it remains an important foundation for serious mesh work in specialized domains.

Origin

Created in 2006 (repository created 2016), VCGlib emerged from research needs at ISTI's Visual Computing Lab and became the foundation for MeshLab, a widely-recognized open source mesh editor. It has evolved as a general-purpose mesh processing toolkit used in academic research, particularly for 3D scanning and geometry optimization projects.

Growth

Growth has been modest and stable rather than accelerating. The 1,282 GitHub stars, 383 forks, and single star in the last 7 days (as of June 2026) reflect established, mature adoption within a defined academic/research niche rather than expanding mainstream adoption. The project's primary value driver remains MeshLab and direct citations in research publications, not viral community growth.

In production

Adoption not verified beyond stated use in MeshLab, Metro, and unnamed 'many others' from Visual Computing Lab. No evidence of widespread commercial adoption, enterprise users, or large-scale production deployments mentioned in README. Usage appears concentrated in academic research and open source graphics tools developed by or connected to ISTI.

Code analysis
Architecture

Likely a header-only, templated C++ library based on README claims of 'no external dependencies' and template design. Appears modular with distinct namespaces for different mesh processing tasks (simplification, smoothing, spatial structures, repair). README describes 100k+ lines of code organized around mesh data structures and algorithms. Actual architectural quality cannot be verified from README alone.

Tests

Not documented in README. CI/CD pipeline exists (BuildExamples workflow badge visible), but extent of unit test coverage and integration testing practices are not disclosed.

Maintenance

Last push 2026-06-04, approximately 27 days before analysis date (2026-07-01). This indicates active, recent maintenance. However, the single star in the past 7 days and general GitHub metrics suggest this reflects steady maintenance rather than growth phase. Repository appears stable and regularly updated but not rapidly evolving.

Honest verdict

ADOPT IF: you need robust, battle-tested mesh cleaning, simplification, or repair algorithms in C++ without external dependencies, especially in academic or research contexts; or if you are extending MeshLab. AVOID IF: you require modern C++ standards, extensive documentation for new users, or active community forums; or if you prefer libraries with larger commercial backing. MONITOR IF: you are evaluating geometric processing libraries and want to understand whether VCGlib has expanded beyond its research-lab origins into mainstream commercial graphics pipelines.

Independent dimensions

Mainstream potential

3/10

Technical importance

7/10

Adoption evidence

4/10

Risks
  • GPL-3.0 licensing may restrict adoption in proprietary commercial software; adoption of permissively licensed alternatives (libigl, OpenMesh) may increase in commercial contexts.
  • Limited evidence of growth beyond research/academic use; mature but niche project may lack incentive for feature expansion or modernization.
  • Documentation and tutorial content not highlighted in README; may present barrier to new adopters unfamiliar with mesh processing concepts.
  • Dependency on active maintenance by ISTI lab; institutional research funding changes could affect long-term maintenance cadence.
  • C++ template-heavy design may complicate compilation, debugging, and cross-platform support compared to modern alternatives with cleaner APIs.
Prediction

VCGlib will likely remain a stable, actively maintained foundation for MeshLab and academic mesh research, with adoption remaining concentrated in research institutions and specialized geometry-processing pipelines. Mainstream software adoption may continue to shift toward permissively licensed or higher-level alternatives. No evidence of discontinuation or major expansion.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

C++
96.1%
C
2.7%
Cuda
0.7%
CMake
0.3%
QMake
0.1%
GLSL
0.1%
CSS
0%

Information

Language
C++
License
GPL-3.0
Last updated
4d ago
Created
123mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

cnr-isti-vclab

cnr-isti-vclab/meshlab

MeshLab is an open-source, cross-platform system for processing and editing...

5.8k C++ Science
CGAL

CGAL/cgal

CGAL is a comprehensive C++ library providing efficient, reliable algorithms...

6k C++ Science
mlivesu

mlivesu/cinolib

CinoLib is a C++ header-only library for processing polygonal and polyhedral...

1.1k C++ Science
libigl

libigl/libigl

libigl is a C++ geometry processing library that provides algorithms and data...

5k C++ Science
BrunoLevy

BrunoLevy/geogram

Geogram is a C++ library implementing specialized geometric algorithms for mesh...

2.5k C++ Science
vs. alternatives
CGAL (Computational Geometry Algorithms Library)

CGAL is broader (5,959 stars), covers computational geometry beyond meshes, has larger community. VCGlib is more focused and mesh-centric with fewer dependencies. CGAL likely dominates in academic geometry research; VCGlib is more specialized for mesh cleaning/processing.

libigl (Geometry Processing Library)

libigl (5,039 stars) is newer, actively developed by computer graphics researchers, more tutorial-rich. VCGlib is older, more mature, focuses on robustness for mesh repair. libigl likely has stronger adoption in graphics research; VCGlib may be preferred for production mesh cleaning pipelines.

meshoptimizer

meshoptimizer (7,826 stars) focuses on real-time graphics optimization (LOD generation, compression). VCGlib is broader mesh manipulation. meshoptimizer targets game engines/graphics; VCGlib targets scientific mesh processing.

MeshLab (built on VCGlib)

MeshLab (5,745 stars) is the GUI wrapper around VCGlib; much higher visibility. VCGlib is the library layer. Most casual users interact via MeshLab, not directly with VCGlib library.

OpenMesh

OpenMesh is an alternative C++ mesh data structure library. VCGlib likely has stronger mesh processing algorithms; OpenMesh may have simpler API for basic operations.