wgpu-3dgs-core 0.7.0

A 3D Gaussian splatting library written in Rust using wgpu.
Documentation
// Gaussian transform buffer structure.
//
// Corresponds to `GaussianTransformPod`.
struct GaussianTransform {
    size: f32,
    flags: u32,
}

const gaussian_display_mode_splat = 0u;
const gaussian_display_mode_ellipse = 1u;
const gaussian_display_mode_point = 2u;

// Get the display mode from `GaussianTransform.flags`.
fn gaussian_transform_display_mode(flags: u32) -> u32 {
    return unpack4xU8(flags).x;
}

// Get the SH degree from `GaussianTransform.flags`.
fn gaussian_transform_sh_deg(flags: u32) -> u32 {
    return unpack4xU8(flags).y;
}

// Check if the SH0 is disabled from `GaussianTransform.flags`.
fn gaussian_transform_no_sh0(flags: u32) -> bool {
    return unpack4xU8(flags).z != 0u;
}

// Get the maximum standard deviation from `GaussianTransform.flags`.
fn gaussian_transform_max_std_dev(flags: u32) -> f32 {
    return f32(unpack4xU8(flags).w) / 255.0 * 3.0;
}