From 8173327c79928b403a7afbb21b56eb8ec1c9b0b2 Mon Sep 17 00:00:00 2001 From: mm00 Date: Tue, 1 Apr 2025 19:49:21 +0200 Subject: [PATCH] Multiplied channels by alpha when less than Vector4 --- SDFMapCreator/ImageUtil.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SDFMapCreator/ImageUtil.cs b/SDFMapCreator/ImageUtil.cs index 75839e4..efb0556 100644 --- a/SDFMapCreator/ImageUtil.cs +++ b/SDFMapCreator/ImageUtil.cs @@ -28,16 +28,16 @@ public static class ImageUtil { for (int x = 0; x < width; x++) { switch (result) { case float[,] f: - f[x, y] = span[x].R / max; + f[x, y] = span[x].R / max * (span[x].A / max); break; case Vector2[,] f: - f[x, y] = new(span[x].R / max, span[x].G / max); + f[x, y] = new Vector2(span[x].R / max, span[x].G / max) * new Vector2(span[x].A / max); break; case Vector3[,] f: - f[x, y] = new(span[x].R / max, span[x].G / max, span[x].B / max); + f[x, y] = new Vector3(span[x].R / max, span[x].G / max, span[x].B / max) * new Vector3(span[x].A / max); break; case Vector4[,] f: - f[x, y] = new(span[x].R / max, span[x].G / max, span[x].B / max, span[x].A / max); + f[x, y] = new Vector4(span[x].R / max, span[x].G / max, span[x].B / max, span[x].A / max); break; } } @@ -88,16 +88,16 @@ public static class ImageUtil { for (int x = 0; x < width; x++) { switch (result) { case float[,] f: - f[x, y] = span[x].R / max; + f[x, y] = span[x].R / max * (span[x].A / max); break; case Vector2[,] f: - f[x, y] = new(span[x].R / max, span[x].G / max); + f[x, y] = new Vector2(span[x].R / max, span[x].G / max) * new Vector2(span[x].A / max); break; case Vector3[,] f: - f[x, y] = new(span[x].R / max, span[x].G / max, span[x].B / max); + f[x, y] = new Vector3(span[x].R / max, span[x].G / max, span[x].B / max) * new Vector3(span[x].A / max); break; case Vector4[,] f: - f[x, y] = new(span[x].R / max, span[x].G / max, span[x].B / max, span[x].A / max); + f[x, y] = new Vector4(span[x].R / max, span[x].G / max, span[x].B / max, span[x].A / max); break; } }