private void AddLineToState(int i) { var index = i * _tgaStride; var limit = index + _tgaStride; for (; index < limit; index++) { _state[index] += SRGBColorSpace.SrgbToLinear(_tgaImage[index]); } }
private void BlendLineFromState(int i) { var index = i * _tgaStride; var limit = index + _tgaStride; var invertedIndex = (_height - i - 1) * _bmpStride; while (index < limit) { _bmpImage[invertedIndex++] = SRGBColorSpace.LinearToSrgb(_state[index++] / _stateDivisor); } }