Mitsuba 0.3.1 released

A new release of Mitsuba is available for download. This is the last stable release before version 0.4.0, which will introduce bidirectional features and a major overhaul of the system’s internals. It is mainly a bugfix release, which was necessary since a few rather serious problems had crept into version 0.3.0. Apart from bugfixes, there were also a couple of new features, and some announcements are to be made:
  • Reflectance models: The plastic, roughplastic, and roughcoating models have been completely overhauled. They are now reciprocal, and the rough variants support a texturable roughness.
  • Intersection shapes: For convenience, I’ve added two new intersection primitives: rectangle and disk. These do exactly what the name implies :).
  • Documentation: The documentation has seen further improvements and clarifications. While of course still far from complete, it’s getting a bit larger every day.
  • Wireframe texture: there is now a special texture that reveals the underlying mesh structure when attached to a triangle mesh.
  • Linear blend material: it’s now possible to interpolate between two arbitrary BSDFs based on a texture.
Two announcements:
  • Fluid solver: I’ve updated my homebrew fluid solver to generate volume data files that current versions of the renderer can handle. The download page also contains a new example scene with heterogeneous smoke generated by that program.
  • Forums: I’ve added forums to the bug tracker (link). You will need a valid tracker account to create forum posts.
The bugs resolved in version 0.3.1 are as follows:
  • Photon mapper: The photon mapper had some serious issues in the last release, which apparently didn’t keep people from using it :). These are now fixed, and it should run faster too.
  • Performance on Linux/x86_64: On Linux, the performance of the single precision exp and log math library functions is extremely poor when compiling for the x86_64 architecture. Why that happens (and is still the case in 2011) is a long and sad story. To circumvent this problem for now, Mitsuba will revert to the double precision functions on affected systems. This causes a noticeable performance improvement when rendering homogeneous or heterogeneous participating media.
  • Primitive clipping: When constructing the scene kd-tree with primitive clipping (a.k.a. “perfect splits”), some numerical issues caused holes to appear when the renderer was compiled in double precision. This likely never affected more than a handful people, since the default builds all use single precision.
  • Adaptive integrator: The adaptive integrator interacted badly with certain sub-integrators—this is now fixed.
  • Geometry instancing: Instanced analytic shapes (e.g. spheres, cylinders, ..) are now supported, and an error involving network rendering with instanced geometry is fixed.
  • Scene corruption: Fixed a serious issue that could destroy a scene file when saving from a cloned tab!
  • Multi-screen setups: On Windows, Mitsuba had occasional problems with multi-screen setups, where windows could disappear to a position that was not covered by any of the screens. The GUI is now aware of the screen configuration and tries to place windows more intelligently.
  • OBJ texture coordinates: textures applied to an OBJ mesh used to be vertically flipped. This is now fixed.
  • Hair intersection shape: the construction of the hair kd-tree used to take very long and has now been shortened considerably.
  • Texture lookups: Sean Bell found an off-by-one error that caused texture lookups with x=0 to wrap. This has been corrected in the new release.


  1. Nice work JW.
    Looking forward to test it!
    I am not really sure what the intersection primitives are used for? but it might be more obviouse when I test it :)
    Roger over

  2. I will try update exporter now.
    I hope to see sss in future. I is basically the only thing I’m waiting for right now.
    Thanks for material blending and specular texture roughness support.

  3. One question. I know from manual that sphere area light primitive gives less noise than sphere polygonal model. Is the same true for rectangle area light primitive?
    Will it give less variance than rectangle polygon model?

  4. Any news on the exporter for Softimage? I like to do some testing with Softimage 2013

  5. thanks for the stable release,
    although we are anxiously waiting for bidir :)

  6. Wow, I noticed the new page on your site about the SIGGRAPH paper. Hats off to you for having the generosity to implement the fruits of your research into free software. I am not aware if this is common practice in computer science, but it should be.

    My question: Is grant money only for papers, or can you get paid for producing something like Mitsuba?

    • Good question.. I suppose it really depends on what you state as goals of the grant. If you explicitly get paid for writing software, then all is well.

      In the case of Mitsuba, I’d say that the research-related plugin releases are more of a byproduct of the research. If you already have a working implementation, the extra time to make it public is small compared to the effort of coming up with the idea and making it work in the first place. Of course it will be the opposite in some other parts of CS (e.g. distributed systems), where releasing something that other people can use is a serious project.

  7. I have one probleme with deb ubuntu 12 :
    dependency not satisfiable libboost-filesystem1.42.0 (>=1.42.0-1)
    however i have libboost-filesystem 1.46.1, i have make a simlink but no chance.

  8. what means that
    intel_do_flush_locked failed: No such file or directory

    • It probably means that you’re trying to run Mitsuba with on an Intel card, and the drivers (which have notoriously bad OpenGL support) encountered an internal fault.

  9. I downloaded and installed version 0.3.1 on a PC with Windows XP SP3 32-bit, 3 gb RAM. To my surprise, it works perfectly though, that in the download page specifies that requires Windows Vista or higher. It may be because I have installed the environment MSVC+ + 2008 and 2010?
    (I am an amateur developer)

  10. Out of curiosity are you ever going to implement gpu rendering into mitsuba? If you are is it going to be in a far off future or is Mitsuba 4 going to have some sort of “beta” gpu feature?

Leave a comment