// the find
Razaekel/noise-rs
Procedural noise generation library for Rust.
A pure-Rust procedural noise library covering Perlin, Simplex, OpenSimplex, SuperSimplex, Worley, and Value noise, plus a composable modifier/combiner system for building complex noise graphs. It's aimed at game developers and graphics programmers who need noise generation without pulling in C FFI or a game engine. Supports 2D, 3D, and 4D sampling.
The composable NoiseFn trait system is well-designed — you chain generators, modifiers, and combiners into a tree and the whole thing stays zero-cost. The example coverage is unusually thorough: every noise type and modifier has its own example with a rendered PNG output, which makes it easy to see what you're getting before writing code. Benchmarks exist for all the core functions, so you can actually measure tradeoffs between Perlin vs. SuperSimplex for your use case. Dual Apache/MIT licensing with no weird exceptions.
Last meaningful commit was February 2025 and the repo has open issues with no responses — maintenance looks effectively dormant. There's no SIMD acceleration or parallel sampling support, which matters if you're generating large noise maps at runtime rather than offline. The `images` feature brings in the image crate as a dependency just to write PNGs, which is heavy overhead if you only need the noise values. No serialization support for noise graphs, so if you want to save/load a procedural world configuration you have to roll that yourself.