Beispiel #1
0
        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);
        }
Beispiel #2
0
        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             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)
        {
            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);
        }
Beispiel #5
0
        public override UnityEngine.Color GetColour(double x, double y)
        {
            // Read H:
            float h = (float)HueModule.GetValue(x, y);

            // Read S:
            float s = (float)SaturationModule.GetValue(x, y);

            // Read L:
            float l = (float)LumModule.GetValue(x, y);

            // Convert to RGB:
            HslRgb.ToRgb(ref h, ref s, ref l);

            // Now RGB.
            return(new Color(h, s, l, 1f));
        }
        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));
        }