FastPrint / Slicing /SliceAccelerator.cs
Mentors4EDU's picture
Upload 6 files
b6a0fc3 verified
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<float[]> 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();
}
}
}