Skip to content

Repository files navigation

MARTINI

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

importMartinifrom'@mapbox/martini';// set up mesh generator for a certain 2^k+1 grid sizeconstmartini=newMartini(257);// generate RTIN hierarchy from terrain data (an array of size^2 length)consttile=martini.createTile(terrain);// get a mesh (vertices and triangles indices) for a 10m errorconstmesh=tile.getMesh(10);

Install

npm install @mapbox/martini

Ports to other languages

About

A JavaScript library for real-time RTIN terrain mesh generation

Resources

Code of conduct

Contributing

Security policy

Stars

656 stars

Watchers

106 watching

Forks

Releases

Packages

Used by

Contributors

Languages