From f130fa9e435d6722dfb6fb2a1249a4aa848e35f0 Mon Sep 17 00:00:00 2001 From: Wenzel Jakob Date: Mon, 22 Aug 2011 21:03:58 -0400 Subject: [PATCH] added a new shape documentation section --- doc/section_shapes.tex | 94 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 doc/section_shapes.tex diff --git a/doc/section_shapes.tex b/doc/section_shapes.tex new file mode 100644 index 00000000..093d3974 --- /dev/null +++ b/doc/section_shapes.tex @@ -0,0 +1,94 @@ +\newpage +\subsection{Shapes} +\label{sec:shapes} +This section presents an overview of the shape plugins that are released along with the renderer. + +In Mitsuba, shapes define surfaces that mark transitions between different types of materials. For instance, +a shape could describe a boundary between air and a solid object, such as a piece of rock. Alternatively, +a shape can mark the beginning of a region of space that isn't solid at all, but rather contains a participating +medium, such as smoke or steam. Finally, a shape can be used to create an object that emits light on its own. + +Shapes are usually declared along with a surface scattering model (named ``BSDF'', see \secref{bsdfs} for details). +This BSDF characterizes what happens \emph{at the surface}. In the XML scene description language, this might look like +the following: +\begin{xml} + + + ... $\code{shape}$ parameters ... + + + ... $\code{bsdf}$ parameters .. + + + + + +\end{xml} + +When a shape marks the transition to a participating medium (e.g. smoke, fog, ..), it is furthermore +necessary to provide information about the two media that lie at the \emph{interior} and \emph{exterior} +of the shape. This informs the renderer about what happens in the region of space \emph{surrounding the surface}. + +\begin{xml} + + + ... $\code{shape}$ parameters ... + + + ... $\code{medium}$ parameters ... + + + + ... $\code{medium}$ parameters ... + + + + + +\end{xml} + +You may have noticed that the previous XML example dit not make any mention of surface +scattering models (BSDFs). In Mitsuba, such a shape declaration creates an \emph{index-matched} boundary. +This means that incident illumination will pass through the surface without undergoing any kind of +interaction. However, the renderer will still uses the information available in the shape to correctly +account for the medium change. + +It is also possible to create \emph{index-mismatched} boundaries between media, where some of +the light is affected by the boundary transition: +\begin{xml} + + + ... $\code{shape}$ parameters ... + + + ... $\code{bsdf}$ parameters .. + + + + ... $\code{medium}$ parameters ... + + + + ... $\code{medium}$ parameters ... + + + + + +\end{xml} +