Mitsuba is a GPLv3 research-oriented rendering system in the style of physically-based rendering technology. It is written in C++, implements unbiased as well as biased techniques, and contains heavy optimizations targeted towards current CPU architectures.
It is experimental by its own mission statement, so it is not a rendering engine for everyday use without testing, but its code has been used as a basis for some very important engines, and the render results speak for themselves.
Mitsuba has not only all the usual features of modern render engines, but it maintains a lead ahead of others due to its commitment to experimentation. It features important advances in ambient occlusion, direct illumination, photon mapping, particle tracing, instant radiosity, and much more.
Physically based rendering is a popular trend, so Mitsuba is not unique in taking this approach, but its results are very good. Its code has been used and referenced by very accomplished rendering systems, making it interesting to use at least in render tests.
If you are looking for a rendering engine to adopt for day-to-day work, this may not be the best choice, given that it is in frequent flux. According to its own mission statement, it is an academic and experimental project.
Installing Mitsuba broadly requires, like other renderers, the installation of the Mitsuba base package, and then the plugin that will make it useful in your application of choice (probably blender).
To get the basic Mitsuba package installed, first install its dependencies; all of them are available from http://slackbuilds.org.
Once the dependencies are installed, install Mitsuba from http://slackbuilds.org.
libglewmx. While Slackware ships with
GLEW, it has not been compiled to include
libglewmx (Slackermedia sent a patch to Slackware, so
libglewmx will be included in the next version), so you will have to re-compile and re-install it manually.
To do this, get the
glew SlackBuild from your install disc (it is in the
x series) or download it from your nearest Slackware mirror (for example, ftp://ftp.osuosl.org/pub/slackware/slackware-14.1/source/x). Download the
glew source code.
make line in the SlackBuild to:
make install.all GLEW_DEST=$PKG/usr
Remove the old version of
glew and install the new version with
# upgradepkg --install-new \ --reinstall /tmp/glew*tgz
Install only the same version of
glew as the version that Slackware ships with. If you impulsively decide to upgrade to later GLEW code, then other packages using
libglew could break, since they have been built to look for a specific version and, after your new install, they will not be able to find them.
Sometimes repairing a missing library is as easy as lying to your system:
ln -s /usr/lib64/libGLEW.so.1.12 /usr/lib64/libGLEW.so.1.9
This often fixes the problem, but theoretically it can cause less obvious problems in the application wanting the older version of the library, especially if something important has changed between the old version and the new version, so it's best to avoid situations like this.
libglewmx support has been built. If nothing is returned, then
glewmx is still missing. Otherwise, the install was a success:
$ grep glewmx /var/log/packages/glew-X.Y.Z-x86_64 usr/lib64/pkgconfig/glewmx.pc
Once all dependencies and the
glew patch has been made, install Mitsuba.
If you intend to use Mitsuba with Blender, install the Mitsuba-blender package from SlackBuilds.org
Mitsuba has several entry points. It can be launched as a shell application:
$ mitsuba /path/to/file.xml -o render.exr
It has a stand-alone GUI frontend, which you can launch from the K Menu or from a shell:
And finally, the Blender plugin, which can be activated and used the same as any other Blender plugin:
- Activate the Blender plugin in the User Preferences panel → Render. (There is no need to install the plugin as you might other Blender addons, because the LuxRender installer from SlackBuilds has already installed it for you.)
- Make it your active renderer in the Info panel