Added gradient kernel
This commit is contained in:
@@ -69,5 +69,15 @@ public partial class SdfKernels {
|
|||||||
|
|
||||||
sdf[index] = new(minDist);
|
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