Fast noise is a direct port from the implementations by Jordan Peck. The Dart version currently does not yet leverage SIMD for better performance.
fast_noise offers both 2D and 3D noise generation with noise2
and noise3
The following noise types are available:
Try out some settings here
import 'package:fast_noise/fast_noise.dart';
main() {
var arr2d = noise2(
width,
height,
noiseType: NoiseType.cellular,
octaves: 5,
frequency: 0.015,
cellularReturnType: CellularReturnType.distance2Add,
);
}
import 'package:fast_noise/fast_noise.dart';
main() {
var arr2d = noise2(
width,
height,
noiseType: NoiseType.perlin,
octaves: 3,
frequency: 0.05,
);
}
import 'package:fast_noise/fast_noise.dart';
main() {
var arr2d = noise2(
width,
height,
noiseType: NoiseType.simplexFractal,
octaves: 4,
frequency: 0.0075,
);
}
You can also call a noise type directly:
var noise = new ValueNoise(interp: Interp.quintic, octaves: 5);
// generate 512x512
for (int x = 0; x < 512; x++) {
for (int y = 0; y < 512; y++) {
noise.singleValueFractalBillow2(x.toDouble(), y.toDouble());
}
}
Please file feature requests and bugs at the issue tracker.