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.
Incoming changes#
The
sdfgrid
has itswatertight
parameter set tofalse
by default
Mitsuba 3.5.0#
New projective sampling based integrators, see PR #997 for more details. Here’s a brief overview of some of the major or breaking changes:
New
prb_projective
anddirect_projective
integratorsNew curve/shadow optimization tutorial
Removed reparameterizations
Can no longer differentiate
instance
,sdfgrid
andSensor
’s positions
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
mask
BSDF when differentiated [ee87f1c]Ray sampling is fixed when
sample_border
is 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
ptracer
which 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
bsplinecurve
andlinearcurve
shading frames [3875f9a]Add implementation of
LargeSteps
method 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_attribute
method [cfc425a] .. [c345d70]New
sdfgrid
shape: a signed distance field on a regular grid [272a5bf] .. [618da87]Support for adjoint differentiation methods through the
aov
integrator [c9df8de] .. [bff5cf2]Various fixes to
prbvolpath
[6d78f2e], [a946691] , [91b0b7e]Curve shapes (
bsplinecurve
andlinearcurve
) always have back-face culling enabled [188b254] .. [01ea7ba]Properties
can now accept tensor objects, currenlty used inbitmap
,sdfgrid
andgridvolume
[d030a3a]Improvements to the
batch
sensor (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_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 writess, t
rather thanu, v
fields [fe4e448]All shapes can hold
Texture
attributes which can be evaluated [f6ec944]Radiative backpropagation style integrators use less memory [c1a9b8f]
New
bsplinecurve
andlinearcurve
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
andShapePtr
[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
ofMedium
objects 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
ShapeGroup
traversable and updatable [e0871aa]Enable differentiation of
to_world
ininstance
[54d2d3a]Enable differentiation of
to_world
insphere
,rectangle
,disk
andcylinder
[b5d8c5d] .. [b5d8c]Enable differentiation of
to_world
inperspective
andthinlens
[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 frommi.Bitmap
object [9389c8d]
Other improvements#
Major performance improvements in
cuda_*
variants with new version of Dr.JitDeprecated
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
forint
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]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
andblackbody
have 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
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