@mapbox/martini
A JavaScript library for real-time terrain mesh generation
Last updated 5 years ago by mapbox-npm .
ISC · Original npm · Tarball · package.json
$ npm install @mapbox/martini 
SYNC missed versions from official npm registry.

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

Current Tags

  • 0.2.0                                ...           latest (5 years ago)

2 Versions

  • 0.2.0                                ...           5 years ago
  • 0.1.0                                ...           5 years ago

© 2010 - cnpmjs.org x YWFE | Home | YWFE