EARTHLIKE(1)

πŸ“¦ version 1.1.1, in nixos 26.05, nixpkgs unstable

✨ EARTHLIKE πŸ’…

okay so bestie, welcome to EARTHLIKE(1) β€” it lives in the User Commands section of the manual, and it is literally about to make you a whole planet πŸͺβœ¨


🌍 NAME

earthlike β€” makes 6 images that form a cube map for an earth-like planet 🫢


πŸŽ€ SYNOPSIS

earthlike [ -b bumps ] [ -B initialbumps ] [ -d dimension ] [ -c craters ] [ -h input-heightmap-data.png ] [ -H output-heightmap-prefix ] [ -k shrink-factor ] [ -l input-land-colors.png ] [ -L land-fraction ] [ -n normal-map-output-prefix ] [ -o terrain-output-prefix ] [ -O oceanlevel ] [ -r recursion-limit ] [ -s bump-scatter-factor ] [ -S random-seed ] [ -w input-water-colors.png ] [ -z initial-bumpsize ]

πŸ’– DESCRIPTION

So earthlike takes a bunch of input image data β€” land colors, water colors, and heightmap data β€” and produces 6 images that form a cube map texture for an earth-like planet. icon behavior honestly 🌈

Here's the vibe of how it actually works, bestie. Six square arrays of vectors (representing heights) get arranged into an over inflated cube. Then a number of initial "bumps" get applied. Each "bump" deforms the vector field away from its initial sphere by making a "pimple" on the surface πŸ“ That pimple is modulated by heightfield data sampled from a random portion of the input heightmap data you gave it via the -h flag. And then that just... repeats over and over.

For each bump, smaller bumps are recursively added in the same vicinity until the bumps become "too small" β€” at which point the recursion stops, periodt. Once that whole process is done, the vector field now represents a sphere that has been deformed into something like terrain πŸ‘‘

The altitude, plus the sampled value of a 3d noise function, are used to index into the provided land-color and water-color images to determine a set of output images forming the terrain cubemap. And on top of all that? Heightmap and normal map cubemaps get output too. no cap, she does it all πŸ’œ


πŸ¦‹ OPTIONS

  • -b, --bumps β€” number of smaller bumps to recursively add to each bump. Default is 3. ✨
  • -B, --initialbumps β€” number of initial bumps to add. Default is 60. πŸ”₯
  • -d, --dimension β€” size of the (square) output images in pixels. Default is 1024 (for 1024x1024 images), minimum is 128, maximum is 2048. 🌸
  • -h, --height β€” name of the file containing input heightmap data. This should be an 8-bit/color RGB, non-interlaced PNG image file. πŸŽ€
  • -H, --heightmap-output β€” prefix for the name of the 6 output heightmap png image files. If this option is omitted but the -o option is used, then -heightmap is appended to the prefix specified for the -o option. If the -o option is also omitted, then heightmap will be used by default. 🧚
  • -k, --shrink β€” factor by which to shrink "sub-bumps" relative to "bumps" in the recursive bump-adding algorithm. Default value is 0.55. πŸ’«
  • -l, --land β€” name of the land color png input file. This should be an 8-bit/color RGB, non-interlaced PNG image. 🌈
  • -L, --land-fraction β€” approximate fraction of the planet that should be land. Range is 0.0 to 1.0. 🌍
  • -n, --normal β€” name of the prefix to use for filenames of output normal map images. If this option is omitted but the -o option is used, then -normalmap is appended to the prefix specified for the -o option. If the -o option is also omitted, then normalmap will be used by default. ⭐
  • -o, --output β€” name of the prefix to use for filenames of output terrain images. By default, terrainmap is used. πŸ‘‘
  • -O, --oceanlevel β€” value to use to determine sealevel. Default is 0.08. 🌊
  • -r, --rlimit β€” recursion limit, specified as the smallest radius a bump is allowed to be before the recursion is terminated. Default is 0.005. πŸ’€
  • -s, --scatter β€” bump scatter factor, as a fraction of the radius of the bump. Default is 1.5. πŸ¦‹
  • -S, --seed β€” random seed to use. Default is 31415. πŸ™ˆ
  • -w, --water β€” name of the input file to use for water colors; should be an 8-bit/color RGB, non-interlaced PNG image file. πŸ’™
  • -z, --bumpsize β€” radius of initial bumps, expressed as a multiplying factor of the planet radius. Default value is 0.04. πŸ’…
lowkey a heads up: -c, --craters shows up in the synopsis, but it doesn't have its own entry in the options list β€” so I'm not gonna invent behavior for it πŸ€·β€β™€οΈ

πŸ“ EXAMPLES

Here are some examples, bestie β€” steal them, they're iconic:

earthlike -B 400 -h heightdata.png -l land.png -w water.png -o yourplanet -S 31415 --bumpsize 0.5
earthlike -B 400 -b 1 -l cloud-gradient.png -w black-square.png -h ~/satellite-clouds.png -S 77573 --bumpsize 0.6 -o your-clouds

🌟 SEE ALSO

  • snis_client
  • snis_server
  • gaseous-giganticus
  • howto-generate-earthlike-planets.txt

okay that's the whole page, you ate that πŸ’…βœ¨ go make a planet fr fr πŸͺπŸ«Ά

β€” from the Space-Nerds-In-Space, dated Dec 2016, version EARTHLIKE(1) πŸŒˆπŸŽ€ (yes that's the footer, and yes I made it cute, you're welcome bestie πŸ’–)

πŸ“¦ where this page comes from