A deep technical exploration of a fast, non-simulated terrain erosion filter that produces realistic branching gullies and ridges. Building on prior work by Clay John and Felix Westin (Fewes) on Shadertoy, the author developed several key improvements over eight months: a 'fade approach' for preserving crisp peaks and valleys (vs. the original 'frequency approach'), stacked fading to prevent smaller gullies from overwriting larger ones, normalized gullies for consistent ridge sharpness, and straight gullies to ensure clean branching angles. Additional features include configurable ridge/crease rounding, pointy peak control, and a ridge map for rendering dendritic drainage streaks. The technique evaluates every point in isolation, making it GPU-friendly and suitable for infinite/chunked terrain generation. Full shader code is available on Shadertoy under the Mozilla Public License v2.
Table of contents
BackgroundThe basic ideaGenerating stripesPreserving peaksThe frequency approachThe fade approachThe quest for crisp, branching gulliesStacked fadingNormalized gulliesStraight gulliesNew coat of paintPointy peaksRounding of ridges and creasesWater drainageFuture workLinksAdditional notesSort: