using ILGPU; using ILGPU.Runtime; using System; namespace FastPrint.Slicing { public class SliceAccelerator : IDisposable { private Context context; private Accelerator accelerator; public SliceAccelerator() { context = Context.CreateDefault(); accelerator = context.GetPreferredDevice(preferCPU: false).CreateAccelerator(context); } // Example kernel for slicing public void Slice(float[] vertices, float layerHeight, Action onSliced) { using var buffer = accelerator.Allocate1D(vertices); accelerator.Synchronize(); // Placeholder: actual slicing logic should be implemented here onSliced(vertices); } public void Dispose() { accelerator.Dispose(); context.Dispose(); } } }