From 2ac6481c8edda8076a1a46a19ba4c6e2a8f1ec8f Mon Sep 17 00:00:00 2001 From: martin chacon Date: Sun, 22 Jun 2025 15:22:51 +0200 Subject: [PATCH 01/13] Caustics effect --- Pinta.Effects/CoreEffectsExtension.cs | 2 + Pinta.Effects/Effects/CausticsEffect.cs | 311 ++++++++++++++++++ .../Pinta.Effects.Tests/Assets/caustics1.png | Bin 0 -> 49167 bytes .../Pinta.Effects.Tests/Assets/caustics2.png | Bin 0 -> 107163 bytes .../Pinta.Effects.Tests/Assets/caustics3.png | Bin 0 -> 50393 bytes .../Pinta.Effects.Tests/Assets/caustics4.png | Bin 0 -> 60629 bytes tests/Pinta.Effects.Tests/EffectsTest.cs | 31 ++ 7 files changed, 344 insertions(+) create mode 100644 Pinta.Effects/Effects/CausticsEffect.cs create mode 100644 tests/Pinta.Effects.Tests/Assets/caustics1.png create mode 100644 tests/Pinta.Effects.Tests/Assets/caustics2.png create mode 100644 tests/Pinta.Effects.Tests/Assets/caustics3.png create mode 100644 tests/Pinta.Effects.Tests/Assets/caustics4.png diff --git a/Pinta.Effects/CoreEffectsExtension.cs b/Pinta.Effects/CoreEffectsExtension.cs index 0439297934..b095e0df75 100644 --- a/Pinta.Effects/CoreEffectsExtension.cs +++ b/Pinta.Effects/CoreEffectsExtension.cs @@ -59,6 +59,7 @@ public void Initialize () PintaCore.Effects.RegisterEffect (new AddNoiseEffect (services)); PintaCore.Effects.RegisterEffect (new AlignObjectEffect (services)); PintaCore.Effects.RegisterEffect (new BulgeEffect (services)); + PintaCore.Effects.RegisterEffect (new CausticsEffect (services)); PintaCore.Effects.RegisterEffect (new CloudsEffect (services)); PintaCore.Effects.RegisterEffect (new DentsEffect (services)); PintaCore.Effects.RegisterEffect (new DitheringEffect (services)); @@ -111,6 +112,7 @@ public void Uninitialize () PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); + PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs new file mode 100644 index 0000000000..f7a92a557c --- /dev/null +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -0,0 +1,311 @@ +// Copyright (c) 2025 Jerry Huxtable +// +// MIT License: http://www.opensource.org/licenses/mit-license.php +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// +// Ported to Pinta by Martin del Rio + +using System; +using System.Threading.Tasks; +using Cairo; +using Pinta.Core; +using Pinta.Gui.Widgets; + +namespace Pinta.Effects; + +public sealed class CausticsEffect : BaseEffect +{ + private readonly IChromeService chrome; + private readonly IPaletteService palette; + private readonly IWorkspaceService workspace; + + public sealed override bool IsTileable => false; + + public override string Name => Translations.GetString ("Caustics"); + + public override bool IsConfigurable => true; + + public override string EffectMenuCategory => Translations.GetString ("Render"); + + public CausticsData Data => (CausticsData) EffectData!; // NRT - Set in constructor + + private static readonly double s_rad = Math.Sin (0.1); + private static readonly double c_rad = Math.Cos (0.1); + + public CausticsEffect (IServiceProvider services) + { + chrome = services.GetService (); + palette = services.GetService (); + workspace = services.GetService (); + EffectData = new CausticsData (); + } + + public override Task LaunchConfiguration () + => chrome.LaunchSimpleEffectDialog (this, workspace); + + // Algorithm Code Ported From JH Labs + + private sealed record CausticsSettings ( + Size canvasSize, + int v, + int samples, + double dispersion, + double scale, + double invScale, + double d, + double focus, + double turbulence, + double time, + ColorBgra background, + RandomSeed seed); + private CausticsSettings CreateSettings (ImageSurface dest) + { + int valor = Data.Brightness / Math.Max (1, Data.Samples); + if (valor == 0) + valor = (Data.Brightness > 0 && Data.Samples > 0) ? 1 : 0; + + return new ( + canvasSize: dest.GetSize (), + v: valor, + samples: Data.Samples, + dispersion: Data.Dispersion, + scale: Data.Scale, + invScale: 1.0 / Data.Scale, + d: 0.95, + focus: 0.1 + Data.Amount, + seed: Data.Seed, + turbulence: Data.Turbulence, + background: palette.PrimaryColor.ToColorBgra (), + time: Data.Time); + } + + protected override void Render (ImageSurface src, ImageSurface dest, RectangleI roi) + { + CausticsSettings settings = CreateSettings (dest); + Random jitterRand = new (settings.seed.Value); + SeededPerlinNoise noiseGenerator = new (settings.seed.Value); + + Span dest_data = dest.GetPixelData (); + + foreach (var pixel in roi.GeneratePixelOffsets (settings.canvasSize)) + dest_data[pixel.memoryOffset] = settings.background; + + foreach (var pixel in roi.GeneratePixelOffsets (settings.canvasSize)) { + // Loop for multi-sampling + for (int s_sample = 0; s_sample < settings.samples; s_sample++) { + // Add random jitter for sampling + double sx = pixel.coordinates.X + jitterRand.NextDouble (); + double sy = pixel.coordinates.Y + jitterRand.NextDouble (); + + // Normalized coordinates for noise evaluation + double nx = sx * settings.invScale; + double ny = sy * settings.invScale; + + // Evaluate noise for displacement + double xDisplacement = Evaluate (settings, noiseGenerator, nx - settings.d, ny) - Evaluate (settings, noiseGenerator, nx + settings.d, ny); + double yDisplacement = Evaluate (settings, noiseGenerator, nx, ny + settings.d) - Evaluate (settings, noiseGenerator, nx, ny - settings.d); + + if (settings.dispersion > 0.0) { + for (int channel = 0; channel < 3; channel++) // R, G, B channels + { + double ca = (1.0 + channel * settings.dispersion); + double targetX = sx + settings.scale * settings.focus * xDisplacement * ca; + double targetY = sy + settings.scale * settings.focus * yDisplacement * ca; + + if (targetX >= 0 && targetX < settings.canvasSize.Width - 1 && + targetY >= 0 && targetY < settings.canvasSize.Height - 1) { + int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; + ColorBgra pixelColor = dest_data[dest_offset]; + + byte r = pixelColor.R; + byte g = pixelColor.G; + byte b = pixelColor.B; + + if (channel == 2) + r = (byte) Math.Min (255, r + settings.v); + else if (channel == 1) + g = (byte) Math.Min (255, g + settings.v); + else + b = (byte) Math.Min (255, b + settings.v); + + dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, pixelColor.A); + } + } + } else // No dispersion + { + double targetX = sx + settings.scale * settings.focus * xDisplacement; + double targetY = sy + settings.scale * settings.focus * yDisplacement; + + if (targetX >= 0 && targetX < settings.canvasSize.Width - 1 && + targetY >= 0 && targetY < settings.canvasSize.Height - 1) { + int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; + ColorBgra pixelColor = dest_data[dest_offset]; + + byte r = (byte) Math.Min (255, pixelColor.R + settings.v); + byte g = (byte) Math.Min (255, pixelColor.G + settings.v); + byte b = (byte) Math.Min (255, pixelColor.B + settings.v); + + dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, pixelColor.A); + } + } + } + } + } + private static double Evaluate (CausticsSettings settings, SeededPerlinNoise noiseGenerator, double x, double y) + { + double xt = s_rad * x + c_rad * settings.time; + double tt_eval = c_rad * x - c_rad * settings.time; + + double f = (settings.turbulence == 0.0) + ? noiseGenerator.Noise3 (xt, y, tt_eval) + : Turbulence2 (xt, y, tt_eval, settings.turbulence, noiseGenerator); + + return f; + } + + private static double Turbulence2 (double x, double y, double time, double octaves, SeededPerlinNoise noiseGenerator) + { + double value = 0.0; + double lacunarity = 2.0; + double f = 1.0; + + x += 371; + y += 529; + + for (int i = 0; i < (int) octaves; i++) { + value += noiseGenerator.Noise3 (x, y, time) / f; + x *= lacunarity; + y *= lacunarity; + f *= 2.0; + } + + double remainder = octaves - (int) octaves; + if (remainder != 0) + value += remainder * noiseGenerator.Noise3 (x, y, time) / f; + + return value; + } + + public sealed class CausticsData : EffectData // All CausticsData fields + { + [Caption ("Scale"), MinimumValue (1), MaximumValue (300)] + public double Scale { get; set; } = 32; + + [Caption ("Brightness"), MinimumValue (0), MaximumValue (100)] + public int Brightness { get; set; } = 10; + + [Caption ("Amount"), MinimumValue (0), MaximumValue (5)] + public double Amount { get; set; } = 1.0; + + [Caption ("Turbulence"), MinimumValue (0), MaximumValue (10)] + public double Turbulence { get; set; } = 1.0; + + [Caption ("Dispersion"), MinimumValue (0), MaximumValue (1)] + public double Dispersion { get; set; } = 0.0; + + [Caption ("Time (for animation)"), MinimumValue (0), MaximumValue (100)] + public double Time { get; set; } = 0.0; + + [Caption ("Samples"), MinimumValue (1), MaximumValue (10)] + public int Samples { get; set; } = 2; + + [Caption ("Seed")] + public RandomSeed Seed { get; set; } = new (0); + } +} + +internal sealed class SeededPerlinNoise +{ + private const int GRADIENT_SIZE = 256; + + private readonly int[] permutation = new int[GRADIENT_SIZE * 2]; + private readonly double[] gradient_x = new double[GRADIENT_SIZE]; + private readonly double[] gradient_y = new double[GRADIENT_SIZE]; + private readonly double[] gradient_z = new double[GRADIENT_SIZE]; + + // The constructor now takes a seed to generate a unique, repeatable noise pattern. + public SeededPerlinNoise (int seed) + { + var randomGen = new Random (seed); + int[] p = new int[GRADIENT_SIZE]; + + for (int i = 0; i < GRADIENT_SIZE; i++) + p[i] = i; + + for (int i = 0; i < GRADIENT_SIZE; i++) { + int j = randomGen.Next (GRADIENT_SIZE); + (p[i], p[j]) = (p[j], p[i]); + } + + for (int i = 0; i < GRADIENT_SIZE; i++) { + permutation[i] = permutation[i + GRADIENT_SIZE] = p[i]; + double invLen; + do { + gradient_x[i] = randomGen.NextDouble () * 2.0 - 1.0; + gradient_y[i] = randomGen.NextDouble () * 2.0 - 1.0; + gradient_z[i] = randomGen.NextDouble () * 2.0 - 1.0; + invLen = gradient_x[i] * gradient_x[i] + gradient_y[i] * gradient_y[i] + gradient_z[i] * gradient_z[i]; + } while (invLen == 0); + invLen = 1.0 / Math.Sqrt (invLen); + gradient_x[i] *= invLen; + gradient_y[i] *= invLen; + gradient_z[i] *= invLen; + } + } + + private static double Fade (double t) => t * t * t * (t * (t * 6 - 15) + 10); + private static double Lerp (double t, double a, double b) => a + t * (b - a); + private double Grad (int hash, double x, double y, double z) + { + int h = hash & (GRADIENT_SIZE - 1); + return gradient_x[h] * x + gradient_y[h] * y + gradient_z[h] * z; + } + + public double Noise3 (double x, double y, double z) + { + int X = (int) Math.Floor (x) & (GRADIENT_SIZE - 1); + int Y = (int) Math.Floor (y) & (GRADIENT_SIZE - 1); + int Z = (int) Math.Floor (z) & (GRADIENT_SIZE - 1); + + x -= Math.Floor (x); + y -= Math.Floor (y); + z -= Math.Floor (z); + + double u = Fade (x); + double v = Fade (y); + double w = Fade (z); + + int A = permutation[X] + Y; + int AA = permutation[A] + Z; + int AB = permutation[A + 1] + Z; + int B = permutation[X + 1] + Y; + int BA = permutation[B] + Z; + int BB = permutation[B + 1] + Z; + + return Lerp (w, Lerp (v, Lerp (u, Grad (permutation[AA], x, y, z), + Grad (permutation[BA], x - 1, y, z)), + Lerp (u, Grad (permutation[AB], x, y - 1, z), + Grad (permutation[BB], x - 1, y - 1, z))), + Lerp (v, Lerp (u, Grad (permutation[AA + 1], x, y, z - 1), + Grad (permutation[BA + 1], x - 1, y, z - 1)), + Lerp (u, Grad (permutation[AB + 1], x, y - 1, z - 1), + Grad (permutation[BB + 1], x - 1, y - 1, z - 1)))); + } +} diff --git a/tests/Pinta.Effects.Tests/Assets/caustics1.png b/tests/Pinta.Effects.Tests/Assets/caustics1.png new file mode 100644 index 0000000000000000000000000000000000000000..5c29866ef8d1eaac489e1a614195606a6f2972a3 GIT binary patch literal 49167 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

