public static LinearColor Convert(UnityEngine.Color color, float intensity) { var lc = GraphicsSettings.lightsUseLinearIntensity ? color.linear.RGBMultiplied(intensity) : color.RGBMultiplied(intensity).linear; float mcc = lc.maxColorComponent; if (mcc <= 0.0f) { return(LinearColor.Black()); } float mcc_rcp = 1.0f / lc.maxColorComponent; LinearColor c; c.m_red = lc.r * mcc_rcp; c.m_green = lc.g * mcc_rcp; c.m_blue = lc.b * mcc_rcp; c.m_intensity = mcc; return(c); }
public static LinearColor Convert(Color color, float intensity) { Color color2 = (!GraphicsSettings.lightsUseLinearIntensity) ? color.RGBMultiplied(intensity).linear : color.linear.RGBMultiplied(intensity); float maxColorComponent = color2.maxColorComponent; LinearColor result; if (maxColorComponent <= 0f) { result = LinearColor.Black(); } else { float num = 1f / color2.maxColorComponent; LinearColor linearColor; linearColor.m_red = color2.r * num; linearColor.m_green = color2.g * num; linearColor.m_blue = color2.b * num; linearColor.m_intensity = maxColorComponent; result = linearColor; } return(result); }
public static LinearColor Convert(Color color, float intensity) { Color color2 = GraphicsSettings.lightsUseLinearIntensity ? color.linear.RGBMultiplied(intensity) : color.RGBMultiplied(intensity).linear; float maxColorComponent = color2.maxColorComponent; bool flag = color2.r < 0f || color2.g < 0f || color2.b < 0f; if (flag) { throw new ArgumentOutOfRangeException(string.Concat(new string[] { "The input color to be converted must not contain negative values (red: ", color2.r.ToString(), ", green: ", color2.g.ToString(), ", blue: ", color2.b.ToString(), ")." })); } bool flag2 = maxColorComponent <= 1E-20f; LinearColor result; if (flag2) { result = LinearColor.Black(); } else { float num = 1f / color2.maxColorComponent; LinearColor linearColor; linearColor.m_red = color2.r * num; linearColor.m_green = color2.g * num; linearColor.m_blue = color2.b * num; linearColor.m_intensity = maxColorComponent; result = linearColor; } return(result); }
public static LinearColor Convert(UnityEngine.Color color, float intensity) { var lc = GraphicsSettings.lightsUseLinearIntensity ? color.linear.RGBMultiplied(intensity) : color.RGBMultiplied(intensity).linear; float mcc = lc.maxColorComponent; if (lc.r < 0.0f || lc.g < 0.0f || lc.b < 0.0f) { throw new System.ArgumentOutOfRangeException("The input color to be converted must not contain negative values (red: " + lc.r + ", green: " + lc.g + ", blue: " + lc.b + ")."); } if (mcc <= 1e-20f) { return(LinearColor.Black()); } float mcc_rcp = 1.0f / lc.maxColorComponent; LinearColor c; c.m_red = lc.r * mcc_rcp; c.m_green = lc.g * mcc_rcp; c.m_blue = lc.b * mcc_rcp; c.m_intensity = mcc; return(c); }