Removed last instances of direct Console.Write calls, updated the Linewalker Library.

This commit is contained in:
Samuele Lorefice
2025-04-28 16:18:29 +02:00
parent 359ae02e19
commit 769cb8fd5f
5 changed files with 20 additions and 15 deletions

View File

@@ -4,6 +4,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADanywyf_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Ftmp_003FJetBrainsPerUserTemp_002D1000_002D1_003FSandboxFiles_003FLiqequv_003FDanywyf_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADanywyf_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Ftmp_003FJetBrainsPerUserTemp_002D1000_002D1_003FSandboxFiles_003FLiqequv_003FDanywyf_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEntryPointDescription_002Ecs_002Fl_003AC_0021_003FUsers_003Fairon_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F32b5380d8ca1aa7219c1622702a3e927b2bb32c9a53b43e12bb5a4af9a2862d_003FEntryPointDescription_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEntryPointDescription_002Ecs_002Fl_003AC_0021_003FUsers_003Fairon_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F32b5380d8ca1aa7219c1622702a3e927b2bb32c9a53b43e12bb5a4af9a2862d_003FEntryPointDescription_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AImage_007BTPixel_007D_002Ecs_002Fl_003AC_0021_003FUsers_003Fairon_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F98f0ece83ba33754ab932bd7b5c712d12f3a59029f9f14067f553a3a318c8f_003FImage_007BTPixel_007D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AImage_007BTPixel_007D_002Ecs_002Fl_003AC_0021_003FUsers_003Fairon_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F98f0ece83ba33754ab932bd7b5c712d12f3a59029f9f14067f553a3a318c8f_003FImage_007BTPixel_007D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALogger_002Ecs_002Fl_003AC_0021_003FUsers_003Fairon_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F70a76ec6534f41dfb670b3e0b4505f5f2600_003F8a_003F2e6ec04f_003FLogger_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMonitor_002ECoreCLR_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Fhome_003Fmm00_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F8056cd3f452fefb9834f05cdb275b762dd41f27b7766cd71174e78592dc495b_003FMonitor_002ECoreCLR_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMonitor_002ECoreCLR_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Fhome_003Fmm00_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F8056cd3f452fefb9834f05cdb275b762dd41f27b7766cd71174e78592dc495b_003FMonitor_002ECoreCLR_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003APixelTypeInfo_002Ecs_002Fl_003AC_0021_003FUsers_003Fairon_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003Fc3cfdca1fb93eb6df5e51a81da5df646adfab8b862fd1a07ee5d247b49c5179_003FPixelTypeInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003APixelTypeInfo_002Ecs_002Fl_003AC_0021_003FUsers_003Fairon_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003Fc3cfdca1fb93eb6df5e51a81da5df646adfab8b862fd1a07ee5d247b49c5179_003FPixelTypeInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASafeFileHandle_002EUnix_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Fhome_003Fmm00_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F9cf5f68d759deefc91b9c48c5ac3dd27708bb7dc38d0c485661fff5ce15b82_003FSafeFileHandle_002EUnix_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASafeFileHandle_002EUnix_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Fhome_003Fmm00_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F9cf5f68d759deefc91b9c48c5ac3dd27708bb7dc38d0c485661fff5ce15b82_003FSafeFileHandle_002EUnix_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>

View File

