2010-08-11 00:24:09 +08:00
|
|
|
\section{Introduction}
|
2011-07-05 19:24:22 +08:00
|
|
|
\textbf{Disclaimer:} This is manual is currently a work in progress---please
|
|
|
|
bear with me while things are coming together.
|
2010-08-11 00:24:09 +08:00
|
|
|
|
|
|
|
\subsection{About Mitsuba}
|
|
|
|
Mitsuba is an extensible rendering framework written in portable C++. It implements unbiased
|
|
|
|
as well as biased techniques and contains heavy optimizations targeted towards current CPU
|
|
|
|
architectures.
|
2011-06-01 09:26:23 +08:00
|
|
|
In comparison to other open source renderers, Mitsuba places a strong emphasis on recent research-oriented
|
2011-05-30 18:17:46 +08:00
|
|
|
rendering techniques, such as path-based formulations of Metropolis Light Transport and volumetric
|
2010-08-11 00:24:09 +08:00
|
|
|
modeling approaches.
|
|
|
|
|
2011-07-05 19:24:22 +08:00
|
|
|
\paragraph{Performance:}
|
|
|
|
One important goal of Mitsuba is to provide optimized implementations of the most commonly
|
|
|
|
used rendering algorithms. By virtue of running on a shared foundation, comparisons between them can
|
|
|
|
better highlight the merits and limitations of different approaches. This is in contrast to, say,
|
|
|
|
comparing two completely different rendering products, where technical information on the underlying
|
|
|
|
implementation is often intentionally not provided.
|
|
|
|
|
|
|
|
\paragraph{Robustness:}
|
|
|
|
In many cases, physically-based rendering packages force the user to model scenes with the underlying
|
|
|
|
algorithm (specifically: its convergence behavior) in mind. For instance, glass windows are routinely
|
|
|
|
replaced with light portals, photons must be manually guided to the relevant parts of a scene, and
|
|
|
|
interactions with complex materials are taboo, since they cannot be importance sampled exactly.
|
|
|
|
One focus of Mitsuba will be to develop path-space light transport algorithms, which handle such
|
|
|
|
cases more gracefully.
|
|
|
|
|
|
|
|
\paragraph{Scalability:} Mitsuba instances can be merged into large clusters, which transparently distribute and
|
|
|
|
jointly execute tasks assigned to them using only node-to-node communcation. It has successfully
|
|
|
|
scaled to large-scale renderings that involved 1024 cores working on a single image.
|
|
|
|
Most algorithms in Mitsuba are written using a generic parallelization layer, which can tap
|
|
|
|
into this cluster-wide parallelism. The principle is that if any component of the renderer produces
|
|
|
|
work that takes longer than a second or so, it at least ought to use all of the processing power
|
|
|
|
it can get.
|
|
|
|
|
|
|
|
The renderer also tries to be very conservative in its use of memory, which lets it handle
|
|
|
|
large scenes (>30 million triangles) and multi-gigabyte heterogeneous volumes on consumer hardware.
|
|
|
|
|
|
|
|
\paragraph{Usability:}
|
|
|
|
Mitsuba comes with a graphical user interface to interactively explore scenes. Once a suitable
|
|
|
|
viewpoint has been found, it is straightforward to perform renderings using any of the
|
|
|
|
implemented rendering techniques, while tweaking their parameters to find the most suitable
|
|
|
|
settings. Experimental integration into Blender 2.5 is also available.
|
|
|
|
|
2010-08-11 00:24:09 +08:00
|
|
|
\subsection{License}
|
2011-07-05 19:24:22 +08:00
|
|
|
Mitsuba is free software and can be redistributed and modified under the terms of the GNU General
|
|
|
|
Public License (Version 3) as provided by the Free Software Foundation.
|
|
|
|
|
|
|
|
|