Need help with martini?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

529 Stars 29 Forks ISC License 18 Commits 8 Opened issues


A JavaScript library for real-time RTIN terrain mesh generation

Services available


Need anything else?

Contributors list


Build Status Simply Awesome

MARTINI stands for Mapbox's Awesome Right-Triangulated Irregular Networks, Improved.

It's an experimental JavaScript library for real-time terrain mesh generation from height data. Given a (2k+1) × (2k+1) terrain grid, it generates a hierarchy of triangular meshes of varying level of detail in milliseconds. A work in progress.

See the algorithm in action and read more about how it works in this interactive Observable notebook.

Based on the paper "Right-Triangulated Irregular Networks" by Will Evans et. al. (1997).

MARTINI terrain demo


// set up mesh generator for a certain 2^k+1 grid size
const martini = new Martini(257);

// generate RTIN hierarchy from terrain data (an array of size^2 length) const tile = martini.createTile(terrain);

// get a mesh (vertices and triangles indices) for a 10m error const mesh = tile.getMesh(10);


npm install @mapbox/martini

Ports to other languages

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.