Hammersley QMC sampler (hammersley)

hammersley_a.png hammersley_b.png
(a) Projection of the first 1024 points of the Faurescrambled sequence onto the first two dimensions. (b) Projection of the first 1024 points of the Faurescrambled sequence onto the 32th and 33th dim.

This plugin implements a Quasi-Monte Carlo (QMC) sample generator based on the Hammersley
sequence. QMC number sequences are designed to reduce sample clumping across integration
dimensions, which can lead to a higher order of convergence in renderings. Because of the deterministic
character of the samples, errors willmanifest as grid ormoiré patterns rather than randomnoise,
but these diminish as the number of samples is increased.
The Hammerlsey sequence is closely related to the Halton sequence and yields a very high quality
point set that is slightly more regular (and has lower discrepancy), especially in the first few dimensions.
As is the case with the Halton sequence, the points should be scrambled to reduce patterns
thatmanifest due due to correlations in higher dimensions. Please refer to the halton page formore
information on how this works.
Note that this sampler will cause odd-looking intermediate results when combined with rendering
techniques that trace paths starting at light source (e.g. ptracer)—these vanish by the time the
rendering process finishes.

• This sampler is incompatible withMetropolis Light Transport (all variants). It interoperates poorly
with Bidirectional Path Tracing and Energy Redistribution Path Tracing, hence these should not be
used together.The sobol QMC sequence is an alternative for the latter two cases, and ldsampler
works as well.

Parameter Type Description
sampleCount integer Number of samples per pixel (Default: 4)
scramble integer This plugin can operate in one of three scrambling modes:
(i) When set to 0, the implementation will provide the
standard Hammersley sequence.
(ii) When set to -1, the implementation will compute
a scrambled variant of the Hammersley sequence
based on permutations by Faure [10], which has better
equidistribution properties in high dimensions.
(iii) When set to a value greater than one, a randompermutation
is chosen based on this number. This is useful
to break up temporally coherent noise when rendering
the frames of an animation — in this case, simply
set the parameter to the current frame index.
Default: -1, i.e. use the Faure permutations. Note that permutations
rely on a precomputed table that consumes approximately
7 MiB of additional memory at run time.

  • 最終更新:2014-07-25 11:04:46