#perlin-noise #simplex-noise #noise #rogue-like #simplex #perlin #gamedev

bracket-noise

Rust port of Auburn's amazing FastNoise library. Part of the bracket-lib family.

6 releases

0.8.7 Oct 4, 2022
0.8.2 Feb 10, 2021
0.8.1 Apr 29, 2020
0.7.0 Feb 22, 2020
0.1.0 Feb 21, 2020

#9 in #rogue-like

Download history 1362/week @ 2024-04-23 1152/week @ 2024-04-30 1036/week @ 2024-05-07 1209/week @ 2024-05-14 1333/week @ 2024-05-21 1393/week @ 2024-05-28 1247/week @ 2024-06-04 967/week @ 2024-06-11 1041/week @ 2024-06-18 1207/week @ 2024-06-25 255/week @ 2024-07-02 880/week @ 2024-07-09 1217/week @ 2024-07-16 1148/week @ 2024-07-23 1059/week @ 2024-07-30 1503/week @ 2024-08-06

5,170 downloads per month
Used in 9 crates (4 directly)

MIT license

155KB
4.5K SLoC

bracket-noise

Auburn's FastNoise library is amazing - it's fast, covers all the commonly used types of noise, and has been ported to many systems. This crate ports much of that functionality (more is being ported in each version) to Rust. It is part of the bracket-lib family of crates.

Using bracket-noise

To obtain bracket-noise, include the following in your Cargo.toml file:

[dependencies]
bracket-noise = "~0.8"

Examples

You may run examples with cargo run --example <name>. The examples use crossterm for easy terminal output.

  • simplex_fractal uses Fractal Simplex Noise to make a heightmap, and outputs it to your terminal.
  • perlin_fractal uses Fractal Perlin Noise to make a heightmap, and outputs it to your terminal.
  • white_noise outputs a randomized white noise sample to your terminal.
  • value outputs "value noise" to your terminal. This is a bit like white noise but smoother.
  • value_fractal outputs "fractal value noise" to your terminal.
  • cellular provides a dump of cellular noise. Until the functions to look up the base noise layer from another noise generator are implemented, this is of limited utility.
  • simplex_billow_quintic and simplex_rigid_hermite demonstrate some noise tweaking options.

Dependencies

~250–690KB
~12K SLoC