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

mapbox
480 Stars 24 Forks ISC License 17 Commits 8 Opened issues

Description

A JavaScript library for real-time RTIN terrain mesh generation

Services available

!
?

Need anything else?

Contributors list

No Data

MARTINI

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

Example

// 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);

Install

npm install @mapbox/martini

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.