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.4.1#
December 11, 2023
Upgrade Dr.Jit to [v0.4.4]
Solved threading/concurrency issues which could break loading of large scenes or long running optimizations
Scene’s bounding box now gets updated on parameter changes [97d4b6a]
Python bindings for
mi.lookup_ior[d598d79]Fixes to
maskBSDF when differentiated [ee87f1c]Ray sampling is fixed when
sample_borderis used [c10b87b]Rename OpenEXR shared library [9cc3bf4]
Handle phase function differentiation in
prbvolpath[5f9eebd]Fixes to linear
retarder[8033a80]Avoid copies to host when building 1D distributions [825f44f] .. [8f71fe9]
Fixes to linear
retarder[8033a80]Sensor’s prinicpal point is now exposed throught
m̀i.traverse()[f59faa5]Minor fixes to
ptracerwhich could result in illegal memory accesses [3d902a4]Other various minor bug fixes
Mitsuba 3.4.0#
August 29, 2023
Upgrade Dr.Jit to v0.4.3
Add
mi.variant_context(): a Python context manager for setting variants [96b219d]Emitters may now define a sampling weight [9a5f4c0]
Fix
bsplinecurveandlinearcurveshading frames [3875f9a]Add implementation of
LargeStepsmethod for mesh optimizations (includes a new tutorial) [48e6428] .. [130ed55]Support for spectral phase functions [c7d5c75]
Additional resource folders can now be specified in
mi.load_dict()[66ea528]BSDFs can expose their attributes through a generic
eval_attributemethod [cfc425a] .. [c345d70]New
sdfgridshape: a signed distance field on a regular grid [272a5bf] .. [618da87]Support for adjoint differentiation methods through the
aovintegrator [c9df8de] .. [bff5cf2]Various fixes to
prbvolpath[6d78f2e], [a946691] , [91b0b7e]Curve shapes (
bsplinecurveandlinearcurve) always have back-face culling enabled [188b254] .. [01ea7ba]Propertiescan now accept tensor objects, currenlty used inbitmap,sdfgridandgridvolume[d030a3a]Improvements to the
batchsensor (performance, documentation, bug fixes) [527ed22] .. [65e0444]Many missing Python bindings were added
Other various minor bug fixes
Mitsuba 3.3.0#
April 25, 2023
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_xmlnow supports volumes [15d63df]Allow extending
AdjointIntegratorin Python [15d63df]mi.load_dict()is parallel (by default) [bb672ed]Upsampling routines now support
boxfilters [64e2ab1]The
Mesh.write_ply()function writess, trather thanu, vfields [fe4e448]All shapes can hold
Textureattributes which can be evaluated [f6ec944]Radiative backpropagation style integrators use less memory [c1a9b8f]
New
bsplinecurveandlinearcurveshapes [e4c847f] .. [79eb026]
Mitsuba 3.2.1#
February 22, 2023
Upgrade Dr.Jit to v0.4.1
Filmplugins 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
ShapeandShapePtr[bdce950]Fix Python bindings for
Scene[4cd5585]Fix bug which would break the AD graph in
spectralvariants [f3ac81b]Parallel scene loading in JIT variants [48c14a7] .. [187da96]
Fix sampling of
hgPhaseFunction[10d3514]Fix
envmapupdating in JIT variants [7bf132f]Expose
PhaseFunctionofMediumobjects throughmi.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
ShapeGrouptraversable and updatable [e0871aa]Enable differentiation of
to_worldininstance[54d2d3a]Enable differentiation of
to_worldinsphere,rectangle,diskandcylinder[b5d8c5d] .. [b5d8c]Enable differentiation of
to_worldinperspectiveandthinlens[ea513f7] .. [ea513f]Add
BSDF::eval_diffuse_reflectance()to most BSDF plugins [59af884]Add
mi.OptixDenoiserclass for simple denoising in Python [5529318] .. [55293]envmapplugin can be constructed frommi.Bitmapobject [9389c8d]
Other improvements#
Major performance improvements in
cuda_*variants with new version of Dr.JitDeprecated
samples_per_passparameter [8ba8528]Fix rendering progress bar on Windows [d8db806]
objfile 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
boxfilter splatting [2d89762]Improve
math::bisectalgorithm [7ca09a3]Fix syntax highlighting in documentation and tutorials [5aa2716]
Fix
Optimizer.set_learning_rateforintvalues [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*_rgband*_spectralvariants [f883834]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
cudamode. [cd0846f]Add stubs for
Float,ScalarFloatand other builtin types [8249179]Plugins
regularandblackbodyhave renamed parameters:wavelength_min,wavelength_max(previouslylambda_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
batchsensor plugin [0986152]Fix LD sampler for JIT modes [98a8ecb]
Prevent rebuilding of kernels for each sensor in an optimization [152352f]
Fix direction convention in
tabphaseplugin [49e40ba]Create TLS module lookup cache for new threads [6f62749]
Mitsuba 3.0.0#
July 20, 2022
Initial release