/// <summary> /// Converts the color from a particualr color space to the specified <see cref="ColorSpace"/>. /// </summary> /// <param name="color">The color.</param> /// <param name="sourceColorSpace">The color space of this instance.</param> /// <param name="colorSpace">The color space.</param> /// <returns>The color converted to the specified color space.</returns> public static Color3 ToColorSpace(this Color3 color, ColorSpace sourceColorSpace, ColorSpace colorSpace) { // Nothing to do? if (sourceColorSpace == colorSpace) { return(color); } return(sourceColorSpace == ColorSpace.Gamma ? color.ToLinear() : color.ToSRgb()); }