Mitsuba 0.4.2 released

The next bug-fix release of Mitsuba is available, which has the following improvements:

  • Volumetric path tracers: improved sampling when dealing with index-matched medium transitions. This is essentially a re-implementation of an optimization that Mitsuba 0.3.1 already had, but which got lost in the bidirectional rewrite.

  • Batch tonemapper: due to an unfortunate bug, the batch tonemapper in the last release produced invalid results for images containing an alpha channel. This is now fixed.

  • Shapes: corrected some differential geometry issues in the “cylinder” and “rectangle” shapes.

  • MLT: fixed 2-stage MLT, which was producing incorrect results.

  • MEPT: fixed the handling of directional light sources.

  • Robustness: got rid of various corner-cases that could produce NaNs.

  • Filenames: to facilitate loading scenes created on Windows/OSX, the Linux version now resolves files case-insensitively if they could not be found after a case-sensitive search.

  • Python: added Python bindings for shapes and triangle meshes. The Python plugin should now be easier to load (previously, this was unfortunately rather difficult on several platforms). The documentation was also given an overhaul.

  • Particle tracing: I’ve decided to disable the adjoint BSDF for shading normals in the particle tracer, since it causes an unacceptable amount of variance in scenes containing poorly tesselated geometry. This affects the plugins ptracer, ppm, sppm and photonmapper. See the commit for further details.

  • Subsurface scattering: fixed parallel network renderings involving the dipole model.

  • Homogeneous medium & dipole: added many more material presets by Narasimhan et al.

  • OBJ loader: further robustness improvements to the OBJ loader and the associated MTL material translator.


  1. Congratulations Wenzel. Good to see that you are still “up to no good”! :)

  2. Thanks for update! I will test it today.

  3. Hi,

    I recently heard of Mitsuba and have been trying to sink my teeth into it. Ran into a problem trying to use the Blender exporter. The command line output says .dae has been exported successfully, but then it says “/usr/bin/mtsimport” not found.

    For the life of me I cannot find this binary anywhere. I am on Fedora 17 x86_64 and installed Mistuba from (Installed both files just to be sure).

    I am probably missing something elementary, but I would be grateful if someone could help. I believe I have searched around enough before asking this question here.

    Thanks in advance.

    • Hi Anurup,

      thank you for reporting this. It turns out that my Fedora build machine accidentally did not include this file in the RPM :(.

      This is fixed now, and it will be included in the next version which will be released in a few days. If you don’t want to wait for that, you can also directly compile Mitsuba from source — it’s not very hard on Fedora, and it’s described in the documentation.


      • Hi Wenzel,

        Thanks a lot for your reply – it takes a load off my mind!

        Thank you for this great renderer. I am a hobbyist and am looking for a good renderer for animations. I have great hopes from Mitsuba. :-)

        Keep up the good work.


  4. Finally, I got building Mitsuba, using MSVC 2010 Express Edition on my Win XP 32 bit. Thank you for including files CMakeList.txt. That made ​​things easier for me.
    Another issue almost resolved, the notice of incompatibility with my old NVidia, not occur if the scene includes point lights or spotlights. Only fault with IBL lights. :)

  5. Well…I will have a Serialized mesh exporter checked in tonight for Softimage.

    The good part is, the SI Object model exposes all the data as an object, so I only have to iterate over the collection once and I have access to everything I need for export: normal, position, index, UV, vertex color.

    For the optional data (UV, VertexColor), I’m still considering some methods to determine if that data is defined at the Mesh level, without evaluating each point on the Mesh.

    • cool — that sounds very promising!

      • Oops….spoke too soon. The point list is not unique the way I’m reading them, which screws up the triangle point indexes which are unique. The reason is, I was reading each triangle, instead of asking the mesh for its data collections.

        Sooo…I will end up having to do multiple loops. Good part is, Mitsuba is loading the serialized file so far, but crashing on creating the index list.

        So..almost there.

        • Now that I have the .serialized format working (which I am SUPER excited about)…all I want to do now is code on the exporter all day long.

          If only I could convince my Supervisor of that!?

          Anyway, up next is updating the Shader nodes and writing the Shader export. Since Mitsuba doesnt support per-triangle shader assignment, then I will probably have to redo the .serialized code so that it groups triangles by Shader.

          So, instead of one .serialized file with all the meshes for a scene. It will probably be one .serialized file per mesh, with the mesh broken down per Shader inside in the .serialized file.

  6. Fact… All files upload to repo.
    I created a folder called Mitsuba_cpp. I do not know how to create a branch in a Mercurial repository ..:(. If anyone can do it, we can better for separate the data from both exporter, to avoid confusion for users. Or maybe, create an new repository.
    Go to work..

  7. Softimage Exporter Update:
    +Particle export is working
    +Hair export is working
    +Serialized export for Meshes is working

    * Support Shaders
    * Support Instances
    * Support UV & Vertex Color

  8. Any image??

  9. hi, does anyone know how to define moving objects for motion blur effects? thanks!

Leave a comment