From d52f8d72a8b7af74077d46013f42a85a17bc1d97 Mon Sep 17 00:00:00 2001 From: Lehonti Ramos <17771375+Lehonti@users.noreply.github.com> Date: Thu, 14 Nov 2024 15:52:24 +0100 Subject: [PATCH 1/5] Added supersampling mechanism to Voronoi diagram effect --- Pinta.Core/Classes/Point.cs | 2 + Pinta.Effects/Effects/VoronoiDiagramEffect.cs | 109 ++++++++++++------ 2 files changed, 78 insertions(+), 33 deletions(-) diff --git a/Pinta.Core/Classes/Point.cs b/Pinta.Core/Classes/Point.cs index 91ba89e9d7..4618865771 100644 --- a/Pinta.Core/Classes/Point.cs +++ b/Pinta.Core/Classes/Point.cs @@ -34,6 +34,8 @@ public readonly record struct PointI (int X, int Y) public static PointI Zero { get; } = new (0, 0); public override readonly string ToString () => $"{X}, {Y}"; + public readonly PointD ToDouble () => new (X, Y); + public PointI Rotated90CCW () // Counterclockwise => new (-Y, X); diff --git a/Pinta.Effects/Effects/VoronoiDiagramEffect.cs b/Pinta.Effects/Effects/VoronoiDiagramEffect.cs index e9805dd6be..b3b033ff6a 100644 --- a/Pinta.Effects/Effects/VoronoiDiagramEffect.cs +++ b/Pinta.Effects/Effects/VoronoiDiagramEffect.cs @@ -13,7 +13,7 @@ namespace Pinta.Effects; public sealed class VoronoiDiagramEffect : BaseEffect { public override string Icon - => Pinta.Resources.Icons.EffectsRenderVoronoiDiagram; + => Resources.Icons.EffectsRenderVoronoiDiagram; public override bool IsTileable => false; @@ -42,28 +42,33 @@ public override Task LaunchConfiguration () private sealed record VoronoiSettings ( Size size, - bool showPoints, - ImmutableArray points, + ImmutableArray controlPoints, + ImmutableArray samplingLocations, ImmutableArray colors, - Func distanceCalculator); + Func distanceCalculator); private VoronoiSettings CreateSettings (ImageSurface dst, RectangleI roi) { - ColorSorting colorSorting = Data.ColorSorting; + VoronoiDiagramData data = Data; - IEnumerable basePoints = CreatePoints (roi, Data.NumberOfCells, Data.RandomPointLocations); - ImmutableArray points = SortPoints (basePoints, colorSorting).ToImmutableArray (); + ColorSorting colorSorting = data.ColorSorting; - IEnumerable baseColors = CreateColors (points.Length, Data.RandomColors); + PointD locationOffset = new (0.5, 0.5); + + IEnumerable basePoints = CreatePoints (roi, data.NumberOfCells, data.RandomPointLocations); + IEnumerable pointCorners = SortPoints (basePoints, colorSorting).ToImmutableArray (); + ImmutableArray controlPoints = pointCorners.Select (p => p.ToDouble () + locationOffset).ToImmutableArray (); + + IEnumerable baseColors = CreateColors (controlPoints.Length, data.RandomColors); IEnumerable positionSortedColors = SortColors (baseColors, colorSorting); - IEnumerable reversedSortingColors = Data.ReverseColorSorting ? positionSortedColors.Reverse () : positionSortedColors; + IEnumerable reversedSortingColors = data.ReverseColorSorting ? positionSortedColors.Reverse () : positionSortedColors; return new ( size: dst.GetSize (), - showPoints: Data.ShowPoints, - points: points, + controlPoints: controlPoints, + samplingLocations: CreateSamplingLocations (data.Quality), colors: reversedSortingColors.ToImmutableArray (), - distanceCalculator: GetDistanceCalculator (Data.DistanceMetric) + distanceCalculator: GetDistanceCalculator (data.DistanceMetric) ); } @@ -75,27 +80,34 @@ protected override void Render (ImageSurface src, ImageSurface dst, RectangleI r dst_data[kvp.Key] = kvp.Value; KeyValuePair CreateColor (PixelOffset pixel) + { + int sampleCount = settings.samplingLocations.Length; + Span samples = stackalloc ColorBgra[sampleCount]; + for (int i = 0; i < sampleCount; i++) { + PointD sampleLocation = pixel.coordinates.ToDouble () + settings.samplingLocations[i]; + ColorBgra sample = GetColorForLocation (sampleLocation); + samples[i] = sample; + } + return KeyValuePair.Create ( + pixel.memoryOffset, + ColorBgra.Blend (samples)); + } + + ColorBgra GetColorForLocation (PointD location) { double shortestDistance = double.MaxValue; int closestIndex = 0; - - for (var i = 0; i < settings.points.Length; i++) { + for (var i = 0; i < settings.controlPoints.Length; i++) { // TODO: Acceleration structure that limits the search // to a relevant subset of points, for better performance. // Some ideas to consider: quadtree, spatial hashing - var point = settings.points[i]; - double distance = settings.distanceCalculator (point, pixel.coordinates); + PointD controlPoint = settings.controlPoints[i]; + double distance = settings.distanceCalculator (location, controlPoint); if (distance > shortestDistance) continue; shortestDistance = distance; closestIndex = i; } - - ColorBgra finalColor = - settings.showPoints && shortestDistance == 0 - ? ColorBgra.Black - : settings.colors[closestIndex]; - - return KeyValuePair.Create (pixel.memoryOffset, finalColor); + return settings.colors[closestIndex]; } } @@ -135,7 +147,7 @@ or ColorSorting.VerticalG typeof (ColorSorting)), }; - private static Func GetDistanceCalculator (DistanceMetric distanceCalculationMethod) + private static Func GetDistanceCalculator (DistanceMetric distanceCalculationMethod) { return distanceCalculationMethod switch { DistanceMetric.Euclidean => Euclidean, @@ -147,21 +159,21 @@ private static Func GetDistanceCalculator (DistanceMetri typeof (DistanceMetric)), }; - static double Euclidean (PointI targetPoint, PointI pixelLocation) + static double Euclidean (PointD targetPoint, PointD pixelLocation) { - PointI difference = pixelLocation - targetPoint; + PointD difference = pixelLocation - targetPoint; return difference.Magnitude (); } - static double Manhattan (PointI targetPoint, PointI pixelLocation) + static double Manhattan (PointD targetPoint, PointD pixelLocation) { - PointI difference = pixelLocation - targetPoint; + PointD difference = pixelLocation - targetPoint; return Math.Abs (difference.X) + Math.Abs (difference.Y); } - static double Chebyshev (PointI targetPoint, PointI pixelLocation) + static double Chebyshev (PointD targetPoint, PointD pixelLocation) { - PointI difference = pixelLocation - targetPoint; + PointD difference = pixelLocation - targetPoint; return Math.Max (Math.Abs (difference.X), Math.Abs (difference.Y)); } } @@ -198,6 +210,34 @@ private static IEnumerable CreateColors (int colorCount, RandomSeed c } } + /// + /// Offsets, from top left corner of points, + /// where samples should be taken. + /// + /// + /// The resulting colors are intended to be blended. + /// + private static ImmutableArray CreateSamplingLocations (int quality) + { + var builder = ImmutableArray.CreateBuilder (); + builder.Capacity = quality * quality; + double sectionSize = 1.0 / quality; + double initial = sectionSize / 2; + + for (int h = 0; h < quality; h++) { + for (int v = 0; v < quality; v++) { + double hOffset = sectionSize * h; + double vOffset = sectionSize * v; + PointD currentPoint = new ( + X: initial + hOffset, + Y: initial + vOffset); + builder.Add (currentPoint); + } + } + + return builder.MoveToImmutable (); + } + public sealed class VoronoiDiagramData : EffectData { [Caption ("Distance Metric")] @@ -206,9 +246,7 @@ public sealed class VoronoiDiagramData : EffectData [Caption ("Number of Cells"), MinimumValue (1), MaximumValue (1024)] public int NumberOfCells { get; set; } = 100; - // Translators: The user can choose whether or not to render the points used in the calculation of a Voronoi diagram - [Caption ("Show Points")] - public bool ShowPoints { get; set; } = false; + // TODO: Show points [Caption ("Color Sorting")] public ColorSorting ColorSorting { get; set; } = ColorSorting.Random; @@ -222,6 +260,10 @@ public sealed class VoronoiDiagramData : EffectData [Caption ("Random Point Locations")] public RandomSeed RandomPointLocations { get; set; } = new (0); + + [Caption ("Quality")] + [MinimumValue (1), MaximumValue (4)] + public int Quality { get; set; } = 3; } public enum DistanceMetric @@ -235,6 +277,7 @@ public enum ColorSorting { [Caption ("Random")] Random, + // Translators: Horizontal color sorting with blue (B) as the leading term [Caption ("Horizontal blue (B)")] HorizontalB, From 4204be5be6197f533ec5a23eac46ece976b07610 Mon Sep 17 00:00:00 2001 From: Lehonti Ramos <17771375+Lehonti@users.noreply.github.com> Date: Thu, 14 Nov 2024 16:12:41 +0100 Subject: [PATCH 2/5] Updated test images --- tests/Pinta.Effects.Tests/Assets/voronoi1.png | Bin 8169 -> 19905 bytes tests/Pinta.Effects.Tests/Assets/voronoi2.png | Bin 12199 -> 30559 bytes tests/Pinta.Effects.Tests/Assets/voronoi3.png | Bin 7103 -> 11499 bytes tests/Pinta.Effects.Tests/Assets/voronoi4.png | Bin 8041 -> 18813 bytes tests/Pinta.Effects.Tests/Assets/voronoi5.png | Bin 8123 -> 18904 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/Pinta.Effects.Tests/Assets/voronoi1.png b/tests/Pinta.Effects.Tests/Assets/voronoi1.png index 9789618e992bb24d8c1167ef72707bbed4b114a8..8ade5d2c3a3856eeb9f055196e542584d1e0b68b 100644 GIT binary patch literal 19905 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�Q~6xuquk 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 (WO|>ovy6}9g$Cp-8-n&yEZ}jIzfnUCUuF= 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 diff --git a/tests/Pinta.Effects.Tests/Assets/voronoi3.png b/tests/Pinta.Effects.Tests/Assets/voronoi3.png index acbe0e16de7591595ced4aaa5ac24c4d61e02c3c..42604be4ecd8f5d9b1daa4d16f3f04ac75df8645 100644 GIT binary patch literal 11499 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 literal 7103 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 diff --git a/tests/Pinta.Effects.Tests/Assets/voronoi4.png b/tests/Pinta.Effects.Tests/Assets/voronoi4.png index a004103a301ff6020f40d477760620a9877a9519..72f2028dc3d69f274b96661e86885befdc8ce436 100644 GIT binary patch literal 18813 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 literal 8041 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 S_xfD`0000WF!4ZD>*m!Q6g74=9n-F95Y9h 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 From 94c369cc1e661a354c3bbdd5967ce05008dbc41d Mon Sep 17 00:00:00 2001 From: Lehonti Ramos <17771375+Lehonti@users.noreply.github.com> Date: Thu, 14 Nov 2024 18:35:31 +0100 Subject: [PATCH 3/5] Made `VoronoiDiagramEffect` tileable so that the user gets some live feedback --- Pinta.Effects/Effects/VoronoiDiagramEffect.cs | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Pinta.Effects/Effects/VoronoiDiagramEffect.cs b/Pinta.Effects/Effects/VoronoiDiagramEffect.cs index b3b033ff6a..aef39a409a 100644 --- a/Pinta.Effects/Effects/VoronoiDiagramEffect.cs +++ b/Pinta.Effects/Effects/VoronoiDiagramEffect.cs @@ -16,7 +16,7 @@ public override string Icon => Resources.Icons.EffectsRenderVoronoiDiagram; public override bool IsTileable - => false; + => true; public override string Name => Translations.GetString ("Voronoi Diagram"); @@ -31,9 +31,11 @@ public VoronoiDiagramData Data => (VoronoiDiagramData) EffectData!; // NRT - Set in constructor private readonly IChromeService chrome; + private readonly ILivePreview live_preview; public VoronoiDiagramEffect (IServiceProvider services) { chrome = services.GetService (); + live_preview = services.GetService (); EffectData = new VoronoiDiagramData (); } @@ -47,10 +49,12 @@ private sealed record VoronoiSettings ( ImmutableArray colors, Func distanceCalculator); - private VoronoiSettings CreateSettings (ImageSurface dst, RectangleI roi) + private VoronoiSettings CreateSettings (ImageSurface dst) { VoronoiDiagramData data = Data; + RectangleI roi = live_preview.RenderBounds; + ColorSorting colorSorting = data.ColorSorting; PointD locationOffset = new (0.5, 0.5); @@ -72,12 +76,16 @@ private VoronoiSettings CreateSettings (ImageSurface dst, RectangleI roi) ); } - protected override void Render (ImageSurface src, ImageSurface dst, RectangleI roi) + public override void Render ( + ImageSurface src, + ImageSurface dst, + ReadOnlySpan rois) { - VoronoiSettings settings = CreateSettings (dst, roi); + VoronoiSettings settings = CreateSettings (dst); Span dst_data = dst.GetPixelData (); - foreach (var kvp in roi.GeneratePixelOffsets (settings.size).AsParallel ().Select (CreateColor)) - dst_data[kvp.Key] = kvp.Value; + foreach (RectangleI roi in rois) + foreach (var kvp in roi.GeneratePixelOffsets (settings.size).AsParallel ().Select (CreateColor)) + dst_data[kvp.Key] = kvp.Value; KeyValuePair CreateColor (PixelOffset pixel) { From c81088dacb67aabdeeb28ef186e0ee1b4b96a8b7 Mon Sep 17 00:00:00 2001 From: Lehonti Ramos <17771375+Lehonti@users.noreply.github.com> Date: Thu, 14 Nov 2024 18:36:43 +0100 Subject: [PATCH 4/5] Dropped `AsParallel` --- Pinta.Effects/Effects/VoronoiDiagramEffect.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Pinta.Effects/Effects/VoronoiDiagramEffect.cs b/Pinta.Effects/Effects/VoronoiDiagramEffect.cs index aef39a409a..03dadb74f0 100644 --- a/Pinta.Effects/Effects/VoronoiDiagramEffect.cs +++ b/Pinta.Effects/Effects/VoronoiDiagramEffect.cs @@ -84,7 +84,7 @@ public override void Render ( VoronoiSettings settings = CreateSettings (dst); Span dst_data = dst.GetPixelData (); foreach (RectangleI roi in rois) - foreach (var kvp in roi.GeneratePixelOffsets (settings.size).AsParallel ().Select (CreateColor)) + foreach (var kvp in roi.GeneratePixelOffsets (settings.size).Select (CreateColor)) dst_data[kvp.Key] = kvp.Value; KeyValuePair CreateColor (PixelOffset pixel) From 5c7470ccdf527c8b082ed03cf3dc3db2e938bfc6 Mon Sep 17 00:00:00 2001 From: Lehonti Ramos <17771375+Lehonti@users.noreply.github.com> Date: Thu, 14 Nov 2024 19:40:07 +0100 Subject: [PATCH 5/5] Overriding single-tile method --- Pinta.Effects/Effects/VoronoiDiagramEffect.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Pinta.Effects/Effects/VoronoiDiagramEffect.cs b/Pinta.Effects/Effects/VoronoiDiagramEffect.cs index 03dadb74f0..9491d61fc1 100644 --- a/Pinta.Effects/Effects/VoronoiDiagramEffect.cs +++ b/Pinta.Effects/Effects/VoronoiDiagramEffect.cs @@ -76,16 +76,15 @@ private VoronoiSettings CreateSettings (ImageSurface dst) ); } - public override void Render ( + protected override void Render ( ImageSurface src, ImageSurface dst, - ReadOnlySpan rois) + RectangleI roi) { VoronoiSettings settings = CreateSettings (dst); Span dst_data = dst.GetPixelData (); - foreach (RectangleI roi in rois) - foreach (var kvp in roi.GeneratePixelOffsets (settings.size).Select (CreateColor)) - dst_data[kvp.Key] = kvp.Value; + foreach (var kvp in roi.GeneratePixelOffsets (settings.size).Select (CreateColor)) + dst_data[kvp.Key] = kvp.Value; KeyValuePair CreateColor (PixelOffset pixel) {