Mitsuba 0.4.1 released

I have just released a new version of Mitsuba. This is mostly a bugfix release, though there is one new feature: full user interface support for unicode across Linux, Windows, and OSX.




Excuse the silly Katakana :). Edgar Velázquez-Armendáriz helped a lot with the unicode transition — thanks!

Note: This version does not yet work with the Blender exporter maintained by Bartosz Styperek.

Development will likely remain in bug-fixing mode for a while, since the last release introduced so many changes. Here is a list of the issues that were addressed in this particular version:

  • negative pixel values in textures and environment maps are handled more gracefully.

  • minor robustness improvements to the OBJ and COLLADA importers. They now handle multiple cameras in a single scene.

  • fixed the Ubuntu packages so that they don’t depend on a specific version of the libjpeg development headers.

  • fixed a stack overflow issue in the bidirectional path tracer, as well as some other crash-causing bugs that were found via the Breakpad reports.

  • fixed an issue where sun and sky interpreted the combination of a ‘toWorld’ transform and explicit ‘sunDirection’ differently, causing misalignment.

  • fixed a photon mapper regression involving environment maps.

  • Edgar rewrote a piece of initialization code that prevented Mitsuba from running on Windows XP.

  • Sean Bell contributed an improved setpath.sh script, which adds ZSH autocompletion on Linux.

  • fixed some issues in the bidirectional abstraction layer when dealing with alpha masks.

  • fixed a bug where the rectangle shape produced incorrect results when used as an area light.

  • on OSX, the python bindings could not be loaded due to invalid library import paths—this now works.

Downloads are available here.

Enjoy!

