mitsuba/doc/introduction.tex

50 lines
2.9 KiB
TeX

\section{Introduction}
\textbf{Disclaimer:} This is manual is currently a work in progress---please
bear with me while things are coming together.
\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.
In comparison to other open source renderers, Mitsuba places a strong emphasis on recent research-oriented
rendering techniques, such as path-based formulations of Metropolis Light Transport and volumetric
modeling approaches.
\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.
\subsection{License}
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.