getNoise2 method

double getNoise2(
  1. double x,
  2. double y
)

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);
  }
}