24 comments

  1. Thanks Jacob!! One side note: i’m testing all the different integrators against the matpreview test scene and i’ve found that the ERPT fails everytime with the following exception:
    2012-10-11 12:39:45 WARN wrk3 [LocalWorker] Caught an exception – canceling process 1: 2012-10-11 12:39:45 ERROR wrk3 [mut_lens.cpp:171] Assertion “proposal.matchesConfiguration(source)” failed in src\libbidir\mut_lens.cpp:171
    2012-10-11 12:39:45 WARN rend [RenderJob] Rendering of scene “matpreview.xml” did not complete successfully!
    The point is that the failure happens everytime on a different bucket

    Cheers, R

  2. Great.. its working!! Except, the ‘donuts’ scene.
    Thanks, Wenzel!!

  3. Hi Jakob, the only additional info i can share is that it happens only when using the lens-mutation. With all the other mutation strategies it renders properly.

    Cheers, R.

  4. Great work!! カタカナ is very cool :)

  5. Thanks for your work. The render looks great

    take care

  6. great work! Thank you!

    (Has anybody successful with compilation at python26(2.6.6) ?)

  7. thanks for the fast release cycle :)

  8. i got this bug :
    kas@pc ~ $ mtsgui
    intel_do_flush_locked failed: No such file or directory
    Segmentation fault (core dumped)

    (Intel GMA 4500M) –>
    2012-10-19 01:25:56 INFO main [mainwindow.cpp:79] Mitsuba version 0.4.1 (Linux, 64 bit), Copyright (c) 2012 Wenzel Jakob
    2012-10-19 01:25:56 INFO main [mainwindow.cpp:82] Configured for RGB-based rendering
    2012-10-19 01:25:56 DEBUG main [X11Session] Initializing X11 session
    2012-10-19 01:25:56 DEBUG main [X11Session] VidMode extension 2.2 found
    2012-10-19 01:25:56 DEBUG main [X11Session] GLX Version 1.4 found
    2012-10-19 01:25:56 DEBUG main [GLXRenderer] Using an existing GLX context
    2012-10-19 01:25:56 DEBUG main [GLRenderer] OpenGL renderer : Mesa DRI Mobile Intel® GM45 Express Chipset
    2012-10-19 01:25:56 DEBUG main [GLRenderer] OpenGL vendor : Intel Open Source Technology Center
    2012-10-19 01:25:56 DEBUG main [GLRenderer] OpenGL version : 2.1 Mesa 9.1-devel
    2012-10-19 01:25:56 DEBUG main [GLRenderer] Capabilities: Framebuffers objects are supported.
    2012-10-19 01:25:56 DEBUG main [GLRenderer] Capabilities: GLSL is supported.
    2012-10-19 01:25:56 DEBUG main [GLRenderer] Capabilities: Floating point textures are supported.
    2012-10-19 01:25:56 DEBUG main [GLRenderer] Capabilities: Floating point color buffers are supported.
    2012-10-19 01:25:56 DEBUG main [GLRenderer] Capabilities: Fast buffer blitting is supported.
    2012-10-19 01:25:56 INFO main [GLRenderer] Capabilities: Multisample framebuffer objects are NOT supported!
    2012-10-19 01:25:56 DEBUG main [GLRenderer] Capabilities: Vertex buffer objects are supported.
    2012-10-19 01:25:56 WARN main [GLRenderer] Capabilities: Geometry shaders are NOT supported!
    2012-10-19 01:25:56 DEBUG main [GLRenderer] Capabilities: Custom texture filtering is supported.
    2012-10-19 01:25:56 DEBUG main [GLRenderer] Capabilities: Synchronization objects are supported.
    2012-10-19 01:25:56 INFO main [GLRenderer] Capabilities: Bindless rendering is NOT supported!
    2012-10-19 01:25:56 DEBUG main [Thread] Spawning thread “prvw”
    2012-10-19 01:25:56 DEBUG prvw [X11Device] Initializing X11 device
    2012-10-19 01:25:56 DEBUG prvw [GLXRenderer] Initializing GLX renderer
    2012-10-19 01:25:56 DEBUG prvw [GLProgram] Uploading a GPU program : GPUProgram[name = 'Accumulation program']
    2012-10-19 01:25:56 DEBUG prvw [GLProgram] Uploading a GPU program : GPUProgram[name = 'Directional shadow map generator']
    2012-10-19 01:25:56 DEBUG prvw [GLProgram] Uploading a GPU program : GPUProgram[name = 'Cube/Hemicube shadow map generator (5/6 pass version)']
    2012-10-19 01:25:56 DEBUG main [GLProgram] Uploading a GPU program : GPUProgram[name = 'Tonemapper [Gamma]‘]
    2012-10-19 01:25:56 DEBUG main [GLProgram] Uploading a GPU program : GPUProgram[name = 'Tonemapper [Reinhard et al. 2002]‘]
    2012-10-19 01:25:56 DEBUG main [GLProgram] Uploading a GPU program : GPUProgram[name = 'Downsampling program']
    2012-10-19 01:25:56 DEBUG main [GLProgram] Uploading a GPU program : GPUProgram[name = 'Log-luminance program']
    2012-10-19 01:25:56 DEBUG main [Thread] Spawning thread “wrk0″

    • This issue seems to be related to the Intel graphics card drivers on Linux. Unfortunatly, I have not been able to track it down because of lack of access to a machine which exhibits this problem.

      I was wondering if you could do me a favor? Would you be able to run
      “mtsgui” in the GDB debugger and send me a backtrace? In case you have never done this, you can get such a backtrace by entering

      $ gdb –args mtsgui

      Within gdb, enter “run”, i.e.
      (gdb) run

      …. now program crashes ….

      Now, enter “bt”
      (gdb) bt

      this should produce a whole bunch of output. This would be valuable in
      tracking down the issue — perhaps you could email it to me?

      Thanks,
      Wenzel

  9. Reading symbols from /usr/bin/mtsgui…(no debugging symbols found)…done.
    (gdb) run
    Starting program: /usr/bin/mtsgui
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library “/lib/x86_64-linux-gnu/libthread_db.so.1″.
    [New Thread 0x7fffecc3e700 (LWP 2316)]
    [New Thread 0x7fffe2571700 (LWP 2319)]
    [New Thread 0x7fffe173c700 (LWP 2320)]
    [New Thread 0x7fffd28eb700 (LWP 2321)]
    [New Thread 0x7fffd1666700 (LWP 2322)]
    [New Thread 0x7fffcbdbf700 (LWP 2323)]
    [New Thread 0x7fffcb5be700 (LWP 2324)]
    [New Thread 0x7fffcadbd700 (LWP 2325)]
    [New Thread 0x7fffca3b4700 (LWP 2326)]
    [Thread 0x7fffca3b4700 (LWP 2326) exited]

    Program received signal SIGTRAP, Trace/breakpoint trap.
    [Switching to Thread 0x7fffd28eb700 (LWP 2321)]
    0x00007ffff602cad8 in mitsuba::Logger::log(mitsuba::ELogLevel, mitsuba::Class const*, char const*, int, char const*, …) () from /usr/lib/libmitsuba-core.so
    (gdb) bt
    #0 0x00007ffff602cad8 in mitsuba::Logger::log(mitsuba::ELogLevel, mitsuba::Class const*, char const*, int, char const*, …) ()
    from /usr/lib/libmitsuba-core.so
    #1 0x00007ffff5aebcfc in mitsuba::GLTexture::init() ()
    from /usr/lib/libmitsuba-hw.so
    #2 0x00007ffff5b04ce3 in mitsuba::ShadowMapGenerator::allocate(mitsuba::Renderer*, mitsuba::ShadowMapGenerator::EShadowMapType, int) ()
    from /usr/lib/libmitsuba-hw.so
    #3 0x00007ffff5aef123 in mitsuba::VPLShaderManager::setVPL(mitsuba::VPL const&) () from /usr/lib/libmitsuba-hw.so
    #4 0x0000000000438d6d in ?? ()
    #5 0x00000000004396e8 in ?? ()
    #6 0x00007ffff6027613 in mitsuba::Thread::dispatch(mitsuba::Thread*) ()
    from /usr/lib/libmitsuba-core.so
    #7 0x00007ffff0307ce9 in thread_proxy ()
    from /usr/lib/libboost_thread.so.1.46.1
    #8 0x00007ffff6447e9a in start_thread ()
    from /lib/x86_64-linux-gnu/libpthread.so.0
    #9 0x00007ffff2f6a4bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
    #10 0×0000000000000000 in ?? ()
    (gdb)

  10. Thanks for sharing Mitsuba. Hoping ugly superstorm caused you no loss.

    I asked before – but apparently I did not explain well
    enough about rim lighting, ie emitters behind a mesh.

    I do parametric geometries that have open through faces (have ‘holes’) and have some that I need to be illum from interior (for purely artistic shadow cast reasons).

    The emitters show up in the renders when placed inside the geometry. By what method can they be excluded from the render?

    • Central New York was pretty much spared — If it wasn’t for the news, I wouldn’t even know anything special had happened.

      Regarding your lighting setup: special “hidden” area lights are no-go in Mitsuba. It simply doesn’t make sense from a physical point of view (try building such a light source in the real world..).

      What you can do is to place a point light source, which aren’t directly visible because they occupy an infinitesimal amount of space (kind of like the limit of a sequence of progressively smaller area light sources).

  11. Eduardo Fernández

    Where can I find the sources of this version? Need it for Blender addon to work properly on debian 32 bits.

    • Hi,

      why not use the latest version of Mitsuba (compiled for 32 bits) with the latest version of the plugin? If for some reason you absolutely need this version, you could check out both Mercurial repositories for a revision around the release date of 0.4.1.

      Wenzel

      • Eduardo Fernandez

        Thanks, I´ll check Mercurial…. The last version doesn´t work with blender, even with the latest version of the plugin.

      • Eduardo Fernández

        Blender 2.69 output Error when using mitsuba 0.5.0

        “Caught a critical exception: The requested scene is from an older version of Mitsuba (file version: 0.4.1, current version: 0.5.0), hence the loading process was stopped. Please open the scene from within Mitsuba’s graphical user interface (mtsgui) — it will then be upgraded to the current format.”

        • Eduardo Fernández

          Output of mtsgui when using Rendering mode=Mitsuba GUI on blender addon:

          “main [upgrade.cpp:150] Strange — no transformations were applied? Stopping the upgrade operation.”

          what can I do?

          • Can you post a bug report on the mitsuba blender bugtracker? This is not a good place to investigate such an issue. I suspect though that all that needs to change is the version number in the exported XML file..

  12. Eduardo Fernández

    Sorry, can’t do it in https://www.mitsuba-renderer.org/tracker/ because I don’t have access to any https protocol website.

    The problem is solved chanching the version in blender addon files export/scene.py and matpreview/matpreview.xml. Thanks for your hint and for mitsuba.

Leave a comment

What is the color of King George's white horse?