Skip to content

Add 16-bit noise heightmap export with per-pixel 3D detail - #49

Draft
raguilar011095 wants to merge 1 commit into
mainfrom
ra_export_detailing
Draft

Add 16-bit noise heightmap export with per-pixel 3D detail#49
raguilar011095 wants to merge 1 commit into
mainfrom
ra_export_detailing

Conversation

@raguilar011095

Copy link
Copy Markdown
Owner

Summary

  • Adds a new Noise Heightmap (16-bit) option to the export dropdown that layers CPU-side 3D simplex noise on top of the GPU-rendered base heightmap, producing fractal-rich terrain suitable for downstream detailing in external tools.
  • New js/noise-heightmap.js samples noise on the unit sphere (no equirectangular distortion) and combines domain-warped multi-band FBM, ridge noise on mountain spines, slope-aligned anisotropic detail, sedimentary banding on plateaus, a lowland quieting mask, and elevation/slope-driven erosion carving.
  • Amplitude factors are max-pooled then Gaussian-blurred with sphere-aware (latitude-corrected) kernels at fixed physical radii (~50 km) so detail bleeds smoothly between mountains and lowlands without resolution-dependent artifacts.

Test plan

  • Open the app, generate a planet, select Noise Heightmap (16-bit) from the export dropdown and confirm a orogen-noise-heightmap-<seed>.png downloads
  • Inspect the exported PNG: verify mountains have ridged spines, plateaus show subtle banding, and lowlands have varied (not uniform) flat plains
  • Compare against the existing Heightmap (B&W) export at the same seed to confirm large-scale terrain shape is preserved
  • Re-run the export at multiple Detail-slider settings and confirm the noise character looks equivalent across resolutions (scale invariance)
  • Verify the existing heightmap, landheightmap, and landmask exports still produce identical output to before

🤖 Generated with Claude Code

New export option applies CPU-side 3D simplex noise on the unit sphere
after the GPU renders the base heightmap, layering domain-warped FBM,
ridge noise on mountain spines, slope-aligned anisotropic detail,
sedimentary banding on plateaus, a lowland quieting mask, and erosion
carving — all driven by sphere-aware max-pooled / Gaussian-blurred
elevation and slope amplitude factors so detail blends seamlessly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant