diff --git a/src/mtsgui/resources/docs.xml b/src/mtsgui/resources/docs.xml
index 1bc04460..c71e78c4 100644
--- a/src/mtsgui/resources/docs.xml
+++ b/src/mtsgui/resources/docs.xml
@@ -72,7 +72,7 @@
leads to 14x(2*14)=392 samples
- Quality setting (\kappa in the [Tabellion et al.] paper).
+ Quality setting ("kappa" in the [Tabellion et al.] paper).
A value of 1 should be adequate in most cases.
@@ -196,10 +196,10 @@
- Extended path tracer -- uses multiple importance sampling to combine
- two sampling strategies, namely BSDF and luminaire sampling. This class also
- supports volumetric absorption, but does not attempt to solve the
- full radiative transfer equation (see volpath if this is needed).
+ This integrator implements a basic path tracer with multiple importance sampling and is a good
+ default choice when there is no strong reason to prefer another method.
+ It does not account for participating media, such as fog or smoke—see
+ the volumetric path tracer if this is needed.
@@ -395,7 +395,7 @@
when rendering scenes involving depth-of-field, motion blur, and glossy reflections.
Note that this integrator ignores the sampler
- configuration---hence, the usual steps of choosing a sample generator and a desired
+ configuration—hence, the usual steps of choosing a sample generator and a desired
number of samples per pixel are not necessary. As with PPM, once started,
the rendering process continues indefinitely until it is manually stopped.
@@ -437,7 +437,7 @@
are explicitly represented by surfaces in the scene so that they can be
intersected by random walks started at emitters.
- Bidirectional path tracing is a relatively "heavy" rendering technique---for
+
Bidirectional path tracing is a relatively "heavy" rendering technique—for
the same number of samples per pixel, it is easily 3-4 times slower than regular
path tracing. However, it usually makes up for this by producing considerably
lower-variance radiance estimates (i.e. the output images have less noise).
@@ -586,11 +586,27 @@
- Veach-style Metropolis Light Transport implementation with support for
- bidirectional mutations, lens perturbations, caustic perturbations and
- multi-chain perturbations. Several optimizations are also implemented, namely
- separate direct illumination, two-stage MLT, and importance sampling of
- mutation strategies. For details, see the respective parameter descriptions.
+ Metropolis Light Transport (MLT) is a seminal rendering technique proposed by Veach and
+ Guibas, which applies the Metropolis-Hastings
+ algorithm to the path-space formulation of light transport.
+ Please refer to the PSSMLT documentation for a general description of MLT-type
+ algorithms and a list of caveats that also apply to this plugin.
+
+ Like PSSMLT, this integrator explores the space of light paths,
+ searching with preference for those that carry a significant amount of
+ energy from an emitter to the sensor. The main difference is that PSSMLT
+ does this exploration by piggybacking on another rendering technique and
+ "manipulating" the random number stream that drives it, whereas MLT does
+ not use such an indirection: it operates directly on the actual light
+ paths.
+
+ This means that the algorithm has access to considerably more
+ information about the problem to be solved, which allows it to perform a
+ directed exploration of certain classes of light paths. The main downside
+ is that the implementation is rather complex, which may make it more
+ susceptible to unforeseen problems. Mitsuba reproduces the full MLT
+ algorithm except for the lens subpath mutation. In addition, the plugin also provides the
+ manifold perturbation proposed by Jakob and Marschner.
Specifies the longest path depth in the generated output image (where -1
@@ -598,26 +614,24 @@
2 will lead to single-bounce (direct-only) illumination, and so on.
- When separateDirect is set to true, this parameter can
- be used to specify the samples per pixel used to render the
- direct component. Should be a power of two (otherwise, it will be
- rounded to the next one). When set to zero or less, the
- direct illumination component will be hidden, which is useful
- for analyzing the component rendered by MLT.
+ By default, this plugin renders the direct illumination component
+ separately using an optimized direct illumination sampling strategy
+ that uses low-discrepancy number sequences for superior performance
+ (in other words, it is not rendered by MLT). This
+ parameter specifies the number of samples allocated to that method. To
+ force MLT to be responsible for the direct illumination
+ component as well, set this parameter to -1.
-
- This setting can be very useful to reduce noise in dark regions
- of the image: it activates two-stage MLT, where a nested MLT renderer
- first creates a tiny version of the output image. In a second pass,
- the full version is then rendered, while making use of information
- about the image-space luminance distribution found in the first
- pass. Two-stage MLT is very useful in making the noise characteristics
- more uniform over time image -- specifically, since MLT tends to get
- stuck in very bright regions at the cost of the remainder of the image.
+
+ Use two-stage MLT? Please see the documentation for details.
- Number of samples used to estimate the total luminance
- received by the camera's sensor.
+ MLT-type algorithms create output images that are only
+ relative The algorithm can e.g. determine that a certain pixel
+ is approximately twice as bright as another one, but the absolute
+ scale is unknown. To recover it, this plugin computes
+ the average luminance arriving at the sensor by generating a
+ number of samples.
Selectively enable/disable the bidirectional mutation
@@ -635,27 +649,34 @@
Selectively enable/disable the manifold perturbation
- Manifold perturbation: probability factor ("lambda")
-
-
- If set to a nonzero value, the rendering process will automatically be stopped after this many seconds.
+ Probability factor ("lambda") of the manifold perturbation
- Energy redistribution path tracing as proposed by Cline et al.
+ Energy Redistribution Path Tracing (ERPT) by Cline et al.
+ combines Path Tracing with the perturbation strategies of Metropolis Light Transport.
+
+ An initial set of seed paths is generated using a standard bidirectional
+ path tracer, and for each one, a MLT-style Markov Chain is subsequently started
+ and executed for some number of steps.
+ This has the effect of redistributing the energy of the individual samples
+ over a larger area, hence the name of this method.
+
+ This plugin shares all the perturbation strategies of the MLT plugin, and
+ the same rules for selecting them apply. In contrast to the original
+ paper by Cline et al., the Mitsuba implementation uses a bidirectional
+ (rather than an unidirectional) bidirectional path tracer to create seed paths.
+ Also, since they add bias to the output, this plugin does not use the image
+ post-processing filters proposed by the authors.
Specifies the longest path depth in the generated output image (where -1
corresponds to ∞). A value of 1 will only render directly visible light sources.
2 will lead to single-bounce (direct-only) illumination, and so on.
-
- Specifies the minimum path depth, after which the implementation will start to use the
- "russian roulette" path termination criterion (set to -1 to disable).
-
Specifies the number of Markov Chains that, on average, are
started per pixel
@@ -668,12 +689,13 @@
Specifies the number of mutations to be performed in each Markov Chain
- When separateDirect is set to true, this parameter can
- be used to specify the samples per pixel used to render the
- direct component. Should be a power of two (otherwise, it will be
- rounded to the next one). When set to zero or less, the
- direct illumination component will be hidden, which is useful
- for analyzing the component rendered by MLT.
+ By default, this plugin renders the direct illumination component
+ separately using an optimized direct illumination sampling strategy
+ that uses low-discrepancy number sequences for superior performance
+ (in other words, it is not rendered by ERPT). This
+ parameter specifies the number of samples allocated to that method. To
+ force ERPT to be responsible for the direct illumination
+ component as well, set this parameter to -1.
Number of samples used to estimate the average contribution of a
@@ -695,22 +717,13 @@
Selectively enable/disable the manifold perturbation
- Manifold perturbation: probability factor ("lambda")
+ Probability factor ("lambda") of the manifold perturbation
+
+
+ When creating seed paths, this parameter specifies the minimum path depth, after which the
+ implementation will start to use the
+ "russian roulette" path termination criterion (set to -1 to disable).
-
-
- Base class of all participating media
-
- Base class of all participating media -- By default, the parameters are set to
- the skim milk data from "A Practical Model for Subsurface scattering" (Jensen et al.)
-
- Scattering coefficient
- Absorption coefficient
- Scattering/absorption coefficient multiplier - can be used to convert these to world-space units.
-
- Specifies the phase function of the medium. If none is specified,
- the default (isotropic) is chosen.
-