private static Texture2D Update1DSlider(Texture2D tex, int xSize, float const1, float const2, ref float oldConst1, ref float oldConst2, int idx, bool hsvSpace, float scale, float exposureValue, bool forceUpdate, TonemappingType tonemappingType)
{
if (((tex == null) || (const1 != oldConst1)) || ((const2 != oldConst2) || forceUpdate))
{
if (tex == null)
{
tex = MakeTexture(xSize, 2);
}
Color[] retval = new Color[xSize * 2];
Color black = Color.black;
Color rightGradient = Color.black;
switch (idx)
{
case 0:
black = new Color(0f, const1, const2, 1f);
rightGradient = new Color(1f, 0f, 0f, 0f);
break;
case 1:
black = new Color(const1, 0f, const2, 1f);
rightGradient = new Color(0f, 1f, 0f, 0f);
break;
case 2:
black = new Color(const1, const2, 0f, 1f);
rightGradient = new Color(0f, 0f, 1f, 0f);
break;
case 3:
black = new Color(0f, 0f, 0f, 1f);
rightGradient = new Color(1f, 1f, 1f, 0f);
break;
}
FillArea(xSize, 2, retval, black, rightGradient, new Color(0f, 0f, 0f, 0f));
if (hsvSpace)
{
HSVToRGBArray(retval, scale);
}
else
{
ScaleColors(retval, scale);
}
DoTonemapping(retval, exposureValue, tonemappingType);
oldConst1 = const1;
oldConst2 = const2;
tex.SetPixels(retval);
tex.Apply();
}
return tex;
}