github NVlabs/sionna-rt v2.1.0

5 hours ago

Highlights

  • Updated to Mitsuba 3.9.1 and Dr.Jit 1.5.0.
    • This comes with many performance improvements.
    • Added Metal backend support: Sionna RT is now GPU-accelerated on macOS.
  • Added deterministic path generation to PathSolver, enabled via the deterministic flag (fixes NVlabs/sionna#1142).
  • Made radio map diffraction deterministic through stable wedge ordering and storage (fixes NVlabs/sionna#1175).
  • Updated radio-material models to ITU-R P.2040-4 (contributed by @jeertmans, #70).
  • Reworked the diffraction model to follow the updated technical report.

Fixes and improvements

  • Improved diffraction correctness:
    • Applied the rough-surface reduction factor to all Fresnel coefficients used for diffraction.
    • Fixed underweighted multi-transmitter diffraction maps.
    • Fixed repeated material application after measurement-surface intersections.
    • Fixed angular sampling weights and sampled-event probabilities.
    • Fixed the diffraction matrix in RadioMaterial (contributed by @jeertmans, #68).
    • Improved numerical stability near UTD and implicit-basis poles.
  • Fixed planar radio-map geometry and energy calculations when map dimensions are not divisible by the cell size.
  • Fixed Russian roulette and stop_threshold terminating rays at measurement-surface crossings.
  • Fixed reverse-direction CIR/CFR Doppler calculations.
  • Fixed normalized CFRs producing NaNs for zero-energy links.
  • Fixed stale cached XPD Jones matrices after parameter traversal.
  • Fixed sample_data.py behavior affecting material-parameter calibration.
  • Added an option to disable mesh-cell area checks for radio maps.
  • Fixed empty non-synthetic path sets losing polarization-pattern dimensions.
  • Fixed RadioMap.cdf() maximum-bin and zero-range handling.
  • Fixed cell-sampling APIs returning cell zero when no cell satisfies the constraints.
  • Fixed RadioMaterial.pdf() ignoring the scattered direction.
  • Fixed Scene.edit(add=<dict>).
  • Improved validation and error reporting for solvers, radio maps, scenes, arrays, antenna patterns, and materials.
  • Made tests deterministic and expanded coverage for electric fields, Jones vectors, diffraction, radio maps, scenes, cameras, antennas, and rendering.
  • Made EdgeHasher order wedge endpoints on quantized coordinates.
  • Fixed remove_mesh_duplicate_vertices() reading texture coordinates from meshes that have none.
  • Fixed extend_scene_with_mesh() silently overwriting shapes with duplicate IDs.
  • Added validation of BackscatteringPattern and DirectivePattern parameters.
  • Added validation and a well-defined single-point result to fibonacci_lattice().
  • Fixed ITURadioMaterial rejecting an omitted thickness.
  • Changed ITURadioMaterial.scattering_pattern to a pattern name defaulting to Lambertian.
  • Simplified the Russian roulette implementation in the radio-map solver and removed dead code.
  • Expanded test coverage for mesh mutation helpers.
  • Make look_at() deterministic for Camera, SceneObject, And RadioDevice when the look-at direction matches z+.
  • Fixed coincident look_at() targets producing NaN orientations.
  • Remove assumption about the implicit basis definition when evaluating antenna pattern and diffuse reflection Jones matrix.
  • Make theta_phi_from_unit_vec() deterministic when the input vector is at the pole.
  • Rendering and preview:
    • Fixed invalid RGB color handling for radio materials and radio devices.
    • Fixed camera construction with a zero orientation and look_at.
    • Fixed rendering empty Paths objects.
    • Fixed string-based transmitter selection for radio-map color bars.
    • Fixed Scene.render_to_file() skipping the sRGB conversion for TGA and BMP outputs.
    • Add missing rm_cmap argument to Scene.render_to_file().

Documentation and tutorials

  • Updated the EM primer to match the revised technical report.
  • Fixed math-notation defects next to the diffraction equations in the EM primer.
  • Fixed docstring drift across solvers, radio maps, scenes, scene objects, cameras, antenna patterns, radio devices, materials, utilities, and wedge metadata.
  • Fixed unresolved Sphinx cross-references in the API pages.
  • Fixed the normalization constant used in the custom scattering-pattern examples.
  • Updated the custom-material guide to the current interaction-storage contract.
  • Aligned validation error messages with the accepted parameter ranges.
  • Restricted tutorial setup cells to installing sionna-rt on Colab when sionna itself is missing.
  • Corrected API documentation, tutorials, type annotations, mathematical notation, and Sphinx references.

Don't miss a new sionna-rt release

NewReleases is sending notifications on new releases.