Esempio n. 1
0
        /// <inheritdoc />
        public override void GenerateLut()
        {
            if (Lut == null || Lut.width != (int)Size.x || Lut.height != (int)Size.y)
            {
                DestroyLut();

                Lut = Helper.CreateTempTeture2D((int)Size.x, (int)Size.y, TextureFormat.ARGB32, false, false, false);
            }

            for (var y = 0; y < Lut.height; y++)
            {
                var t = y / (float)Lut.height;
                var a = BrighnessGradient.Evaluate(ReverseX ? (1.0f - t) : t);
                var b = Gradient.Evaluate(ReverseX ? (1.0f - t) : t);
                var c = a * b;

                c.a = c.grayscale;

                Lut.SetPixel(0, y, c);
            }

            // Make sure the last pixel is white
            Lut.SetPixel(0, Lut.height - 1, Color.white);

            Lut.wrapMode = TextureWrapMode.Clamp;

            Lut.Apply();
        }
Esempio n. 2
0
        /// <inheritdoc />
        public override void CalculateLut()
        {
            for (ushort x = 0; x < Lut.width; x++)
            {
                for (ushort y = 0; y < Lut.height; y++)
                {
                    var t             = (x / Size.x) - (NonLinear ? (ReverseY ? (y / Size.y) : ((Size.y - y) / Size.y)) : 0.0f);
                    var gradientColor = Gradient.Evaluate(ReverseX ? (1.0f - t) : t);

                    Lut.SetPixel(x, y, gradientColor);
                }
            }

            Lut.Apply();
        }
Esempio n. 3
0
        /// <inheritdoc />
        public override void CalculateLut()
        {
            for (var y = 0; y < Lut.height; y++)
            {
                var t = y / (float)Lut.height;
                var a = BrighnessGradient.Evaluate(ReverseX ? (1.0f - t) : t);
                var b = Gradient.Evaluate(ReverseX ? (1.0f - t) : t);
                var c = a * b;

                c.a = c.grayscale;

                Lut.SetPixel(0, y, c);
            }

            // Make sure the last pixel is white...
            Lut.SetPixel(0, Lut.height - 1, Color.white);

            // Make sure the wrapMode is good for penumbra...
            Lut.wrapMode = TextureWrapMode.Clamp;

            Lut.Apply();
        }
        /// <inheritdoc />
        public override void GenerateLut()
        {
            if (Lut == null || Lut.width != (int)Size.x || Lut.height != (int)Size.y)
            {
                DestroyLut();

                Lut          = Helper.CreateTempTeture2D((int)Size.x, (int)Size.y, TextureFormat.ARGB32, false, false, false);
                Lut.wrapMode = TextureWrapMode.Repeat;
            }

            for (ushort x = 0; x < Lut.width; x++)
            {
                for (ushort y = 0; y < Lut.height; y++)
                {
                    var t             = (x / Size.x) - (NonLinear ? (ReverseY ? (y / Size.y) : ((Size.y - y) / Size.y)) : 0.0f);
                    var gradientColor = Gradient.Evaluate(ReverseX ? (1.0f - t) : t);

                    Lut.SetPixel(x, y, gradientColor);
                }
            }

            Lut.Apply();
        }