getNoise2 method
2D noise at the given position using the current settings.
Returns a value bounded roughly in -1, 1.
Implementation
double getNoise2(double x, double y) {
x *= frequency;
y *= frequency;
switch (noiseType) {
case NoiseType.openSimplex2:
case NoiseType.openSimplex2S:
const double sqrt3 = 1.7320508075688772935274463415059;
const double f2 = 0.5 * (sqrt3 - 1);
final double t = (x + y) * f2;
x += t;
y += t;
break;
case NoiseType.cellular:
case NoiseType.perlin:
case NoiseType.value:
// No skew; these sample the frequency-scaled coordinates directly.
break;
}
switch (fractalType) {
case FractalType.none:
return _genNoiseSingle2(seed, x, y);
case FractalType.fbm:
return _genFractalFBm2(x, y);
case FractalType.ridged:
return _genFractalRidged2(x, y);
case FractalType.pingPong:
return _genFractalPingPong2(x, y);
}
}