📄 splatgen/src/lib.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
//! Per-frame Gaussian-splat field construction (surfel splatting).
//!
//! Pipeline role (PLAN.md, "Pipeline per frame" — depth preprocess and
//! splat construction). No 3DGS training: the Gaussian list handed to
//! `render` is constructed fresh every frame.
//!
//! * depth preprocess — bilateral filter (3–5 px), flier removal,
//!   background culling; target ~50–150k active splats
//! * footprint-sized anisotropic surfels from the Kinect depth:
//!   two tangential scales = depth × pixel_size / focal_length, a flat
//!   disk aligned to the depth-map normal, few-mm thickness along the
//!   normal, opacity ~0.9–0.99
//! * occluded-region fill from the head/shoulders ellipsoid proxy,
//!   recolored from the side cameras, with inflated thickness and a
//!   lower confidence weight