//! CPU cross-check of the fixed depth range: for every clip/frame (project fps) //! and all 60 views, the view-space depth of every skinned vertex versus //! near/far. Usage: depth_clamp_probe BODY HEIGHT_MILLI CENTER_MILLI [FPS] use paperdoll_renderer::{camera, preview, project::CameraFraming}; fn main() -> Result<(), Box> { let a: Vec = std::env::args().skip(1).collect(); let body = preview::load_body_file(std::path::Path::new(&a[0]))?; let fps: u32 = a.get(3).map(|v| v.parse()).transpose()?.unwrap_or(4); let framing = CameraFraming { height_milli: a[1].parse()?, center_y_milli: a[2].parse()?, ..CameraFraming::default() }; let resolved = camera::resolve(&body, framing); let (near, far) = camera::depth_range(resolved.framing); println!("{} near {near:.3} far {far:.3}", resolved.description()); for (pitch, lo, hi, out) in camera::depth_extents(&body, resolved.framing, fps) { println!("pitch {pitch:+}: depth {lo:.3}..{hi:.3}, vertices outside {out}"); } Ok(()) }