49 lines
2.9 KiB
TeX
49 lines
2.9 KiB
TeX
|
\section{Miscellaneous topics}
|
||
|
\label{sec:miscellaneous}
|
||
|
\subsection{A word about color spaces}
|
||
|
\label{sec:colorspaces}
|
||
|
When using one of the downloadable release builds of Mitsuba, or a version
|
||
|
that was compiled with the default settings, the renderer internally
|
||
|
operates in \emph{RGB mode}: all computations are performed using a representation
|
||
|
that is based on the three colors red, green, and blue.
|
||
|
|
||
|
More specifically, these are the intensities of the red, green, and blue primaries
|
||
|
defined by the sRGB standard (ITU-R Rec. BT. 709-3 primaries with a D65 white point).
|
||
|
Mitsuba transparently converts all input data (e.g. textures) into this space before
|
||
|
rendering. This is an intuitive default which yields fast computations and
|
||
|
satisfactory results for most applications.
|
||
|
|
||
|
Low dynamic range images exported using the \pluginref{ldrfilm} will be stored in a
|
||
|
sRGB-compatible format that accounts for the custom gamma curves mandated by this
|
||
|
standard. They should display as intended across a wide range of display devices.
|
||
|
|
||
|
When saving high dynamic range output (e.g. OpenEXR, RGBE, or PFM), the computed radiance
|
||
|
values are exported in a linear form (i.e. without having the sRGB gamma curve applied to it),
|
||
|
which is the most common way of storing high dynamic range data.
|
||
|
It is important to keep in mind that other applications may not support this
|
||
|
``linearized sRGB'' space---in particular, the Mac OS preview currently
|
||
|
does not display images with this encoding correctly.
|
||
|
|
||
|
\subsubsection{Spectral mode}
|
||
|
Some predictive rendering applications will require a more realistic space for
|
||
|
interreflection computations. In such cases, Mitsuba can be switched to \emph{spectral mode}.
|
||
|
This can be done by compiling it with the \code{SPECTRUM\_SAMPLES=}$n$ parameter
|
||
|
(\secref{compiling}), where $n$ is usually between 15 and 30.
|
||
|
|
||
|
Now, all input parameters are converted into color spectra with the specified
|
||
|
number of discretizations, and the computation then proceeds using this space.
|
||
|
The process of writing an output image works differently: when spectral output
|
||
|
is desired (\pluginref{hdrfilm}, \pluginref{tiledhdrfilm}, and \pluginref{mfilm}
|
||
|
support this), Mitsuba creates special image files with many color channels (one
|
||
|
per spectral band).
|
||
|
Generally, other applications will not be able to display these images. The Mitsuba GUI
|
||
|
can be used to view them, however (simply drag \& drop an image onto the application).
|
||
|
|
||
|
It is also possible to write out XYZ tristimulus values, in which case the spectral
|
||
|
data is convolved with the CIE 1931 color matching curves. This is most useful to users
|
||
|
who want to do their own color processing in a space with a wide gamut.
|
||
|
|
||
|
Finally, sRGB output is still possible. However, the color processing used in this case
|
||
|
is fairly na\"ive: out-of-gamut values are simply clipped. This is something that may
|
||
|
be improved in the future (e.g. by making use of a color management library like \code{lcms2})
|