feat(editor): add --gen-texture-lightbeam vertical-ray gradient

74th procedural texture: vertical light-beam / sun-ray
gradient. Each pixel's brightness is the product of two
fade factors:

  • vertical: 1.0 at the bright end, vFadeFrac at the dim
    end (direction flag selects bright-top 'd' or bright-
    bottom 'u')
  • radial: 1.0 inside the bright core (within beamHalfW of
    centerline), then linearly to 0.0 at the texture edge

Two-color blend from bgHex to beamHex by combined brightness.

Useful for dust-mote sunbeams through cathedral windows,
holy radiance auras, crystal glow halos, lighthouse beams,
projector / stage-light columns, ritual-summoning effects.
First procedural texture with a directional flag (u / d) —
flexible orientation for ceiling-down vs floor-up beams.
This commit is contained in:
Kelsi 2026-05-09 13:30:57 -07:00
parent 4565ce29e9
commit 74b8795aa3
3 changed files with 78 additions and 1 deletions

View file

@ -181,6 +181,8 @@ void printUsage(const char* argv0) {
std::printf(" Mold: Worley-noise field patches (cellars / dungeon walls / sewer overflow / fungal growth)\n");
std::printf(" --gen-texture-embroidery <out.png> <bgHex> <threadHex> [cellSize] [strokeW] [W H]\n");
std::printf(" Embroidery: grid of cross-stitch X marks (counted-thread textile / sampler / folk-art trim)\n");
std::printf(" --gen-texture-lightbeam <out.png> <bgHex> <beamHex> [beamHalfW] [vFadeFrac] [u|d] [W H]\n");
std::printf(" Lightbeam: vertical sun-ray gradient fading horizontally + vertically (sunbeam / holy radiance)\n");
std::printf(" --add-texture-to-zone <zoneDir> <png-path> [renameTo]\n");
std::printf(" Copy an existing PNG into <zoneDir> (optionally renaming it on the way in)\n");
std::printf(" --gen-mesh <wom-base> <cube|plane|sphere|cylinder|torus|cone|ramp> [size]\n");