Independent class

Independent sampling - returns independent uniformly distributed random numbers on $[0, 1)^2$ .

This class is essentially just a wrapper around the pcg32 pseudorandom number generator. For more details on what sample generators do in general, refer to the Sampler class.

Base classes

class Sampler
Abstract sample generator.

Public functions

auto clone() const -> std::unique_ptr<Sampler> override
Create an exact clone of the current instance.
void seed(int seedx, int seedy) override
Deterministically seed the underlying RNG (to produce identical results between runs)
void start_pixel(int x, int y) override
Prepare to generate samples for pixel (x,y).
auto next1f() -> float override
Retrieve the next float value (dimension) from the current sample.
auto next2f() -> Vec2f override
Retrieve the next two float values (dimensions) from the current sample.

Function documentation

std::unique_ptr<Sampler> Independent::clone() const override

Create an exact clone of the current instance.

This is useful if you want to duplicate a sampler to use in multiple threads

void Independent::start_pixel(int x, int y) override

Prepare to generate samples for pixel (x,y).

This function is called every time the integrator starts rendering a new pixel.