public override UnityEngine.Color GetColour(double x, double y) { UnityEngine.Color col1 = SourceModule.GetColour(x, y); float satChange = (float)SaturationModule.GetValue(x, y); // Read hsl: float h = col1.r; float s = col1.g; float l = col1.b; HslRgb.ToHsl(ref h, ref s, ref l); // Boost sat: s *= (1f + satChange); // Back to colour: HslRgb.ToRgb(ref h, ref s, ref l); // Now RGB: col1.r = h; col1.g = s; col1.b = l; return(col1); }
public override UnityEngine.Color GetColour(double x, double y) { UnityEngine.Color col1 = SourceModule.GetColour(x, y); float hueChange = (float)HueModule.GetValue(x, y); // Read hsl: float h = col1.r; float s = col1.g; float l = col1.b; HslRgb.ToHsl(ref h, ref s, ref l); // Cycle the hue: h = (h + hueChange) % 1f; // Back to colour: HslRgb.ToRgb(ref h, ref s, ref l); // Now RGB: col1.r = h; col1.g = s; col1.b = l; return(col1); }
public override UnityEngine.Color GetColour(double x, double y) { UnityEngine.Color col1 = SourceModule.GetColour(x, y); float hueChange = (float)HueModule.GetValue(x, y); float satChange = (float)SatModule.GetValue(x, y); float lumChange = (float)LumModule.GetValue(x, y); // Read hsl: float h = col1.r; float s = col1.g; float l = col1.b; HslRgb.ToHsl(ref h, ref s, ref l); // Boost all 3: h = (h + hueChange) % 1f; s *= 1f + satChange; l *= 1f + lumChange; // Back to colour: HslRgb.ToRgb(ref h, ref s, ref l); // Now RGB: col1.r = h; col1.g = s; col1.b = l; return(col1); }
public override UnityEngine.Color GetColour(double x, double y) { UnityEngine.Color col1 = SourceModule.GetColour(x, y); float brightnessChange = (float)BrightnessModule.GetValue(x, y); // Read hsl: float h = col1.r; float s = col1.g; float l = col1.b; HslRgb.ToHsl(ref h, ref s, ref l); // Boost brightness: l *= 1f + brightnessChange; // Back to colour: HslRgb.ToRgb(ref h, ref s, ref l); // Now RGB: col1.r = h; col1.g = s; col1.b = l; return(col1); }
public override UnityEngine.Color GetColour(double x, double y) { // Base colour is.. UnityEngine.Color col1 = SourceModule.GetColour(x, y); // Map to HSL: float r = col1.r; float g = col1.g; float b = col1.b; HslRgb.ToHsl(ref r, ref g, ref b); // RGB is now HSL. // Get a H range value: double hPoint = PerlinH.GetValue(x, y); // Get an S range value: double sPoint = PerlinS.GetValue(x, y); // Get an L range value: double lPoint = PerlinL.GetValue(x, y); // Read ranges: double halfHRange = RangeHModule.GetValue(x, y) * 0.5; double halfSRange = RangeSModule.GetValue(x, y) * 0.5; double halfLRange = RangeLModule.GetValue(x, y) * 0.5; // Slightly awkward naming here; this is all currently in HSL. // Map the hsl into the available range: r = r + (float)(halfHRange * hPoint); g = g + (float)(halfSRange * sPoint); b = b + (float)(halfLRange * lPoint); // Map to RGB: HslRgb.ToRgb(ref r, ref g, ref b); return(new UnityEngine.Color(r, g, b, col1.a)); }