Skip to main content

importance_sample

Function importance_sample 

Source
pub fn importance_sample(
    coarse_t: &[f32],
    weights: &[f32],
    n_fine: usize,
    rng: &mut LcgRng,
) -> NerfResult<Vec<f32>>
Expand description

Draw n_fine sample positions using inverse-CDF sampling from coarse weights.

Implements hierarchical NeRF sampling:

  1. Build CDF from weights (with small ε for numerical stability, renormalize).
  2. Draw n_fine uniform samples u_j in [0, 1].
  3. Binary search for u_j in CDF to get t_low, t_high.
  4. Linearly interpolate for exact t position.

§Errors

Returns DimensionMismatch if coarse_t.len() != weights.len(), InvalidSampleCount if n_fine == 0 or coarse arrays are empty.