rgbaToRgbFloat32 function
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]];
}
}