Skip to content

reearth/terrain-codec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

terrain-codec

Rust CI License: MIT OR Apache-2.0

Terrain processing libraries for 3D tile generation.

Overview

This repository provides libraries for processing terrain data into formats suitable for 3D globe applications like CesiumJS.

Features

  • Mesh Generation - Generate adaptive meshes from heightmap data using the RTIN algorithm
  • Quantized Mesh - Encode/decode Cesium quantized-mesh-1.0 terrain format
  • Coordinate Transformations - Convert between geodetic and ECEF coordinates

Implementations

Language Path Status
Rust rust/ Available
JavaScript js/ Planned
Go go/ Planned

Libraries

martini

Crates.io Docs.rs

RTIN (Right-Triangulated Irregular Network) mesh generation from heightmaps. Based on the Martini algorithm by Mapbox.

quantized-mesh

Crates.io Docs.rs

Encoder and decoder for Cesium quantized-mesh-1.0 terrain format.

terrain-codec

Crates.io Docs.rs

Higher-level utilities — re-exports martini + quantized_mesh, plus seamless DEM-gradient vertex normals (eliminates tile-boundary shading seams) and RGB heightmap codecs (Terrarium / Mapbox Terrain-RGB / GSI).

Typical Workflow

  1. Load a heightmap (GeoTIFF, PNG, etc.)
  2. Mesh it with martini → vertices, indices, UVs
  3. Encode with quantized-mesh.terrain file (quantized-mesh-1.0)

License

MIT OR Apache-2.0

About

Terrain processing libraries for 3D tile generation (Rust, Go, JS) — RTIN mesh, Cesium quantized-mesh codec, ECEF transforms

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages