Skip to main content

estimate_normals_grid_gpu

Function estimate_normals_grid_gpu 

Source
pub fn estimate_normals_grid_gpu(
    runtime: &WgpuRuntime,
    x: &[f32],
    y: &[f32],
    z: &[f32],
    radius: f32,
) -> SpatialResult<Vec<GpuNormal>>
Expand description

Estimates per-point normals and curvature with a fully GPU radius neighbor search over a uniform grid.

The grid (cell size = radius) is built on the CPU with a counting sort (O(n)); the per-point neighbor gather, covariance, and eigen-decomposition all run on the GPU. Returns SpatialError::InvalidArgument when the bounding grid would exceed an internal cell cap (caller should fall back to the CPU KD-tree path).