Mitsuba 0.2.0 released

After a long stretch of time, I’m releasing a new version of Mitsuba. Reasons for the delay were numerous architectural changes within the renderer. Most of these will not be visible when using the application, but they should result in faster rendering performance. Here is a breakdown of the high-level changes:

  • The COLLADA importer is more robust and should handle most scenes (hm, this sounds familiar). Rather than generating hundreds of translated mesh files, the new version instead produces one single compressed file.
  • I’ve added an experimental plugin for Blender 2.5 integration, including a custom material designer. Since it depends on features which won’t be in Blender until the upcoming 2.56 release, it is currently necessary to compile Blender from SVN to use the plugin. Many thanks go to Doug Hammond for providing his excellent EF package, which the plugin uses extensively.
  • Jonas Pilo has contributed a very nice test scene, which is currently used as an interactive preview in the material designer of the Mitsuba Blender plugin (see this video for an example of what this looks like)
  • The KD-tree acceleration and construction code has been completely rewritten. The new code produces noticeably better trees and does so within a fraction of the time of the old version. It also scales to very large polygonal meshes (>30M triangles), whereas the previous implementation would quickly exhaust all available memory in such cases. (see this blog entry for details)
  • Instancing support was added, and there is limited (rigid) animation support for shapes.
  • Edgar has kindly contributed patches to compile Mitsuba using the Intel C++ compiler. Official windows 32-/64-bit builds now use this compiler, since it produces faster-running executables (in comparison to Visual Studio).
  • The XML schema of the scene description language is now less picky. Specifically, it is possible to specify properties and objects in an arbitrary order.
  • Standard UV texture mapping controls (offset, scale) are provided
  • Luminaire importance sampling is more flexible. The previous implementation sampled a light source proportional to its power, which was often exactly the wrong thing to do. In this release, the sampling weights can be manually specified.
  • There is partial support for rendering vast amounts of hair (partial because only the intersection shape is implemented at this point — no hair-specific scattering models have been added yet)
  • A PLY file loader based on libply (courtesy of Ares Lagae) was added
  • Vertex colors are now accessible within the renderer. This is implemented using a special “texture”, which forwards the color information to scattering models
  • Severe lock contention issues in the irradiance cache were fixed (these resulted in slow performance when rendering on many cores).
  • The loading dialog now contains a console, which shows what is happening while waiting for a large scene to load
  • The builtin environment map luminaire supports importance sampling (it did uniform sampling before – jikes!)
  • A bunch of materials and textures now have GLSL implementations so that they can be used in the interactive preview
  • The preview itself should be quite a bit faster due to optimizations in how geometry is passed to the GPU

As usual, a large number of bugs were also fixed. The documentation is still rather incomplete, but I’m working on it.

