# martini
**Repository Path**: mirrors_mapbox/martini
## Basic Information
- **Project Name**: martini
- **Description**: A JavaScript library for real-time RTIN terrain mesh generation
- **Primary Language**: Unknown
- **License**: ISC
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-09
- **Last Updated**: 2026-06-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# MARTINI
[](https://github.com/mourner/projects)
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](https://observablehq.com/@mourner/martin-real-time-rtin-terrain-mesh).
Based on the paper ["Right-Triangulated Irregular Networks" by Will Evans et. al. (1997)](https://www.cs.ubc.ca/~will/papers/rtin.pdf).

## Example
```js
import Martini from '@mapbox/martini';
// 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
```bash
npm install @mapbox/martini
```
### Ports to other languages
- [pymartini](https://github.com/kylebarron/pymartini) (Python)