ISampleSequence
The sequence of random numbers a path tracer draws its sample values from (rendering-revamp §RVR-3, §RVA-9).
| Inherited By | construct::pathtrace::IndependentSequence and construct::pathtrace::SobolBurleySequence |
In the namespace construct::pathtrace. Declared in src/libs/libconstruct/construct/pathtrace/SampleSequence.hpp.
Detailed description
A sequence gives each pixel, sample index and dimension group four values in [0, 1). The tracer reads it through the GLSL function `vec4 ss_sample4(uint sampleIndex, uvec2 pixel, uint group)`, which glsl() provides, and sample4() is the same function in C++, so a test can check the GPU against the CPU and the sequence's statistics without a GPU.
A group is four dimensions. Groups 0 and 1 belong to the camera (pixel, lens, time, wavelength). Bounce b uses the groups 2 + 2b and 3 + 2b.