33 comments

  1. Great improvement…
    Although it is too early for wishes, I would like to have the ability to use the model as the rotation center of the camera, instead of using arrows and mouse buttons to make a circle around the model… (I hope it makes sense…)

  2. Nice work WJ.
    I really like the potential of your renderer in archviz with blender..!
    I will try it out later today.
    Thanks.

  3. essais hier avec graphical.org .
    je suis vraiment content de voir un render directement inclus et efficace avec blender.félicitations pour le travail, vivement la suite.
    merci, merci!!

  4. Greets!

    I’m a Fedora user, and while it’s cool that you’re providing a link to the mercurial repository, I’m not entirely sure how to download the latest stable release. Would it be possible to provide an archive of the stable code, or at least a special link on the repo? (I didn’t see a 0.2.0 tag there).

  5. Good point, I’ve added a tag. You can check out by cloning with mercurial and specifying the revision using -r.

  6. I would like to try this one with blender! the renderer has a lot of potentials. any good resource for tutorials?

  7. Sorry , don´t work… is necesary de libiomp5md.dll in Windows Xp 32 bits.
    Bye

  8. did you install the redistributable?

  9. mmmmmm… no , sorry , i will install it , thank you very much!!!

  10. Perfect!!! now , I will install the Blender´s plugin .
    I have Blender 2.55.0 r32738 , it is ok, no?
    Bye and thank very very much!!! excelent work!!!!

  11. libiomp5md.dll is missing.

  12. I’ ve spent a few hours this afternoon trying out mitsuba and I have to say that it was a nice surprise. The network setup is so easy you wonder how mainstream 3D companies like Autodesk cannot do something similar.

    I would be happy if we could have some more documentation on materials/shaders as I’ m trying to do subsurface scattering with mitsuba and am still not able to get anything that looks like SSS, I must be missing something ^^.

    About navigation in mitsuba, that it the only thing I really don’ t like, navigation is nightmarish, it would me great if you could adopt the Maya style of navigation which to me is way more practical.

  13. Documentation is in the works, don’t despair. An uninformed counter-question: what do you like about Maya navigation? The fact that you can rotate around a certain center point? How do you usually navigate through your scenes in Maya?

  14. Hi Wenzel. Here is how to navigate within Maya.

    Pressing “a” frames all objects in the scene. Pressing “f” frames the selected object, vertices, faces or edges. (doesn’ t seem to apply to mitsuba as I don’ t think there is a way to select and object/vertex/face..)

    Then for general navigation this is what is set as default :
    Alt+Left click rotates the camera around the object.
    Alt+Right and/or mouse wheel click to dolly.
    Alt+Middle click pans the camera.

    I’m looking forward to get more documentation. Your piece of software is really promising ! I’m already dreaming of voxel fluids export from Houdini and Maya to mitsuba :)

  15. Bravo pour ce développement vraiment bien venu. Je suis un utilisateur de blender de longue date et je salue l’arrivée de toutes ces belles nouveautés. Je crois qu’il serait souhaitable de partir dans la voie de l’intégration total du moteur dans l’interface de blender à la manière de yafray 009 à l’époque. Cela positionnerait ainsi, immédiatement le moteur comme une des meilleures solutions de rendering de Globale illumination disponible actuellement pour blender. Et de faciliter encore de système de rendu réseau avec une détection automatique des nodes un peu comme “modo” ou le génial “loki render”
    Encore bravo..

  16. Quote… in 32 and 64 zip files
    why?

  17. You have to install the redistributable

  18. Can someone please explain how to install the blender plugin? There’s no directions included with it and typically you simply place a plugin in the Blender scripts folder, but this isn’t working for me.

    I have a recent(yesterday) blender build from Graphicall.

  19. You need to place it into the ‘scripts/addon’ folder.

  20. Thanks for the swift reply.

    Mitsuba should appear in the dropdown for render engines, right? Still isn’t working(it isn’t showing at all), although I’m on OS X 10.6.5, and using Blender build 2.55 r33269.

    If anyone with a similar setup gets it working, let me know.

    Jakob, you need a tip jar on your website and I hope your thinking about marketing Mitsuba. It looks to be shaping up nicely and I’d gladly pay market price for a good, integrated renderer for Blender.

    Cheers!

  21. To get the Blender add-on to work I had to do the following:

    * Append Blender’s build configuration so that it compiles with COLLADA support which depends on OpenCOLLADA libraries and header files, which I also had to compile from SVN and install.
    * When copying the add-on to Blender’s scripts/addons directory you must copy the entire ‘mitsuba’ folder, not what is inside the folder.
    * You have to enable the addon in the blender preferences, select ‘Mitsuba’ as the render engine, and then in the Render Properties, set the executable path to the folder that Mitsuba is in.
    * It also only seems to work if you execute blender from the command line.

  22. I wasn’t able to install Mitsuba on my Mac PPC running OSX 10.5.8. Will I be able to use this on the power pc?

  23. What exactly didn’t work? Can you open a bug report? The binary will only run on Intel machines.

  24. how do i set blender build to depend on opencollada instead of default?

  25. I Discover that there is not AMD support, i am wrong? Hopefully yes!
    I have a AMD and i am unable to test it.

    Thanks any way, great Job Wenzel!

  26. Will there be a Windows binary for sse2 processors as I can not run the 32 bit one on my P4 it just outputs:
    Fatal Error: This program was not built to run on the processor in your system.
    The allowed processors are: Intel(R) Core(TM) Duo processors and compatible Inte
    l processors with supplemental Streaming SIMD Extensions 3 (SSSE3) instruction s
    upport.

  27. The next release will be compiled to only require SSE2. In the meanwhile, you could use the Visual C++ builds provided by users on blenderartists.org.

  28. Hi! great renderer!
    i hope you will integrate ies lights in next versions… so i can use it :)

  29. Hi.
    I can’t compile Mitsuba on Ubuntu 9.10 64 bit, it fails to recognize the compiler which is definitely installed. How could I fix this?

    scons: Reading SConscript files …
    Checking for Qt 4.x… yes
    Checking for g++ …no
    Could not compile a simple C++ fragment, verify that g++ is installed!

  30. Hello Matej,

    this error message is a bit misleading since it could also mean that you’re missing the BOOST libraries. Perhaps the error message in “config.log” may be helpful.

    Wenzel

  31. Hi Jakob,

    indeed that was the problem (actually I had boost, just 1.38, after upgrading to 1.40 it went on).

    I managed to successfully build Mitsuba after some additional annoyances with glew libraries. Now it’s time to dig into the manual and the program itself :)

    Cheers!

  32. Mitsuba’s source probably contains a file called glwidget. If so you can easily edit the camera controls.

    Question: Anyone having issues with textures not appearing despite being referenced in the XML?

Leave your reply to br1