rgbaToRgbFloat32 function

void rgbaToRgbFloat32(
  1. Uint8List rgbaData,
  2. Float32List output
)

Converts RGBA pixel data to a normalized RGB Float32List tensor in-place.

Normalizes each channel to 0.0..1.0. The alpha channel is discarded. This is the RGBA-input sibling of bgrBytesToRgbFloat32, for pixel data that already arrives in RGBA order (e.g. a web canvas readback).

Parameters:

  • rgbaData: RGBA pixel bytes (length must be a multiple of 4)
  • output: Pre-allocated buffer (length must be rgbaData.length * 3 ~/ 4)

Implementation

void rgbaToRgbFloat32(Uint8List rgbaData, Float32List output) {
  final Float32List lut = _lutUnit;
  int dst = 0;
  for (int src = 0; src < rgbaData.length; src += 4) {
    output[dst++] = lut[rgbaData[src]];
    output[dst++] = lut[rgbaData[src + 1]];
    output[dst++] = lut[rgbaData[src + 2]];
  }
}