5 releases
0.2.1 | Dec 17, 2021 |
---|---|
0.2.0 | Jan 23, 2021 |
0.1.2 | Sep 3, 2020 |
0.1.1 | Aug 17, 2020 |
0.1.0 | Aug 16, 2020 |
#1050 in Filesystem
38 downloads per month
Used in cfluid
19KB
272 lines
bluenoise-rs
bluenoise
provides an implementation of poisson disk sampling
in two dimensions, with glam
as the underlying maths library.
It aims to be fast, well documented and easy to use, taking
advantage of a few optimisations
to dramatically speed up compute speed.
Get Started
To get started, if you have cargo-edit
, simply run:
cargo add bluenoise
Otherwise, add bluenoise
to your Cargo.toml
.
[dependencies]
bluenoise = "0.2"
lib.rs
:
bluenoise-rs
bluenoise provides an implementation of poisson disk sampling
in two dimensions, with glam
as the underlying maths library.
It aims to be fast, well documented and easy to use, taking
advantage of a few optimisations
to dramatically speed up compute speed.
Examples
use bluenoise::BlueNoise;
use rand_pcg::Pcg64Mcg;
let mut noise = BlueNoise::<Pcg64Mcg>::new(50.0, 50.0, 10.0);
let noise = noise.with_samples(10).with_seed(10);
for point in noise.take(10) {
println!("{}, {}", point.x, point.y);
}
use bluenoise::WrappingBlueNoise;
use rand::SeedableRng;
use rand_pcg::Pcg64Mcg;
let mut noise = WrappingBlueNoise::from_rng(50.0, 50.0, 10.0, Pcg64Mcg::seed_from_u64(10));
let noise = noise.with_samples(10);
for point in noise.take(10) {
println!("{}, {}", point.x, point.y);
}
Dependencies
~4MB
~110K SLoC