/// <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(); }
/// <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(); }
/// <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(); }