跳到正文

kaolti

monolith-terrain

Interactive 3D topographic map — real-world elevation data rendered as a vintage USGS topo sheet with a sci-fi HUD. Three.js.

README 已保存到本站,可直接阅读

Documentation snapshot

README 快照

这篇是英文原文

下面正文是项目自己的英文 README。想读全文就用浏览器自带的整页翻译: Chrome / Edge 点地址栏右侧的翻译图标,或用右键菜单里的「翻译成中文」; 手机浏览器一般在菜单里。

本页保存的是公开项目资料快照,阅读过程不需要连接 GitHub。

MONOLITH — interactive 3D topographic map

An interactive, real-time 3D terrain map in the style of a vintage USGS topographic sheet, crossed with a sci-fi FUI overlay. Load real-world elevation data for anywhere on Earth, or generate procedural mountain ranges — then explore them with contour lines, hypsometric tinting, survey grids, spot elevations, clickable peak markers, radar scans, and cinematic camera tours.

Live demo: https://kaolti.github.io/monolith-terrain/

How to use

ActionHow
Look aroundDrag to orbit, scroll to zoom, right-drag to pan
Inspect a peak / basinClick a PK-xx / DEP-xx marker — the camera flies in and a data panel opens
Go backClick ✕ on the panel — the camera returns to where you were
Cinematic flyoverOpen Tour, pick from / to, press ▶ start tour (drag to cancel mid-flight)
Radar scanHUD → trigger scan — a wave sweeps the terrain and physically lifts the surface
Change locationTerrain source → location presets, or Custom + latitude/longitude, then load location
Save your settingscopy parameters puts the full state on your clipboard as JSON

Terrain sources

  • real world (DEM) — fetches elevation tiles for the chosen coordinates and rebuilds the map with true landforms. Spot elevations and peak data show real values.
    • detail (zoom) — z10–14: how large an area you get (z12 ≈ 28 km across, z13 ≈ 14 km)
    • vertical scale — relief exaggeration; real proportions read flat at map scale, so 1.5–3 is typical
  • procedural noise — seeded multi-octave simplex terrain with a hovering monolith and an excavated instrument basin. Every knob (octaves, warp, amplitude…) is live.

Parameter folders

Map overlay (hypsometric gradient stops, contour interval/color, survey grid) · Surface material (roughness, micro bump) · Camera & focus (real depth of field with autofocus) · Look (exposure, contrast, grain, fog) · HUD (accent/ink colors, scan wave shape + displacement) · Motion / Tour (fly-to easing, tour path smoothing, banking, look-ahead) · Performance (render scale, static shadows, shadow resolution) · Light (sun azimuth/elevation, shadow softness).

Run locally

npm install
npm run dev     # http://localhost:5173
npm run build   # static build in dist/

No API keys or environment variables needed.

Deploy

Pushing to main auto-deploys to GitHub Pages via the included workflow. Alternatively, any static host works:

npm run build
npx wrangler deploy   # Cloudflare (uses wrangler.jsonc)

Tech

  • three.js — rendering; terrain map styling (gradient, contours, grid, scan wave) is injected into the standard PBR shader via onBeforeCompile
  • postprocessing — real depth-buffer DOF, ACES tone mapping, grain, vignette, SMAA
  • lil-gui — parameter panel
  • Vite — build; plain JavaScript, no framework
  • Hand-rolled seeded simplex noise / FBM / ridged multifractal for procedural terrain
  • Tours: Catmull-Rom path sampled by arc length, trapezoidal velocity profile, damped-gimbal rotation controller

Elevation data & attribution

Real-world mode uses the Terrain Tiles dataset (Terrarium encoding), publicly hosted through the AWS Open Data program — no key required.

Terrain tiles by Mapzen / Tilezen, from the AWS Open Data Terrain Tiles dataset. Underlying data sources include SRTM (NASA), USGS 3DEP/NED, ETOPO1 (NOAA) and others — see the full attribution list.

License

MIT

Official distribution

获取与安装

暂未发现可确认的官方软件包地址

当前 README 快照没有出现 npm、PyPI、Crates.io、pub.dev 等官方包页链接。本站不会根据仓库名称猜测下载地址。

本站不托管项目文件;需要安装时,请以项目维护者发布的官方文档为准。

使用前核验

本站保存公开资料用于阅读,不代表安全审计或功能背书。安装前请核对许可证、依赖来源和发布签名,不要直接运行来源不明的二进制文件或高权限脚本。