1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//! The **Sampler** base class not only defines the interface to
//! samplers but also provides some common functionality for use by
//! **Sampler** implementations.
//!
//! - HaltonSampler
//! - MaxMinDistSampler
//! - RandomSampler
//! - SobolSampler
//! - StratifiedSampler
//! - ZeroTwoSequenceSampler
//!
//! ## Halton Sampler
//!
//! The Halton Sampler generates not only points that are guaranteed
//! to not clump too closely together, but also generates points that
//! are simultaneously well distributed over all the dimensions of the
//! sample vector.
//!
//! ![halton](/doc/img/cornell_box_pbrt_rust_halton.png)
//!
//! ## Random Sampler
//!
//! The Random Sampler is using the random number generetor class
//! **RNG** based on an unpublished manuscript by O'Neill: A family of
//! simple fast space-efficient statistically good algorithms for
//! random number generation.
//!
//! ![random](/doc/img/cornell_box_pbrt_rust_random.png)
//!
//! ## Sobol Sampler
//!
//! The Sobol Sampler is very efficient to implement while also being
//! extremly well distributed over all dimensions of the sample
//! vector. The weakness of the Sobol' points is that they are prone
//! to structural grid artefacts before convergence.
//!
//! ![sobol](/doc/img/cornell_box_pbrt_rust_sobol.png)
//!
//! ## (0,2)-Sequence Sampler
//!
//! Certain low-discrepancy sequences allow us to satisfy two
//! desirable properties of samples: they generate sample vectors for
//! a pixel's worth of image samples such that the sample values for
//! each pixel sample are well distributed with respect to each other,
//! and simultaneuously such that the aggregate collection of sample
//! values for all of the pixel samples in the pixel are collectively
//! well distributed.
//!
//! ![lowdiscrepancy](/doc/img/cornell_box_pbrt_rust_lowdiscrepancy.png)
//!

pub mod halton;
pub mod maxmin;
pub mod random;
pub mod sobol;
pub mod stratified;
pub mod zerotwosequence;