low-discrepancy Sobol sequence sampler

Use low-discrepancy Sobol sequences for sampling [Ostromoukhov2024]. This sampler might produce slightly lower integration variances, compared with a uniform sampler.

[Ostromoukhov2024]

Quad-Optimized Low-Discrepancy Sequences, by Victor Ostromoukhov, Nicolas Bonneel, David Coeurjolly, Jean-Claude Iehl, 2024. Link.


class sobolld_t : public wt::sampler::sampler_t

Low-discrepancy Sobol sequence sampler. From “Quad-Optimized Low-Discrepancy Sequences”, Ostromoukhov et al. 2024 https://github.com/liris-origami/Quad-Optimized-LDS.

Public Functions

sobolld_t(std::string id = "")
sobolld_t(sobolld_t&&) = default
virtual ~sobolld_t() noexcept
inline virtual f_t r() noexcept override

Draws samples from the sampler.

Returns:

f_t a single sample

inline virtual vec2_t r2() noexcept override

Draws samples from the sampler.

Returns:

vec2_t two sample

inline virtual vec3_t r3() noexcept override

Draws samples from the sampler.

Returns:

vec3_t three samples sample

inline virtual vec4_t r4() noexcept override

Draws samples from the sampler.

Returns:

vec4_t four sample

virtual scene::element::info_t description() const override

Public Static Functions

static std::shared_ptr<sobolld_t> load(std::string id, scene::loader::loader_t *loader, const scene::loader::node_t &node, const wt::wt_context_t &context)