bakeNoisePixels function Noise

Uint8List bakeNoisePixels(
  1. FastNoiseLite noise, {
  2. required int width,
  3. required int height,
  4. double originX = 0.0,
  5. double originY = 0.0,
  6. double cellSize = 1.0,
})

Evaluates noise over a width x height grid into grayscale RGBA8888 pixels (straight alpha 255).

The sample for pixel (px, py) is taken at (originX + px * cellSize, originY + py * cellSize) through FastNoiseLite.getNoise2 (so the instance's frequency and fractal settings apply), remapped from -1, 1 to 0, 255. Pair with bakeNoiseTexture for the GPU upload.

Implementation

Uint8List bakeNoisePixels(
  FastNoiseLite noise, {
  required int width,
  required int height,
  double originX = 0.0,
  double originY = 0.0,
  double cellSize = 1.0,
}) {
  final pixels = Uint8List(width * height * 4);
  var o = 0;
  for (var py = 0; py < height; py++) {
    final y = originY + py * cellSize;
    for (var px = 0; px < width; px++) {
      final v = noise.getNoise2(originX + px * cellSize, y);
      final byte = ((v * 0.5 + 0.5).clamp(0.0, 1.0) * 255.0).round();
      pixels[o] = byte;
      pixels[o + 1] = byte;
      pixels[o + 2] = byte;
      pixels[o + 3] = 255;
      o += 4;
    }
  }
  return pixels;
}