bluefireteam/fast_noise
Port of the fast noise algorithms
- Stars
- 52
- Forks
- 4
- Last push (UTC)
- Jul 27, 2023
- Project status
- Active
LanguagesDartHTMLCSS
Technical topics
Dependencies used
Dependency list 5 items
- fixnum
^1.1.0 - benchmark_harnessDevelopment
^2.2.2 - flame_lintDevelopment
^1.0.0 - imageDevelopment
^4.0.17 - testDevelopment
^1.24.4
Original README
English project snapshot. Visit GitHub for the latest content.
Expand / collapse project README
fast_noise
Fast noise is a direct port from the implementations by Jordan Peck. The Dart version currently does not yet leverage SIMD for better performance.
Usage
fast_noise offers both 2D and 3D noise generation with noise2 and noise3
The following noise types are available:
Demo
Try out some settings here
Examples
Cellular Noise
import 'package:fast_noise/fast_noise.dart';
main() {
var arr2d = noise2(
width,
height,
noiseType: NoiseType.cellular,
octaves: 5,
frequency: 0.015,
cellularReturnType: CellularReturnType.distance2Add,
);
}
Cellular Noise
import 'package:fast_noise/fast_noise.dart';
main() {
var arr2d = noise2(
width,
height,
noiseType: NoiseType.perlin,
octaves: 3,
frequency: 0.05,
);
}
Perlin Noise
import 'package:fast_noise/fast_noise.dart';
main() {
var arr2d = noise2(
width,
height,
noiseType: NoiseType.simplexFractal,
octaves: 4,
frequency: 0.0075,
);
}
Simplex Fractal Noise
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());
}
}
Features and bugs
Please file feature requests and bugs at the issue tracker.