The CGAL library
The Computational Geometry Algorithms Library is an open source
C++ library of efficient and reliable geometric algorithms.
This includes support for Triangulated Surface Mesh Simplification.
It uses an edge collapse techique that works on oriented 2-manifold
surface with support for holes and arbitrary genus.
The GLOD library
GLOD represents an extremely lightweight approach to Geometric Level
of Detail toolkits. You will find that GLOD is not another scene graph
library. Instead, GLOD is designed to closely mesh with the standard
OpenGL programming model in such a way that using GLOD should be just
like using standard OpenGL vertex arrays.
The GTS Library
GTS stands for the GNU Triangulated Surface Library. It is an Open
Source Free Software Library intended to provide a set of useful
functions to deal with 3D surfaces meshed with interconnected
triangles. The code is written entirely in C with an object-oriented
approach based mostly on the design of GTK+. Careful attention is paid
to performance related issues as the initial goal of GTS is to provide
a simple and efficient library to scientists dealing with 3D
computational surface meshes.
The MT Package by Leila De Floriani et al.
The Multi-Tesselation (MT) Package comes from Leila De Floriani,
Paola Magillo, and Enrico Puppo of the University of Genova.
It is a dimension-independent package for the representation and
manipulation of spatial objects as simplicial complexes at
multiple resolutions. It is supplied as a C++ library with
supporting documentation and demos.
Progressive Meshes Maya Plugin by Erik Pojar
Erik has written a Maya Plugin that implements a progressive
mesh scheme using quadric error metrics. Additionaly, the user
can supply custom weights (using Maya's Artisan interface) to
control the aggressiveness of the simplification in different
parts of the model. Full source code is provided under LGPL.
QSlim by Michael Garland
This package contains two components, the MixKit library and the
SlimKit collection of surface modeling tools. QSlim is the primary
application in the SlimKit collection and contains all the actual
surface simplification code. QSlim can be built as both a command-line
only "qslim" program as well as an interactive "qvis" program. Both
programs should compile on pretty much any Unix system, as well as
ROAM implementation by Mark Duchaineau
This is the implementation source code from one of the authors of the
original ROAM paper: ROAMing Terrain: Real-time Optimally Adapting
Meshes. The ROAM algorithm uses two priority queues to drive split and
merge operations that maintain continuous triangulations built from
pre-processed bintree triangles. The web site below provides
implementation notes for those wishing to create ROAM-like optimizers.
ROAM demo by Bryan Turner
This is the demo code for the Gamasutra article, Real-Time
Dynanmic Level of Detail Terrain Rendering with ROAM. ROAM
stands for Real-time Optimally Adapting Meshes and is a
popular LOD technique for terrain. The code is in C++ with
a MS Visual C++ project file and depends upon the GLUT DLL.
A Win32 binary is included.
RSimp by Dmitry Brodsky and Ben Watson
A simplification algorithm that works by refining a very crude initial
approximation. Extremely fast, linear for fixed output size. Good
output quality, once the output model is larger than a few hundred
polygons. Reads ply models. Shouldn't be any platform dependencies.
This code is made freely available for non-commercial use only. See
home page for commercial users.
SemiSimp by Gong Li and Ben Watson
Semisimp is a semiautomatic simplification tool built ontop of Michael
Garland's qslim algorithm. Reads ply models. The code is in C++,
developed for the IRIX and Linux platforms, and uses the Motif
library. This code is made freely available for non-commercial use
only. Commercial users should see the web site for details.
Simplification Envelopes by Jon Cohen, Amitabh Varshney, and Greg Turk
Simplification envelopes is a method for automatically generating
level-of-detail hierarchies. The user specifies a single error
tolerance, the maximum surface deviation of the simplified model from
the original model, and a new, simplified model is generated. The
output model is generated by making successive modifications to the
original model, always making sure that the resulting surface lies
between the two envelope surfaces.
SOAR by Peter Lindstrom and Valerio Pascucci
SOAR (Stateless One-pass Adaptive Refinement)
is a 3D terrain engine for view-dependent
out-of-core visualization of large terrain surfaces.
It is an implementation of the recent terrain work
of Lindstrom and Pascucci at LLNL. The code is
distribued as ANSI C and is free for non-commercial
Out-of-Core Surface Reconstruction by Bolitho, Kazhdan, Burns, and Hoppe
Source code is available for this work on multilevel streaming for
out-of-core surface reconstruction. This involves a Poisson-based
scheme for reconstructing surfaces from huge collection of scanned points.
TerraVision by Martin Reddy, Yvan Leclerc, and Lee Iverson
TerraVision is 3D terrain visualization system that lets you browse
massive terrain datasets over the Web. It uses a coarsed-grained
quadtree-based level of detail system to support streaming of blocks
of terrain from different servers around the Web and fuses these into
a single coherent representation of the planet.
The source code is
released under the Mozilla Public License and hosted on SourceForge.
VDSlib by David Luebke
VDSlib is an open source software package that implements
view-dependent simplification, a geometric level-of-detail algorithm
for managing the complexity of polygonal scenes for interactive 3-D
graphics. Unlike traditional approaches, which compute discreet levels
of detail for each object in a preprocess, VDSlib computes a data
structure from which the desired level of detail can be dynamically
extracted at run-time.
VTK by Kitware Inc.
The Visualization Toolkit (VTK) is an open source software system
for 3D computer graphics, image processing, and visualization used
by thousands of researchers and developers around the world. VTK
includes an implementation of the Schroeder mesh decimation algorithm
for topology-preserving simplification.
Virtual Terrain Project (VTP)
The VTP site is maintained by Ben Discoe with the goal to foster the
creation of tools for easily constructing any part of the real world
in interactive, 3D digital form. This includes Open Source
implementations of several terrain LOD algorithms.
The Demo Data is also on this CD-ROM.
Ben asks that you request the VTP source code from him at
so that he can keep track of the number of users.