Changelog¶
Eradiate Mitsuba — Changelog¶
Changes made to the Eradiate fork of Mitsuba 3 since the latest release (v0.4.3, 2026-03-18).
Unreleased¶
New features¶
eovolpathintegrator: New volumetric path integrator that replicates and extends the upstreamvolpathintegrator. Introduces the DDIS (Detector Directional Importance Sampling) method for improved variance reduction in participating media (src/eradiate_plugins/integrators/eovolpath.cpp).Extremum plugins (
extremum_grid,extremum_spherical): New plugin type that computes local majorant/minorant bounds for a medium, enabling distance sampling using local majorants rather than a global majorant. Two implementations are provided:extremum_grid— grid-based extremum tracking.extremum_spherical— spherical-coordinates-based extremum tracking.
These plugins expose a Python API and are accompanied by a comprehensive unit test suite.
Improvements¶
ExtremumSegmentrefactor: Separated extremum traversal algorithms fromsample_segmentinto dedicated free functions, improving modularity and preparing the codebase for future tracking algorithms.ExtremumSegmentnow stores aVector2fand exposesmajorant/minorantas getters. (include/mitsuba/render/eradiate/extremum_segment.h)Optical thickness rename: Renamed the
tausymbol toot(optical thickness) throughout the extremum plugins and medium code for consistency with Eradiate’s notation conventions.volume.hadditions: ExtendedVolumeheader with helpers required by the extremum plugins.
Bug fixes¶
tabphase_polarized: Fixed out-of-sync node handling that could produce incorrect results for polarized tabulated phase functions. (src/eradiate_plugins/phase/tabphase_polarized.cpp)