I’ve just released Mitsuba 0.3.0! In hindsight, my previous announcement of a release within 1-2 weeks clearly turned out to be a bit too optimistic… But I hope that it was worth the wait. In addition to all the previously mentioned features, I’ve worked on the following changes:
Python integration: Mitsuba 0.3.0 comes with Python bindings. While the bindings don’t expose the full C++ API, they are already good enough for controlling the renderer, dynamically constructing scenes, and many other useful things. Chapter 11 of the documentation contains a basic overview and several “recipe”-type examples. My main motivation for adding bindings is to reduce the amount of work that is necessary to integrate Mitsuba into commercial modeling tools. I found that since I don’t do any modeling myself, I’m not particularly good at developing such plugins :). I hope that a solid Python API will lower the bar enough so that someone else can give it a shot and succeed.
Integrator overhaul: Some of the integrators in Mitsuba (photon mapping variants, irradiance caching, subsurface integrators) have become somewhat broken due to the many changes that happened over the last months. These are all fixed in the current release. In addition, the photon map-based integrators are now about twice as fast, which is a consequence of switching to a more optimized generic point kd-tree implementation.
Preetham sun/sky & Hanrahan-Krueger models: As part of his thesis (link) on realistic rendering of snow, Tom Kazimiers has developed a great series of extensions to Mitsuba. I’m planning to eventually merge most of them. For now, I’ve added his implementation of the Preetham sun/sky model, as well as an implementation of the Hanrahan-Krueger BSDF (which is an analytic solution to single scattering in a layer of a homogeneous medium). Marios Papas greatly extended the H-K model implementation and verified its correctness against reference simulations.
API reference: A nightly process now creates API documentation for the most recent Mitsuba version. Take a look at http://www.mitsuba-renderer.org/api. The API documentation is also linked from the main Mitsuba web page.
Better builds: I’ve grown a bit tired of making release builds and packages for various platforms, since it tends to be a tedious manual process.
To reduce this burden, I’ve set up seven virtual machines that automatically download the latest version of Mitsuba, compile it, and upload packages for:
- Windows (x86 and x86_64)
- Mac OS 10.6+ (universal binary for x86 and x86_64)
- Ubuntu 10.10 — maverick (x86_64)
- Ubuntu 11.04 — natty (x86_64)
- Debian 6.0 — squeeze (x86_64)
- Fedora Core 15 (x86_64)
- Arch Linux (x86_64)
This set should hopefully cover almost everyone (I’m assuming that any sane Linux user has made the switch to 64-bit at this point). Most of the packages also include development header files, which makes it possible to create custom Mitsuba plugins without ever having to compile the main codebase.
The Windows and MacOS X builds are compiled using the Intel C++ compiler 12. This means that OpenMP now finally works on OSX! (Apple has been shipping a seriously broken version with their compiler for years..)
Since the entire build process is now automated, you can expect to see more frequent releases in the future — I might even switch to a nighly build system at some point.
Future license change: I intend to switch Mitsuba’s license to the more liberal LGPL license (a.k.a. the “lesser GPL”, or “library GPL”) at some point in the near future. This will essentially allow users to write proprietary plugins or link Mitsuba to external applications without having to release their source code. Only changes to the renderer itself would need to be made available. I believe that this is a good compromise between making the system available to a larger group of users, while benefiting from any improvements that are made. The transition will involve getting permission from a few more people, rewriting code, and replacing certain dependencies. For that reason, it might still take a few months. Stay tuned…
Better documentation coverage: A huge amount of work went into the documentation, which now covers many previously undocumented plugins. While still far from complete, it’s at a point where it can serve as a good starting point and reference for every-day use. Be sure to check it out if you are using or evaluating the renderer in any way.
Congratulations for this brand new release!
Thanks for your work Wenzel! ^__^
This is amazing Wenzel!
So sad, that mitsuba now runs not on Leopard OSX ;(
Beautiful work! Rare that a one-man project can be both on the cutting edge of technology and also so well presented and documented.
Ditto!
Kudos!
This is quite awesome – like your renderer very much. Thanks for this !!!
benNO!
great,
is there a exporter for blender?
there used to be, but it’s currently unmaintained
Well, I stumbled upon this exporter: http://bartoszstyperek.wordpress.com/2011/09/10/update-to-mitsuba-exporter-0-6/
It works pretty well on my (official) blender 2.59 build.
The material preview only works after a blender restart..
Awesome work!
Are there many developers beside you working on Mitsuba? How would you compare Mitsuba to Luxrender?
Would you consider saying 0.3.0 is ready for production use?
The examples, especially the wool scarf are really good looking.
It’s mostly myself, but quite a few other people have contributed improvements and bugfixes.
The biggest difference between these two projects is that LuxRender is production-oriented and Mitsuba is intended for research in experimental rendering techniques etc.
Oh no,
Fatal Error: This program was not built to run on the processor in your system.
The allowed processors are: Intel(R) Pentium(R) 4 and compatible Intel processors.
Enables new optimizations in addition to Intel processor-specific
optimizations.
Hi Wenzel,
My CPU:
AMD Athlon 64 X2 4850e
Instructions sets MMX (+), 3DNow! (+), SSE, SSE2, SSE3, x86-64, AMD-V
Or is it the operating system?
Win XP SP3
I would test mitsuba so gladly once.
Cheers,
Arnie
I’m making a 32-bit build without optimizations — check back in a few hours.
There is now a legacy win32 build, which should fix the amd-related issues.
Hi Wenzel,
it works!!!
Many many thanks for your effort.
Greetings
Arnie
I can imagine how much work went into writing that PDF. Where do you get all that energy?
Well, I’m working on blender exporter. I fixed most of material problems + added new ones. Now I work on sun and sky.
Is it me or mitsuba gained some more speed? Awesome
that’s great! Let me know if you want some of those changes to go back into the main codebase.
Awesome! Is there any sort of progress blog/tests?
what do you mean? This is it
😀 I mean Blender plugin. I imagine there is an army of users that’d want to see Mitsuba in Blender.
Great Congratulations for your job, Friend!
Collada + Blender with Mitsuba is The Future!
Great work! Great that you’ve made packages for all these distros (and nice solution for automating it!)
-ps: was great to meet you at siggraph
Hi,
I installed the latest mitsuba version in one blender build from graphicall.org. Everything is fine. Mitsuba is activated as addon. But the Mitsuba Engine Presets are missing. Where can I find them?
The blender plugin is currently unmaintained and likely doesn’t work.
i get this error:
Critical exception
date_time ERROR main [PluginManager] Plugin “bdpt” not found!
Does that means that BiDirectional PathTracing is not implemented yet or just missing?
Mitsuba 0.3.0 (win 7 x64)
That’s correct, the bidirectional & MLT plugins are currently not included in the public release.
Hi Wenzel,
I released some early Blender plugin fixes.
You can get it guys from here:
http://bartoszstyperek.wordpress.com/2011/09/05/mitsuba-exporter-0-5/
I know it is not much, but I will work on it some more. Lots of thing are missing.
Awesome, thanks for working on that. I’ll integrate your improvements into the next release.
Not sure why, rendering suddenly just stops in about 1/2 cases. But hey – it’s working!
check that
http://madebyevan.com/
The real time path traced cornell box is pretty cool :).
“Rare that a one-man project can be both on the cutting edge of technology and also so well presented and documented.”
I second that!
is there anyone skilled and interested in making a blender -> py -> mitsuba plugin? for blender integration, so we can have material previews etc inside blender.
How could you find time to work on *both* awesome research projects and Mitsuba? :->
Thanks — I appreciate that coming from you, Toshiya. To be entirely honest, it’s a pretty tough compromise sometimes
Hi Wenzel,
if my camera point downwards the sky is black.(black below horizon)
Do you plan something like a infinite sky (like vray) ?
I suppose you’re talking about the “sky” or “sunsky” plugins? They have an “extend” flag, which does just that.
I look into the documentation.
“extend boolean Extend luminaire below the horizon? (Default: false)”
I was uncertain because
http://bartoszstyperek.wordpress.com/2011/09/10/update-to-mitsuba-exporter-0-6/#comment-17
Sorry I forgot the Reply-Button
Hi Wenzel,
doesn’t work for me.
http://www.pasteall.org/pic/17815
Or is the “extend” flag in the mtsgui?
Thanks for your fast feedback.
I added extend into blender exporter
Hi JoseConseco,
extend sky works.
Many thanks.
I must testing.
Everything very brightly
Mitsuba with documentation is a big step forward.
Your intelligence and drive certainly have a very bright future ahead.
Any advice on rim lighting with falloff?
I know this is perhaps not ‘real’ pbrt, but the geometric models I want to use this on (based on torii and trefoils, parametric equations) are not ‘real’ either.
Many thanks, especially for now, before a really big
interest picks up on you and your work, and you are unreachable and unavailable to us wannabes.
Thanks — I’m not sure I completely follow the question part of your message.
Regarding rim lighting with falloff: Do you mean something like a spot light with a gradient? That is already supported though not documented yet.
Also, what did you want to ask about shapes and how does that relate to PBRT?
strike that question – I used Blender’s solidify modifier which gave my geometry more of an an edge to render.
From PBRT book’ it seems like a rim light may be related to edge lighting there, but since I found my way out did not pursue the matter …
Rim lights as I refer to are highlighted edges from a illum source, usually from behind the mesh.
New mitsuba is working really awesome.
The photon mapper now delivers incredible results,
where previously I could not get it to work at all.
Sunsky is a great addition.
Wow, I just recently found Mitsuba and this is some great work. Keep it up and please spam the world to take note of this awesome renderer.
Hi Wenzel,
Is there any possibility to build also for Leopard???
You should be able to build it yourself, but you’ll have to disable Python support. I don’t want to keep up supporting pre-snow leopard releases now that lion is out…
Ok i will try it.
could you give me some instructions how to build?
im not able to load the source code and dependencies:
http://picfront.de/d/8lSM
I cant download anything..
Hi Wenzel,
i downloaded the build and the dependecies.
I copied the config_ darwin x86_64.py into the mitsuba folder.
I renamed it to config.py.
In terminal i rooted to the mitsuba folder and wrote scons , but nothing happens(“-bash: $: command not found”)
Any suggestions?
Do you have XCode installed? Please follow the instructions in the documentation as closely as possible. If something doesn’t work, file a support ticket — blog comments are not the right place to discuss such issues
that UNC power plant render is very intriguing…
have you rendered any of the interior scenes also?
Congratulations, I think your 3D rendering engine is excellent both in design and features. In my opinion, the best overall render quality open source, 3d render engine available. I’d really like to see one addition in the future though.
From the Documentation:
“Most algorithms in Mitsuba are written using a generic parallelization layer, which can tap into this cluster-
wide parallelism.”
Does that mean that OpenCL GPU acceleration wouldn’t be too hard to implement in the near future?
Congratulations, great piece of software and brilliant concept, I hope you’ll continue the development, perhaps with plugins for other software, such as C4D …
Meanwhile, I study the manual … 😉
Best Regards
George
yes! c4d plugin is a nice improve! i hope that happen!