Merge remote-tracking branch 'origin/ILGpu' into ILGpu

This commit is contained in:
Samuele Lorefice
2025-04-04 19:22:26 +02:00

View File

@@ -56,6 +56,9 @@ public static class Program {
width = (uint)Images[0].Width; width = (uint)Images[0].Width;
height = (uint)Images[0].Height; height = (uint)Images[0].Height;
// sum all images together
if(debug) Images[0].Pixels.SaveImage("Debug/Sum0.png");
for (int i = 1; i < Images.Count; i++) { for (int i = 1; i < Images.Count; i++) {
for (int x = 0; x < Images[i].Width; x++) { for (int x = 0; x < Images[i].Width; x++) {
for (int y = 0; y < Images[i].Height; y++) { for (int y = 0; y < Images[i].Height; y++) {
@@ -68,6 +71,7 @@ public static class Program {
if(debug)Images[i].Pixels.SaveImage($"Debug/Sum{i}.png"); if(debug)Images[i].Pixels.SaveImage($"Debug/Sum{i}.png");
} }
Console.WriteLine("Creating masks..."); Console.WriteLine("Creating masks...");
for (var i = 0; i < Images.Count; i++) { //for each image pair, create a mask for (var i = 0; i < Images.Count; i++) { //for each image pair, create a mask
var selfMask = SelfMask(Images[i].Pixels); var selfMask = SelfMask(Images[i].Pixels);
@@ -109,6 +113,7 @@ public static class Program {
var currStep = 0f; var currStep = 0f;
var stepIncrement = MAX / Gradients.Count; var stepIncrement = MAX / Gradients.Count;
for (var x = 0; x < width; x++) for (var x = 0; x < width; x++)
for (var y = 0; y < height; y++) for (var y = 0; y < height; y++)
finalImage[x, y] = new(Images[0].Pixels[x, y].X); finalImage[x, y] = new(Images[0].Pixels[x, y].X);
@@ -119,7 +124,7 @@ public static class Program {
Console.WriteLine($"Applying gradient {i}..., {currStep} -> {currStep + stepIncrement}"); Console.WriteLine($"Applying gradient {i}..., {currStep} -> {currStep + stepIncrement}");
for (var x = 0; x < mask.Mask.GetLength(0); x++) { for (var x = 0; x < mask.Mask.GetLength(0); x++) {
for (var y = 0; y < mask.Mask.GetLength(1); y++) { for (var y = 0; y < mask.Mask.GetLength(1); y++) {
if (gradient[x, y].X == 0) continue; if (mask.Mask[x,y].X == 0) continue;
var pixel = new Vector3(Remap(gradient[x, y].X, MIN, MAX, 1.0f - currStep, var pixel = new Vector3(Remap(gradient[x, y].X, MIN, MAX, 1.0f - currStep,
1.0f - (currStep + stepIncrement))); 1.0f - (currStep + stepIncrement)));
if (pixel.X > finalImage[x, y].X) finalImage[x, y] = pixel; if (pixel.X > finalImage[x, y].X) finalImage[x, y] = pixel;