Release notes#

Being an experimental research framework, Mitsuba 3 does not strictly follow the Semantic Versioning convention. That said, we will strive to document breaking API changes in the release notes below.

Mitsuba 3.3.0#

  • Upgrade Dr.Jit to v0.4.2

  • Emitters’ members are opaque (fixes long JIT compilation times) [df940c1]

  • Sensors members are opaque (fixes long JIT compilation times) [c864e08]

  • Fix cylinder’s normals [d9ea8e8]

  • Fix next event estimation (NEE) in volume integrators

  • mi.xml.dict_to_xml now supports volumes [15d63df]

  • Allow extending AdjointIntegrator in Python [15d63df]

  • mi.load_dict() is parallel (by default) [bb672ed]

  • Upsampling routines now support box filters [64e2ab1]

  • The Mesh.write_ply() function writes s, t rather than u, v fields [fe4e448]

  • All shapes can hold Texture attributes which can be evaluated [f6ec944]

  • Radiative backpropagation style integrators use less memory [c1a9b8f]

  • New bsplinecurve and linearcurve shapes [e4c847f] .. [79eb026]

Mitsuba 3.2.1#

February 22, 2023

  • Upgrade Dr.Jit to v0.4.1

  • Film plugins can now have error-compensated accumulation in JIT modes [afeefed]

  • Fix and add missing Python bindings for Endpoint/Emitter/Sensor [8f03c7d]

  • Numerically robust sphere-ray intersections [7d46e10] .. [0b483bf]

  • Fix parallel scene loading with Python plugins [93bb99b]

  • Various minor bug fixes

Mitsuba 3.2.0#

January 6, 2023

  • Upgrade Dr.Jit to v0.4.0

    • Various bug fixes

    • Stability improvements (race conditions, invalid code generation)

    • Removed 4 billion variable limit

  • Add missing Python bindings for Shape and ShapePtr [bdce950]

  • Fix Python bindings for Scene [4cd5585]

  • Fix bug which would break the AD graph in spectral variants [f3ac81b]

  • Parallel scene loading in JIT variants [48c14a7] .. [187da96]

  • Fix sampling of hg PhaseFunction [10d3514]

  • Fix envmap updating in JIT variants [7bf132f]

  • Expose PhaseFunction of Medium objects through mi.traverse() [cca5791]

Mitsuba 3.1.1#

November 25, 2022

  • Fixed maximum limits for OptiX kernel launches [a8e6989]

Mitsuba 3.1.0#

New features#

  • Enable ray tracing against two different scenes in a single kernel [df79cb3]

  • Make ShapeGroup traversable and updatable [e0871aa]

  • Enable differentiation of to_world in instance [54d2d3a]

  • Enable differentiation of to_world in sphere, rectangle, disk and cylinder [b5d8c5d] .. [b5d8c]

  • Enable differentiation of to_world in perspective and thinlens [ea513f7] .. [ea513f]

  • Add BSDF::eval_diffuse_reflectance() to most BSDF plugins [59af884]

  • Add mi.OptixDenoiser class for simple denoising in Python [5529318] .. [55293]

  • envmap plugin can be constructed from mi.Bitmap object [9389c8d]

Other improvements#

  • Major performance improvements in cuda_* variants with new version of Dr.Jit

  • Deprecated samples_per_pass parameter [8ba8528]

  • Fix rendering progress bar on Windows [d8db806]

  • obj file parsing performance improvements on Windows [28660f3]

  • Fix mi.luminance() for monochromatic modes [61b9516]

  • Add bindings for PluginManager.create_object() [4ebf700]

  • Fix SceneParameters.update() unnecessary hash computation [f57e741]

  • Fix numerical instabilities with box filter splatting [2d89762]

  • Improve math::bisect algorithm [7ca09a3]

  • Fix syntax highlighting in documentation and tutorials [5aa2716]

  • Fix Optimizer.set_learning_rate for int values [53143db]

  • Various minor improvements to the Python typing stub generation [b7ef349] .. [ad72a53]

  • Minor improvements to the documentation

  • Various other minor fixes

Mitsuba 3.0.2#

September 13, 2022

  • Change behavior of <spectrum ..> and <rgb ..> tag at scene loading for better consistency between *_rgb and *_spectral variants [f883834]

  • Polarization fixes [2709889], [06c2960]

  • Add PyTorch/Mitsuba interoperability tutorial using dr.wrap_ad()

  • Fix DLL loading crash when working with Mitsuba and PyTorch in Python [59d7b35]

  • Fix crash when evaluating Mitsuba ray tracing kernel from another thread in cuda mode. [cd0846f]

  • Add stubs for Float, ScalarFloat and other builtin types [8249179]

  • Plugins regular and blackbody have renamed parameters: wavelength_min, wavelength_max (previously lambda_min, lambda_max) [9d3487c]

  • Dr.Jit Python stubs are generated during local builds [4302caa8]

  • Minor improvements to the documentation

  • Various other minor fixes

Mitsuba 3.0.1#

July 27, 2022

  • Various minor fixes in documentation

  • Added experimental batch sensor plugin [0986152]

  • Fix LD sampler for JIT modes [98a8ecb]

  • Prevent rebuilding of kernels for each sensor in an optimization [152352f]

  • Fix direction convention in tabphase plugin [49e40ba]

  • Create TLS module lookup cache for new threads [6f62749]

Mitsuba 3.0.0#

July 20, 2022

  • Initial release