vN 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 literal 0 HcmV?d00001 diff --git a/tests/Pinta.Effects.Tests/Assets/caustics3.png b/tests/Pinta.Effects.Tests/Assets/caustics3.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b8a7587d350540cb9cefe306452c951821dce9 GIT binary patch literal 50393 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 literal 0 HcmV?d00001 diff --git a/tests/Pinta.Effects.Tests/Assets/caustics4.png b/tests/Pinta.Effects.Tests/Assets/caustics4.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3404d203bd1a0597fc77dac080de3213383550 GIT binary patch literal 60629 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 GHST{8 Date: Tue, 24 Jun 2025 19:00:26 +0200 Subject: [PATCH 02/13] Removed some redundant methods --- Pinta.Core/Algorithms/PerlinNoise.cs | 2 +- Pinta.Effects/Effects/CausticsEffect.cs | 63 +++++++++++++++++++------ 2 files changed, 50 insertions(+), 15 deletions(-) diff --git a/Pinta.Core/Algorithms/PerlinNoise.cs b/Pinta.Core/Algorithms/PerlinNoise.cs index f26d84e8d2..00296e76c3 100644 --- a/Pinta.Core/Algorithms/PerlinNoise.cs +++ b/Pinta.Core/Algorithms/PerlinNoise.cs @@ -63,7 +63,7 @@ static PerlinNoise () rot_22 = Math.Cos (rotationRadians.Radians); } - private static double Fade (double t) + public static double Fade (double t) => t * t * t * (t * (t * 6 - 15) + 10); /// diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index f7a92a557c..79e732f61e 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -269,9 +269,6 @@ public SeededPerlinNoise (int seed) gradient_z[i] *= invLen; } } - - private static double Fade (double t) => t * t * t * (t * (t * 6 - 15) + 10); - private static double Lerp (double t, double a, double b) => a + t * (b - a); private double Grad (int hash, double x, double y, double z) { int h = hash & (GRADIENT_SIZE - 1); @@ -288,9 +285,9 @@ public double Noise3 (double x, double y, double z) y -= Math.Floor (y); z -= Math.Floor (z); - double u = Fade (x); - double v = Fade (y); - double w = Fade (z); + double u = PerlinNoise.Fade (x); + double v = PerlinNoise.Fade (y); + double w = PerlinNoise.Fade (z); int A = permutation[X] + Y; int AA = permutation[A] + Z; @@ -299,13 +296,51 @@ public double Noise3 (double x, double y, double z) int BA = permutation[B] + Z; int BB = permutation[B + 1] + Z; - return Lerp (w, Lerp (v, Lerp (u, Grad (permutation[AA], x, y, z), - Grad (permutation[BA], x - 1, y, z)), - Lerp (u, Grad (permutation[AB], x, y - 1, z), - Grad (permutation[BB], x - 1, y - 1, z))), - Lerp (v, Lerp (u, Grad (permutation[AA + 1], x, y, z - 1), - Grad (permutation[BA + 1], x - 1, y, z - 1)), - Lerp (u, Grad (permutation[AB + 1], x, y - 1, z - 1), - Grad (permutation[BB + 1], x - 1, y - 1, z - 1)))); + return Mathematics.Lerp ( + Mathematics.Lerp ( + Mathematics.Lerp ( + Grad (permutation[AA], x, y, z), + Grad (permutation[BA], x - 1, y, z), + u), + Mathematics.Lerp ( + Grad ( + permutation[AB], + x, + y - 1, + z), + Grad ( + permutation[BB], + x - 1, + y - 1, + z), + u), + v), + Mathematics.Lerp ( + Mathematics.Lerp ( + Grad ( + permutation[AA + 1], + x, + y, + z - 1), + Grad ( + permutation[BA + 1], + x - 1, + y, + z - 1), + u), + Mathematics.Lerp ( + Grad ( + permutation[AB + 1], + x, + y - 1, + z - 1), + Grad ( + permutation[BB + 1], + x - 1, + y - 1, + z - 1), + u), + v), + w); } } From b81356ad3a1e92746760e68e720f1c9209154747 Mon Sep 17 00:00:00 2001 From: martin chacon Date: Tue, 24 Jun 2025 19:43:13 +0200 Subject: [PATCH 03/13] Moved noise algorithm to its own file --- Pinta.Core/Algorithms/ClassicNoise.cs | 141 ++++++++++++++++++++++++ Pinta.Core/Algorithms/PerlinNoise.cs | 2 +- Pinta.Effects/Effects/CausticsEffect.cs | 119 +------------------- 3 files changed, 145 insertions(+), 117 deletions(-) create mode 100644 Pinta.Core/Algorithms/ClassicNoise.cs diff --git a/Pinta.Core/Algorithms/ClassicNoise.cs b/Pinta.Core/Algorithms/ClassicNoise.cs new file mode 100644 index 0000000000..03973c226b --- /dev/null +++ b/Pinta.Core/Algorithms/ClassicNoise.cs @@ -0,0 +1,141 @@ +// Copyright (c) 2025 Jerry Huxtable +// +// MIT License: http://www.opensource.org/licenses/mit-license.php +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// +// Ported to Pinta by Martin del Rio + +using System; + +namespace Pinta.Core; + +public sealed class ClassicNoise +{ + private const int GRADIENT_SIZE = 256; + + private readonly int[] permutation = new int[GRADIENT_SIZE * 2]; + private readonly double[] gradient_x = new double[GRADIENT_SIZE]; + private readonly double[] gradient_y = new double[GRADIENT_SIZE]; + private readonly double[] gradient_z = new double[GRADIENT_SIZE]; + + // The constructor now takes a seed to generate a unique, repeatable noise pattern. + public ClassicNoise (int seed) + { + var randomGen = new Random (seed); + int[] p = new int[GRADIENT_SIZE]; + + for (int i = 0; i < GRADIENT_SIZE; i++) + p[i] = i; + + for (int i = 0; i < GRADIENT_SIZE; i++) { + int j = randomGen.Next (GRADIENT_SIZE); + (p[i], p[j]) = (p[j], p[i]); + } + + for (int i = 0; i < GRADIENT_SIZE; i++) { + permutation[i] = permutation[i + GRADIENT_SIZE] = p[i]; + double invLen; + do { + gradient_x[i] = randomGen.NextDouble () * 2.0 - 1.0; + gradient_y[i] = randomGen.NextDouble () * 2.0 - 1.0; + gradient_z[i] = randomGen.NextDouble () * 2.0 - 1.0; + invLen = gradient_x[i] * gradient_x[i] + gradient_y[i] * gradient_y[i] + gradient_z[i] * gradient_z[i]; + } while (invLen == 0); + invLen = 1.0 / Math.Sqrt (invLen); + gradient_x[i] *= invLen; + gradient_y[i] *= invLen; + gradient_z[i] *= invLen; + } + } + private double Grad (int hash, double x, double y, double z) + { + int h = hash & (GRADIENT_SIZE - 1); + return gradient_x[h] * x + gradient_y[h] * y + gradient_z[h] * z; + } + + public double Noise3 (double x, double y, double z) + { + int X = (int) Math.Floor (x) & (GRADIENT_SIZE - 1); + int Y = (int) Math.Floor (y) & (GRADIENT_SIZE - 1); + int Z = (int) Math.Floor (z) & (GRADIENT_SIZE - 1); + + x -= Math.Floor (x); + y -= Math.Floor (y); + z -= Math.Floor (z); + + double u = PerlinNoise.Fade (x); + double v = PerlinNoise.Fade (y); + double w = PerlinNoise.Fade (z); + + int A = permutation[X] + Y; + int AA = permutation[A] + Z; + int AB = permutation[A + 1] + Z; + int B = permutation[X + 1] + Y; + int BA = permutation[B] + Z; + int BB = permutation[B + 1] + Z; + + return Mathematics.Lerp ( + Mathematics.Lerp ( + Mathematics.Lerp ( + Grad (permutation[AA], x, y, z), + Grad (permutation[BA], x - 1, y, z), + u), + Mathematics.Lerp ( + Grad ( + permutation[AB], + x, + y - 1, + z), + Grad ( + permutation[BB], + x - 1, + y - 1, + z), + u), + v), + Mathematics.Lerp ( + Mathematics.Lerp ( + Grad ( + permutation[AA + 1], + x, + y, + z - 1), + Grad ( + permutation[BA + 1], + x - 1, + y, + z - 1), + u), + Mathematics.Lerp ( + Grad ( + permutation[AB + 1], + x, + y - 1, + z - 1), + Grad ( + permutation[BB + 1], + x - 1, + y - 1, + z - 1), + u), + v), + w); + } +} diff --git a/Pinta.Core/Algorithms/PerlinNoise.cs b/Pinta.Core/Algorithms/PerlinNoise.cs index 00296e76c3..347891987d 100644 --- a/Pinta.Core/Algorithms/PerlinNoise.cs +++ b/Pinta.Core/Algorithms/PerlinNoise.cs @@ -63,7 +63,7 @@ static PerlinNoise () rot_22 = Math.Cos (rotationRadians.Radians); } - public static double Fade (double t) + internal static double Fade (double t) => t * t * t * (t * (t * 6 - 15) + 10); /// diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index 79e732f61e..22d1717b6a 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -100,7 +100,7 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI { CausticsSettings settings = CreateSettings (dest); Random jitterRand = new (settings.seed.Value); - SeededPerlinNoise noiseGenerator = new (settings.seed.Value); + ClassicNoise noiseGenerator = new (settings.seed.Value); Span dest_data = dest.GetPixelData (); @@ -168,7 +168,7 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI } } } - private static double Evaluate (CausticsSettings settings, SeededPerlinNoise noiseGenerator, double x, double y) + private static double Evaluate (CausticsSettings settings, ClassicNoise noiseGenerator, double x, double y) { double xt = s_rad * x + c_rad * settings.time; double tt_eval = c_rad * x - c_rad * settings.time; @@ -180,7 +180,7 @@ private static double Evaluate (CausticsSettings settings, SeededPerlinNoise noi return f; } - private static double Turbulence2 (double x, double y, double time, double octaves, SeededPerlinNoise noiseGenerator) + private static double Turbulence2 (double x, double y, double time, double octaves, ClassicNoise noiseGenerator) { double value = 0.0; double lacunarity = 2.0; @@ -231,116 +231,3 @@ public sealed class CausticsData : EffectData // All CausticsData fields } } -internal sealed class SeededPerlinNoise -{ - private const int GRADIENT_SIZE = 256; - - private readonly int[] permutation = new int[GRADIENT_SIZE * 2]; - private readonly double[] gradient_x = new double[GRADIENT_SIZE]; - private readonly double[] gradient_y = new double[GRADIENT_SIZE]; - private readonly double[] gradient_z = new double[GRADIENT_SIZE]; - - // The constructor now takes a seed to generate a unique, repeatable noise pattern. - public SeededPerlinNoise (int seed) - { - var randomGen = new Random (seed); - int[] p = new int[GRADIENT_SIZE]; - - for (int i = 0; i < GRADIENT_SIZE; i++) - p[i] = i; - - for (int i = 0; i < GRADIENT_SIZE; i++) { - int j = randomGen.Next (GRADIENT_SIZE); - (p[i], p[j]) = (p[j], p[i]); - } - - for (int i = 0; i < GRADIENT_SIZE; i++) { - permutation[i] = permutation[i + GRADIENT_SIZE] = p[i]; - double invLen; - do { - gradient_x[i] = randomGen.NextDouble () * 2.0 - 1.0; - gradient_y[i] = randomGen.NextDouble () * 2.0 - 1.0; - gradient_z[i] = randomGen.NextDouble () * 2.0 - 1.0; - invLen = gradient_x[i] * gradient_x[i] + gradient_y[i] * gradient_y[i] + gradient_z[i] * gradient_z[i]; - } while (invLen == 0); - invLen = 1.0 / Math.Sqrt (invLen); - gradient_x[i] *= invLen; - gradient_y[i] *= invLen; - gradient_z[i] *= invLen; - } - } - private double Grad (int hash, double x, double y, double z) - { - int h = hash & (GRADIENT_SIZE - 1); - return gradient_x[h] * x + gradient_y[h] * y + gradient_z[h] * z; - } - - public double Noise3 (double x, double y, double z) - { - int X = (int) Math.Floor (x) & (GRADIENT_SIZE - 1); - int Y = (int) Math.Floor (y) & (GRADIENT_SIZE - 1); - int Z = (int) Math.Floor (z) & (GRADIENT_SIZE - 1); - - x -= Math.Floor (x); - y -= Math.Floor (y); - z -= Math.Floor (z); - - double u = PerlinNoise.Fade (x); - double v = PerlinNoise.Fade (y); - double w = PerlinNoise.Fade (z); - - int A = permutation[X] + Y; - int AA = permutation[A] + Z; - int AB = permutation[A + 1] + Z; - int B = permutation[X + 1] + Y; - int BA = permutation[B] + Z; - int BB = permutation[B + 1] + Z; - - return Mathematics.Lerp ( - Mathematics.Lerp ( - Mathematics.Lerp ( - Grad (permutation[AA], x, y, z), - Grad (permutation[BA], x - 1, y, z), - u), - Mathematics.Lerp ( - Grad ( - permutation[AB], - x, - y - 1, - z), - Grad ( - permutation[BB], - x - 1, - y - 1, - z), - u), - v), - Mathematics.Lerp ( - Mathematics.Lerp ( - Grad ( - permutation[AA + 1], - x, - y, - z - 1), - Grad ( - permutation[BA + 1], - x - 1, - y, - z - 1), - u), - Mathematics.Lerp ( - Grad ( - permutation[AB + 1], - x, - y - 1, - z - 1), - Grad ( - permutation[BB + 1], - x - 1, - y - 1, - z - 1), - u), - v), - w); - } -} From 7dfd6f7ef4d42dcecdc09c3b27f5ad25deced074 Mon Sep 17 00:00:00 2001 From: martin chacon Date: Fri, 27 Jun 2025 17:49:46 +0200 Subject: [PATCH 04/13] Update name to PerlinNoise3D --- Pinta.Core/Algorithms/PerlinNoise.cs | 2 +- .../Algorithms/PerlinNoise3D.cs | 7 ++++--- Pinta.Effects/Effects/CausticsEffect.cs | 6 +++--- 3 files changed, 8 insertions(+), 7 deletions(-) rename Pinta.Core/Algorithms/ClassicNoise.cs => Pinta.Effects/Algorithms/PerlinNoise3D.cs (97%) diff --git a/Pinta.Core/Algorithms/PerlinNoise.cs b/Pinta.Core/Algorithms/PerlinNoise.cs index 347891987d..00296e76c3 100644 --- a/Pinta.Core/Algorithms/PerlinNoise.cs +++ b/Pinta.Core/Algorithms/PerlinNoise.cs @@ -63,7 +63,7 @@ static PerlinNoise () rot_22 = Math.Cos (rotationRadians.Radians); } - internal static double Fade (double t) + public static double Fade (double t) => t * t * t * (t * (t * 6 - 15) + 10); /// diff --git a/Pinta.Core/Algorithms/ClassicNoise.cs b/Pinta.Effects/Algorithms/PerlinNoise3D.cs similarity index 97% rename from Pinta.Core/Algorithms/ClassicNoise.cs rename to Pinta.Effects/Algorithms/PerlinNoise3D.cs index 03973c226b..81bf610565 100644 --- a/Pinta.Core/Algorithms/ClassicNoise.cs +++ b/Pinta.Effects/Algorithms/PerlinNoise3D.cs @@ -23,10 +23,11 @@ // Ported to Pinta by Martin del Rio using System; +using Pinta.Core; -namespace Pinta.Core; +namespace Pinta.Effects; -public sealed class ClassicNoise +public sealed class PerlinNoise3D { private const int GRADIENT_SIZE = 256; @@ -36,7 +37,7 @@ public sealed class ClassicNoise private readonly double[] gradient_z = new double[GRADIENT_SIZE]; // The constructor now takes a seed to generate a unique, repeatable noise pattern. - public ClassicNoise (int seed) + public PerlinNoise3D (int seed) { var randomGen = new Random (seed); int[] p = new int[GRADIENT_SIZE]; diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index 22d1717b6a..bf3a2d7e7f 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -100,7 +100,7 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI { CausticsSettings settings = CreateSettings (dest); Random jitterRand = new (settings.seed.Value); - ClassicNoise noiseGenerator = new (settings.seed.Value); + PerlinNoise3D noiseGenerator = new (settings.seed.Value); Span dest_data = dest.GetPixelData (); @@ -168,7 +168,7 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI } } } - private static double Evaluate (CausticsSettings settings, ClassicNoise noiseGenerator, double x, double y) + private static double Evaluate (CausticsSettings settings, PerlinNoise3D noiseGenerator, double x, double y) { double xt = s_rad * x + c_rad * settings.time; double tt_eval = c_rad * x - c_rad * settings.time; @@ -180,7 +180,7 @@ private static double Evaluate (CausticsSettings settings, ClassicNoise noiseGen return f; } - private static double Turbulence2 (double x, double y, double time, double octaves, ClassicNoise noiseGenerator) + private static double Turbulence2 (double x, double y, double time, double octaves, PerlinNoise3D noiseGenerator) { double value = 0.0; double lacunarity = 2.0; From 4acb20a9d906a43cf2533fab6e05f0db957bfdf5 Mon Sep 17 00:00:00 2001 From: martin chacon Date: Fri, 27 Jun 2025 17:56:32 +0200 Subject: [PATCH 05/13] Named updated to Time Offset. --- Pinta.Effects/Effects/CausticsEffect.cs | 6 +++--- tests/Pinta.Effects.Tests/EffectsTest.cs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index bf3a2d7e7f..70c0965c46 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -93,7 +93,7 @@ private CausticsSettings CreateSettings (ImageSurface dest) seed: Data.Seed, turbulence: Data.Turbulence, background: palette.PrimaryColor.ToColorBgra (), - time: Data.Time); + time: Data.TimeOffset); } protected override void Render (ImageSurface src, ImageSurface dest, RectangleI roi) @@ -220,8 +220,8 @@ public sealed class CausticsData : EffectData // All CausticsData fields [Caption ("Dispersion"), MinimumValue (0), MaximumValue (1)] public double Dispersion { get; set; } = 0.0; - [Caption ("Time (for animation)"), MinimumValue (0), MaximumValue (100)] - public double Time { get; set; } = 0.0; + [Caption ("Time Offset"), MinimumValue (0), MaximumValue (100)] + public double TimeOffset { get; set; } = 0.0; [Caption ("Samples"), MinimumValue (1), MaximumValue (10)] public int Samples { get; set; } = 2; diff --git a/tests/Pinta.Effects.Tests/EffectsTest.cs b/tests/Pinta.Effects.Tests/EffectsTest.cs index 9442b75acb..dbf63981b5 100644 --- a/tests/Pinta.Effects.Tests/EffectsTest.cs +++ b/tests/Pinta.Effects.Tests/EffectsTest.cs @@ -76,7 +76,7 @@ public void Caustics2 () public void Caustics3 () { CausticsEffect effect = new CausticsEffect (Utilities.CreateMockServices ()); - effect.Data.Time = 100.0; + effect.Data.TimeOffset = 100.0; Utilities.TestEffect (effect, "caustics3.png"); } From b5c73d4bda6b62827edc49da9010157f957ab09d Mon Sep 17 00:00:00 2001 From: martin chacon Date: Fri, 27 Jun 2025 18:23:00 +0200 Subject: [PATCH 06/13] Conversion to the premultiplied alpha. --- Pinta.Effects/Effects/CausticsEffect.cs | 41 ++++++++++++++++++------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index 70c0965c46..16a9e96984 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -134,18 +134,27 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; ColorBgra pixelColor = dest_data[dest_offset]; - byte r = pixelColor.R; - byte g = pixelColor.G; - byte b = pixelColor.B; + byte a = pixelColor.A; + + double alphaFactor = a / 255.0; + + double r = (a == 0) ? 0 : pixelColor.R / alphaFactor; + double g = (a == 0) ? 0 : pixelColor.G / alphaFactor; + double b = (a == 0) ? 0 : pixelColor.B / alphaFactor; if (channel == 2) - r = (byte) Math.Min (255, r + settings.v); + r = Math.Min (255, r + settings.v); else if (channel == 1) - g = (byte) Math.Min (255, g + settings.v); + g = Math.Min (255, g + settings.v); else - b = (byte) Math.Min (255, b + settings.v); + b = Math.Min (255, b + settings.v); + + // Re-premultiply + r = r * alphaFactor; + g = g * alphaFactor; + b = b * alphaFactor; - dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, pixelColor.A); + dest_data[dest_offset] = ColorBgra.FromBgra ((byte) b, (byte) g, (byte) r, a); } } } else // No dispersion @@ -157,12 +166,22 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI targetY >= 0 && targetY < settings.canvasSize.Height - 1) { int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; ColorBgra pixelColor = dest_data[dest_offset]; + byte a = pixelColor.A; + double alphaFactor = a / 255.0; + + double r = (a == 0) ? 0 : pixelColor.R / alphaFactor; + double g = (a == 0) ? 0 : pixelColor.G / alphaFactor; + double b = (a == 0) ? 0 : pixelColor.B / alphaFactor; + + r = Math.Min (255, r + settings.v); + g = Math.Min (255, g + settings.v); + b = Math.Min (255, b + settings.v); - byte r = (byte) Math.Min (255, pixelColor.R + settings.v); - byte g = (byte) Math.Min (255, pixelColor.G + settings.v); - byte b = (byte) Math.Min (255, pixelColor.B + settings.v); + r = r * alphaFactor; + g = g * alphaFactor; + b = b * alphaFactor; - dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, pixelColor.A); + dest_data[dest_offset] = ColorBgra.FromBgra ((byte) b, (byte) g, (byte) r, a); } } } From 620ddea16948ccd6bca2acb4791698ced7eab4d5 Mon Sep 17 00:00:00 2001 From: martin chacon Date: Fri, 27 Jun 2025 18:39:39 +0200 Subject: [PATCH 07/13] Make code more concise --- Pinta.Effects/Effects/CausticsEffect.cs | 59 ++++++++----------------- 1 file changed, 18 insertions(+), 41 deletions(-) diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index 16a9e96984..4865e34b01 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -95,6 +95,19 @@ private CausticsSettings CreateSettings (ImageSurface dest) background: palette.PrimaryColor.ToColorBgra (), time: Data.TimeOffset); } + static ColorBgra AddPremultipliedBrightness (ColorBgra premult, int brightness) + { + // Convert to straight-alpha (undo premultiplied) + var straight = premult.ToStraightAlpha (); + // Bump each channel + straight = ColorBgra.FromBgraClamped ( + straight.B + brightness, + straight.G + brightness, + straight.R + brightness, + straight.A); + // Re-premultiply + return straight.ToPremultipliedAlpha (); + } protected override void Render (ImageSurface src, ImageSurface dest, RectangleI roi) { @@ -131,30 +144,9 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI if (targetX >= 0 && targetX < settings.canvasSize.Width - 1 && targetY >= 0 && targetY < settings.canvasSize.Height - 1) { - int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; - ColorBgra pixelColor = dest_data[dest_offset]; - - byte a = pixelColor.A; - - double alphaFactor = a / 255.0; - - double r = (a == 0) ? 0 : pixelColor.R / alphaFactor; - double g = (a == 0) ? 0 : pixelColor.G / alphaFactor; - double b = (a == 0) ? 0 : pixelColor.B / alphaFactor; - - if (channel == 2) - r = Math.Min (255, r + settings.v); - else if (channel == 1) - g = Math.Min (255, g + settings.v); - else - b = Math.Min (255, b + settings.v); - - // Re-premultiply - r = r * alphaFactor; - g = g * alphaFactor; - b = b * alphaFactor; - - dest_data[dest_offset] = ColorBgra.FromBgra ((byte) b, (byte) g, (byte) r, a); + int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; int dst = dest_offset; + // only one call instead of manual alphaFactor gymnastics: + dest_data[dst] = AddPremultipliedBrightness (dest_data[dst], settings.v); } } } else // No dispersion @@ -165,23 +157,8 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI if (targetX >= 0 && targetX < settings.canvasSize.Width - 1 && targetY >= 0 && targetY < settings.canvasSize.Height - 1) { int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; - ColorBgra pixelColor = dest_data[dest_offset]; - byte a = pixelColor.A; - double alphaFactor = a / 255.0; - - double r = (a == 0) ? 0 : pixelColor.R / alphaFactor; - double g = (a == 0) ? 0 : pixelColor.G / alphaFactor; - double b = (a == 0) ? 0 : pixelColor.B / alphaFactor; - - r = Math.Min (255, r + settings.v); - g = Math.Min (255, g + settings.v); - b = Math.Min (255, b + settings.v); - - r = r * alphaFactor; - g = g * alphaFactor; - b = b * alphaFactor; - - dest_data[dest_offset] = ColorBgra.FromBgra ((byte) b, (byte) g, (byte) r, a); + int dst = dest_offset; + dest_data[dst] = AddPremultipliedBrightness (dest_data[dst], settings.v); } } } From 4b5768db495430e7e4a02216c548c94347472bb4 Mon Sep 17 00:00:00 2001 From: martin chacon Date: Fri, 27 Jun 2025 18:53:13 +0200 Subject: [PATCH 08/13] Revert "Make code more concise" This reverts commit 620ddea16948ccd6bca2acb4791698ced7eab4d5. --- Pinta.Effects/Effects/CausticsEffect.cs | 59 +++++++++++++++++-------- 1 file changed, 41 insertions(+), 18 deletions(-) diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index 4865e34b01..16a9e96984 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -95,19 +95,6 @@ private CausticsSettings CreateSettings (ImageSurface dest) background: palette.PrimaryColor.ToColorBgra (), time: Data.TimeOffset); } - static ColorBgra AddPremultipliedBrightness (ColorBgra premult, int brightness) - { - // Convert to straight-alpha (undo premultiplied) - var straight = premult.ToStraightAlpha (); - // Bump each channel - straight = ColorBgra.FromBgraClamped ( - straight.B + brightness, - straight.G + brightness, - straight.R + brightness, - straight.A); - // Re-premultiply - return straight.ToPremultipliedAlpha (); - } protected override void Render (ImageSurface src, ImageSurface dest, RectangleI roi) { @@ -144,9 +131,30 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI if (targetX >= 0 && targetX < settings.canvasSize.Width - 1 && targetY >= 0 && targetY < settings.canvasSize.Height - 1) { - int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; int dst = dest_offset; - // only one call instead of manual alphaFactor gymnastics: - dest_data[dst] = AddPremultipliedBrightness (dest_data[dst], settings.v); + int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; + ColorBgra pixelColor = dest_data[dest_offset]; + + byte a = pixelColor.A; + + double alphaFactor = a / 255.0; + + double r = (a == 0) ? 0 : pixelColor.R / alphaFactor; + double g = (a == 0) ? 0 : pixelColor.G / alphaFactor; + double b = (a == 0) ? 0 : pixelColor.B / alphaFactor; + + if (channel == 2) + r = Math.Min (255, r + settings.v); + else if (channel == 1) + g = Math.Min (255, g + settings.v); + else + b = Math.Min (255, b + settings.v); + + // Re-premultiply + r = r * alphaFactor; + g = g * alphaFactor; + b = b * alphaFactor; + + dest_data[dest_offset] = ColorBgra.FromBgra ((byte) b, (byte) g, (byte) r, a); } } } else // No dispersion @@ -157,8 +165,23 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI if (targetX >= 0 && targetX < settings.canvasSize.Width - 1 && targetY >= 0 && targetY < settings.canvasSize.Height - 1) { int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; - int dst = dest_offset; - dest_data[dst] = AddPremultipliedBrightness (dest_data[dst], settings.v); + ColorBgra pixelColor = dest_data[dest_offset]; + byte a = pixelColor.A; + double alphaFactor = a / 255.0; + + double r = (a == 0) ? 0 : pixelColor.R / alphaFactor; + double g = (a == 0) ? 0 : pixelColor.G / alphaFactor; + double b = (a == 0) ? 0 : pixelColor.B / alphaFactor; + + r = Math.Min (255, r + settings.v); + g = Math.Min (255, g + settings.v); + b = Math.Min (255, b + settings.v); + + r = r * alphaFactor; + g = g * alphaFactor; + b = b * alphaFactor; + + dest_data[dest_offset] = ColorBgra.FromBgra ((byte) b, (byte) g, (byte) r, a); } } } From af0b3afd36d59c8a8fe96ef94a17450241cdbe88 Mon Sep 17 00:00:00 2001 From: martin chacon Date: Fri, 27 Jun 2025 19:05:33 +0200 Subject: [PATCH 09/13] Revert "Conversion to the premultiplied alpha." This reverts commit b5c73d4bda6b62827edc49da9010157f957ab09d. --- Pinta.Effects/Effects/CausticsEffect.cs | 41 +++++++------------------ 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index 16a9e96984..70c0965c46 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -134,27 +134,18 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; ColorBgra pixelColor = dest_data[dest_offset]; - byte a = pixelColor.A; - - double alphaFactor = a / 255.0; - - double r = (a == 0) ? 0 : pixelColor.R / alphaFactor; - double g = (a == 0) ? 0 : pixelColor.G / alphaFactor; - double b = (a == 0) ? 0 : pixelColor.B / alphaFactor; + byte r = pixelColor.R; + byte g = pixelColor.G; + byte b = pixelColor.B; if (channel == 2) - r = Math.Min (255, r + settings.v); + r = (byte) Math.Min (255, r + settings.v); else if (channel == 1) - g = Math.Min (255, g + settings.v); + g = (byte) Math.Min (255, g + settings.v); else - b = Math.Min (255, b + settings.v); - - // Re-premultiply - r = r * alphaFactor; - g = g * alphaFactor; - b = b * alphaFactor; + b = (byte) Math.Min (255, b + settings.v); - dest_data[dest_offset] = ColorBgra.FromBgra ((byte) b, (byte) g, (byte) r, a); + dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, pixelColor.A); } } } else // No dispersion @@ -166,22 +157,12 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI targetY >= 0 && targetY < settings.canvasSize.Height - 1) { int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; ColorBgra pixelColor = dest_data[dest_offset]; - byte a = pixelColor.A; - double alphaFactor = a / 255.0; - - double r = (a == 0) ? 0 : pixelColor.R / alphaFactor; - double g = (a == 0) ? 0 : pixelColor.G / alphaFactor; - double b = (a == 0) ? 0 : pixelColor.B / alphaFactor; - - r = Math.Min (255, r + settings.v); - g = Math.Min (255, g + settings.v); - b = Math.Min (255, b + settings.v); - r = r * alphaFactor; - g = g * alphaFactor; - b = b * alphaFactor; + byte r = (byte) Math.Min (255, pixelColor.R + settings.v); + byte g = (byte) Math.Min (255, pixelColor.G + settings.v); + byte b = (byte) Math.Min (255, pixelColor.B + settings.v); - dest_data[dest_offset] = ColorBgra.FromBgra ((byte) b, (byte) g, (byte) r, a); + dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, pixelColor.A); } } } From bf4cbff2c46a092b48660d6c1cab711a04466632 Mon Sep 17 00:00:00 2001 From: martin chacon Date: Fri, 27 Jun 2025 19:29:01 +0200 Subject: [PATCH 10/13] validated solution of alpha. --- Pinta.Effects/Effects/CausticsEffect.cs | 26 ++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index 70c0965c46..835fd3d9e7 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -92,7 +92,7 @@ private CausticsSettings CreateSettings (ImageSurface dest) focus: 0.1 + Data.Amount, seed: Data.Seed, turbulence: Data.Turbulence, - background: palette.PrimaryColor.ToColorBgra (), + background: palette.PrimaryColor.ToColorBgra ().ToPremultipliedAlpha (), time: Data.TimeOffset); } @@ -138,14 +138,19 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI byte g = pixelColor.G; byte b = pixelColor.B; - if (channel == 2) + if (channel == 2) // Red r = (byte) Math.Min (255, r + settings.v); - else if (channel == 1) + else if (channel == 1) // Green g = (byte) Math.Min (255, g + settings.v); - else + else // Blue b = (byte) Math.Min (255, b + settings.v); - dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, pixelColor.A); + byte a = (byte) Math.Min (255, pixelColor.A + settings.v); + b = Math.Min (b, a); + g = Math.Min (g, a); + r = Math.Min (r, a); + + dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, a); } } } else // No dispersion @@ -156,13 +161,16 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI if (targetX >= 0 && targetX < settings.canvasSize.Width - 1 && targetY >= 0 && targetY < settings.canvasSize.Height - 1) { int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; + ColorBgra pixelColor = dest_data[dest_offset]; - byte r = (byte) Math.Min (255, pixelColor.R + settings.v); - byte g = (byte) Math.Min (255, pixelColor.G + settings.v); - byte b = (byte) Math.Min (255, pixelColor.B + settings.v); + byte a = (byte) Math.Min (255, pixelColor.A + settings.v); + byte r = (byte) Math.Min (a, pixelColor.R + settings.v); + byte g = (byte) Math.Min (a, pixelColor.G + settings.v); + byte b = (byte) Math.Min (a, pixelColor.B + settings.v); + + dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, a); - dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, pixelColor.A); } } } From 3062f55a4829b6e2b4f4a9cd43ade6b452623a23 Mon Sep 17 00:00:00 2001 From: martin chacon Date: Sat, 5 Jul 2025 18:44:37 +0200 Subject: [PATCH 11/13] In alphabetical order --- Pinta.Effects/CoreEffectsExtension.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Pinta.Effects/CoreEffectsExtension.cs b/Pinta.Effects/CoreEffectsExtension.cs index 7b1dfcdc03..478962c917 100644 --- a/Pinta.Effects/CoreEffectsExtension.cs +++ b/Pinta.Effects/CoreEffectsExtension.cs @@ -113,8 +113,8 @@ public void Uninitialize () PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); - PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); + PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); PintaCore.Effects.UnregisterInstanceOfEffect (); From f355c87e753901cd6cf66585068cd8a116406e70 Mon Sep 17 00:00:00 2001 From: martin chacon Date: Sat, 5 Jul 2025 19:28:29 +0200 Subject: [PATCH 12/13] Waves have the same alpha as background --- Pinta.Effects/Effects/CausticsEffect.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index 835fd3d9e7..4f5c7fed89 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -134,6 +134,8 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; ColorBgra pixelColor = dest_data[dest_offset]; + byte a = pixelColor.A; + byte r = pixelColor.R; byte g = pixelColor.G; byte b = pixelColor.B; @@ -145,16 +147,14 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI else // Blue b = (byte) Math.Min (255, b + settings.v); - byte a = (byte) Math.Min (255, pixelColor.A + settings.v); - b = Math.Min (b, a); - g = Math.Min (g, a); r = Math.Min (r, a); + g = Math.Min (g, a); + b = Math.Min (b, a); dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, a); } } - } else // No dispersion - { + } else { // No dispersion double targetX = sx + settings.scale * settings.focus * xDisplacement; double targetY = sy + settings.scale * settings.focus * yDisplacement; @@ -164,13 +164,15 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI ColorBgra pixelColor = dest_data[dest_offset]; - byte a = (byte) Math.Min (255, pixelColor.A + settings.v); + // Keep the original alpha. Don't add brightness to it. + byte a = pixelColor.A; + + // Add brightness to color channels and clamp by alpha to keep color valid byte r = (byte) Math.Min (a, pixelColor.R + settings.v); byte g = (byte) Math.Min (a, pixelColor.G + settings.v); byte b = (byte) Math.Min (a, pixelColor.B + settings.v); dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, a); - } } } From 463c7592c7162040cf7013e96986790919999c16 Mon Sep 17 00:00:00 2001 From: martin chacon Date: Sat, 5 Jul 2025 19:28:40 +0200 Subject: [PATCH 13/13] Revert "Waves have the same alpha as background" This reverts commit f355c87e753901cd6cf66585068cd8a116406e70. --- Pinta.Effects/Effects/CausticsEffect.cs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Pinta.Effects/Effects/CausticsEffect.cs b/Pinta.Effects/Effects/CausticsEffect.cs index 4f5c7fed89..835fd3d9e7 100644 --- a/Pinta.Effects/Effects/CausticsEffect.cs +++ b/Pinta.Effects/Effects/CausticsEffect.cs @@ -134,8 +134,6 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI int dest_offset = (int) targetY * settings.canvasSize.Width + (int) targetX; ColorBgra pixelColor = dest_data[dest_offset]; - byte a = pixelColor.A; - byte r = pixelColor.R; byte g = pixelColor.G; byte b = pixelColor.B; @@ -147,14 +145,16 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI else // Blue b = (byte) Math.Min (255, b + settings.v); - r = Math.Min (r, a); - g = Math.Min (g, a); + byte a = (byte) Math.Min (255, pixelColor.A + settings.v); b = Math.Min (b, a); + g = Math.Min (g, a); + r = Math.Min (r, a); dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, a); } } - } else { // No dispersion + } else // No dispersion + { double targetX = sx + settings.scale * settings.focus * xDisplacement; double targetY = sy + settings.scale * settings.focus * yDisplacement; @@ -164,15 +164,13 @@ protected override void Render (ImageSurface src, ImageSurface dest, RectangleI ColorBgra pixelColor = dest_data[dest_offset]; - // Keep the original alpha. Don't add brightness to it. - byte a = pixelColor.A; - - // Add brightness to color channels and clamp by alpha to keep color valid + byte a = (byte) Math.Min (255, pixelColor.A + settings.v); byte r = (byte) Math.Min (a, pixelColor.R + settings.v); byte g = (byte) Math.Min (a, pixelColor.G + settings.v); byte b = (byte) Math.Min (a, pixelColor.B + settings.v); dest_data[dest_offset] = ColorBgra.FromBgra (b, g, r, a); + } } }