public static void decode(ref Color[] dst, Color32[] src, ColorMode inMode, bool useGamma) { if (inMode == ColorMode.RGBM8) { for (int i = 0; i < src.Length; ++i) { RGB.fromRGBM(ref dst[i], src[i], useGamma); } } else { pixelCopy(ref dst, 0, src, 0, src.Length); if (useGamma) { mset.Util.applyGamma(ref dst, Gamma.toLinear); } clearAlpha(ref dst); } }
public static void decode(ref Color[] dst, int dst_offset, Color32[] src, int src_offset, int count, ColorMode inMode, bool useGamma) { if (inMode == ColorMode.RGBM8) { for (int i = 0; i < count; ++i) { RGB.fromRGBM(ref dst[i + dst_offset], src[i + src_offset], useGamma); } } else { pixelCopy(ref dst, dst_offset, src, src_offset, count); if (useGamma) { Util.applyGamma(ref dst, Gamma.toLinear); } clearAlpha(ref dst, dst_offset, count); } }