Added gradient kernel
This commit is contained in:
@@ -69,5 +69,15 @@ public partial class SdfKernels {
|
||||
|
||||
sdf[index] = new(minDist);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static void GradientKernel(Index2D index,
|
||||
ArrayView2D<Vector3, Stride2D.DenseX> mask,
|
||||
ArrayView2D<Vector3, Stride2D.DenseX> sdfa,
|
||||
ArrayView2D<Vector3, Stride2D.DenseX> sdfb,
|
||||
ArrayView2D<Vector3, Stride2D.DenseX> gradient
|
||||
) { //early exit if not on mask
|
||||
if(mask[index].X == 0f || mask[index].Y == 0f) return;
|
||||
float a = sdfa[index].X; float b = sdfb[index].X;
|
||||
gradient[index] = new (a / (a + b));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user