@@ -15,12 +15,15 @@
*/ */
using System.Numerics; using System.Numerics;
using LineWalker;
using SixLabors.ImageSharp; using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.PixelFormats;
namespace SDFMapCreator; namespace SDFMapCreator;
public static class ImageUtil { public static class ImageUtil {
static Logger logger = Logger.GetInstance();
public static T[,] LoadImage<T>(string path) where T : struct, IEquatable<T> { public static T[,] LoadImage<T>(string path) where T : struct, IEquatable<T> {
var image = SixLabors.ImageSharp.Image.Load(path); var image = SixLabors.ImageSharp.Image.Load(path);
return image switch { return image switch {
@@ -162,7 +165,7 @@ public static class ImageUtil {
Vector4[,] => 4, Vector4[,] => 4,
_ => throw new NotSupportedException($"Type {typeof(T)} is not supported.") _ => throw new NotSupportedException($"Type {typeof(T)} is not supported.")
}; };
Console.Write($"Writing image {path}..."); logger.Log($"Writing image {path}...");
using Image<Rgb48> image = new(width, height); using Image<Rgb48> image = new(width, height);
image.ProcessPixelRows(accessor => { image.ProcessPixelRows(accessor => {
for (var y = 0; y < height; y++) { for (var y = 0; y < height; y++) {
@@ -185,12 +188,12 @@ public static class ImageUtil {
} }
} }
}); });
Console.WriteLine($"Done!"); logger.Log($"Writing image {path}...Done", true);
image.Save(path); image.Save(path);
} }
static void ImageData(SixLabors.ImageSharp.Image image1, string path) { static void ImageData(SixLabors.ImageSharp.Image image1, string path) {
Console.WriteLine( logger.Log(
$""" $"""
Image file: {path} Image file: {path}
Resolution: {image1.Width}x{image1.Height} Resolution: {image1.Width}x{image1.Height}

View File

@@ -71,8 +71,6 @@ public static class Program {
static uint width; static uint width;
static uint height; static uint height;
static void ConsoleUpdateLine(string s) => Console.Write("\r" + s);
public static void Main(string[] args) { public static void Main(string[] args) {
var parser = Parser.Default; var parser = Parser.Default;

View File

@@ -16,7 +16,7 @@
<PackageReference Include="CommandLineParser" Version="2.9.1" /> <PackageReference Include="CommandLineParser" Version="2.9.1" />
<PackageReference Include="ILGPU" Version="1.5.2"/> <PackageReference Include="ILGPU" Version="1.5.2"/>
<PackageReference Include="ILGPU.Algorithms" Version="1.5.2"/> <PackageReference Include="ILGPU.Algorithms" Version="1.5.2"/>
<PackageReference Include="LineWalker" Version="0.1.1-alpha" /> <PackageReference Include="LineWalker" Version="0.1.2-alpha" />
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.7"/> <PackageReference Include="SixLabors.ImageSharp" Version="3.1.7"/>
<PackageReference Include="System.Numerics.Vectors" Version="4.6.1"/> <PackageReference Include="System.Numerics.Vectors" Version="4.6.1"/>
</ItemGroup> </ItemGroup>

View File

@@ -20,10 +20,13 @@ using ILGPU.Runtime;
using ILGPU.Runtime.CPU; using ILGPU.Runtime.CPU;
using ILGPU.Runtime.Cuda; using ILGPU.Runtime.Cuda;
using ILGPU.Runtime.OpenCL; using ILGPU.Runtime.OpenCL;
using LineWalker;
namespace SDFMapCreator; namespace SDFMapCreator;
public partial class SdfKernels { public partial class SdfKernels {
Logger logger = Logger.GetInstance();
Context gpuContext; Context gpuContext;
Accelerator accelerator; Accelerator accelerator;
public SdfKernels() { public SdfKernels() {
@@ -36,30 +39,30 @@ public partial class SdfKernels {
.EnableAlgorithms() .EnableAlgorithms()
); );
Console.WriteLine("Reading available accelerators (CUDA only)..."); logger.Log("Reading available accelerators (CUDA only)...");
foreach (var device in gpuContext.GetCudaDevices()) { foreach (var device in gpuContext.GetCudaDevices()) {
accelerator = device.CreateAccelerator(gpuContext); accelerator = device.CreateAccelerator(gpuContext);
Console.WriteLine($"Found accelerator: {accelerator.Name} ({accelerator.AcceleratorType})"); logger.Log($"Found accelerator: {accelerator.Name} ({accelerator.AcceleratorType})");
} }
Console.WriteLine("Reading available accelerators (OpenCL only)..."); logger.Log("Reading available accelerators (OpenCL only)...");
foreach (var device in gpuContext.GetCLDevices()) { foreach (var device in gpuContext.GetCLDevices()) {
accelerator = device.CreateAccelerator(gpuContext); accelerator = device.CreateAccelerator(gpuContext);
Console.WriteLine($"Found accelerator: {accelerator.Name} ({accelerator.AcceleratorType})"); logger.Log($"Found accelerator: {accelerator.Name} ({accelerator.AcceleratorType})");
} }
Console.WriteLine("Reading available accelerators (CPU only)..."); logger.Log("Reading available accelerators (CPU only)...");
foreach (var device in gpuContext.GetCPUDevices()) { foreach (var device in gpuContext.GetCPUDevices()) {
accelerator = device.CreateAccelerator(gpuContext); accelerator = device.CreateAccelerator(gpuContext);
Console.WriteLine($"Found accelerator: {accelerator.Name} ({accelerator.AcceleratorType})"); logger.Log($"Found accelerator: {accelerator.Name} ({accelerator.AcceleratorType})");
} }
accelerator = gpuContext.GetPreferredDevice(false).CreateAccelerator(gpuContext); accelerator = gpuContext.GetPreferredDevice(false).CreateAccelerator(gpuContext);
Console.WriteLine($"Using accelerator: {accelerator.Name} ({accelerator.AcceleratorType})"); logger.Log($"Using accelerator: {accelerator.Name} ({accelerator.AcceleratorType})");
} }
public SdfKernels(DeviceType device) { public SdfKernels(DeviceType device) {
Console.WriteLine($"Looking up for {device.ToString()} accelerators..."); logger.Log($"Looking up for {device.ToString()} accelerators...");
var builder = Context.Create(); var builder = Context.Create();
switch (device) { switch (device) {
case DeviceType.CPU: builder.CPU(); break; case DeviceType.CPU: builder.CPU(); break;
@@ -73,7 +76,7 @@ public partial class SdfKernels {
.ToContext(); .ToContext();
accelerator = gpuContext.GetPreferredDevice(false).CreateAccelerator(gpuContext); accelerator = gpuContext.GetPreferredDevice(false).CreateAccelerator(gpuContext);
Console.WriteLine($"Using accelerator: {accelerator.Name} ({accelerator.AcceleratorType})"); logger.Log($"Using accelerator: {accelerator.Name} ({accelerator.AcceleratorType})");
} }
public void SelfMask(Vector3[,] input, out Vector3[,] mask) { public void SelfMask(Vector3[,] input, out Vector3[,] mask) {