Changelog#
v0.6.0 (upcoming release)#
New features#
Upstream Mitsuba rebase: The base Mitsuba version is bumped from 3.7.1 to 3.9.1. The two-version leap bring major upgrades listed in the Mitsuba release notes. This, in particular, unlocks support for Python 3.14 and higher (PR #56).
eoheterogeneousmedium: A new heterogeneous that replicates and extends the upstreamheterogeneousmedium. Introduces a separate bounding box parametrization that allows the medium to have a different bounding box to the underlyingsigma_tvolume bbox. In turns allows to exploit the wrap mechanism of the volume and implement periodic boundaries (PR #32).particlephasephase function: A polarized phase function tabulated on an irregular grid of effective radius and effective variance, each grid entry carrying its own irregularcos(theta)discretization. At a query point, one of the 4 bracketing entries is picked, weighted by its bilinear blend weight, and sampled directly. (PR #35).fisheyesensor: new circular fisheye camera. A film sample is mapped to its distance from the optical centre in image-circle radii, and the selected radial projection model turns that normalized radius into an anglethetafrom the optical axis. Supports using real calibration data for faithful emulation of real lenses. (PR #49).
Bug fixes#
multiphasephase: Guard the plugin from evaluating phase function with a weight equal to zero at the interaction point. Handle the case where all phase weights are zero at the interaction point. Use the blendphase parameter format convention.ocean_legacyandocean_graspbsdf: Add bound checks to avoid nan values due to floating point precision errors. (PR #45).
Improvements#
Improve the DDIS (Detector Directional Importance Sampling) variance reduction technique by generating DDIS phase functions, envelopes of the max phase function used in a medium. Implemented by
piecewiseandeoheterogeneousmedia (PR #32).Implement prediction-based splitting (PBS) and N-tuple local estimate (NLE) variance reduction methods, completing work on VROOM method support in the
eovolpathintegrator (PR #33).Add an experimental implementation for periodic boundaries of extremum grid structures (PR #34).
Create a new custom scene traversal function which traverses all parents of a node, not just the first one. Combine it with Eradiate’s traversal function (PR #37).
Reduce divergence with upstream
microfacet.hby remove the angle parameter and correlated computations. This can simply be achieved by rotating the input and output vectors. Optimize the LUT generation inocean_legacy. (PR #47).
v0.5.0 (9th June 2026)#
This release is the first to feature a full list of changes. It also contains significant upgrades on our specific tooling and documentation, including a new, Eradiate-specific docs site deployed to Read The Docs.
We introduce a first, experimental implementation of variance reduction methods targeted toward cloudy scenes. All of these changes are subject to change in the few next versions.
New features#
eovolpathintegrator: A new volumetric path tracer that replicates and extends the upstreamvolpathintegrator. Introduces the DDIS (Detector Directional Importance Sampling) method for improved variance reduction in participating media, as well as residual ratio tracking for transmittance estimation during emitter sampling. (PR #25, #27)Extremum plugin family: This new plugin family that provides majorant/minorant bounds for a medium, enabling distance sampling using local majorants rather than a global majorant. Three implementations are provided:
extremum_global— spatially invariant extremum.extremum_grid— grid-based extremum tracking.extremum_spherical— spherical-coordinates-based extremum tracking.
(PR #24)
Stokes-moment integrator: This new integrator plugin combines the
momentandstokesintegrators into a single implementation which retrieves both the second moment and Stokes vector components of radiance samples simultaneously. This addresses a limitation that would constrain the nestingmomentandstokesto a configuration that would not allow getting the second moment of all Stokes vector components (only the intensity). (PR #29)
Improvements#
Volumeinterface: Added amin()method to theVolumeinterface, propagated toVolumeGridandTexture, as required by the extremum plugins. (PR #27)Mediumanalytical transmittance API: Renamedsample_interaction_realtosample_interaction_analyticalandeval_transmittance_pdf_realtoeval_analytical_transmittance, which now return the full unpolarized spectrum. Reworked thepiecewisemedium to compute transmittance and PDF correctly in spectral mode, with new spectral unit tests. (PR #31)