yocto/yocto_gl.cpp
inline sampler make_sampler(
        rng_pcg32& rng, int i, int j, int s, int ns, trace_rng_type rtype) {
      // we use various hashes to scramble the pixel values
      return {rng, hash_uint32((uint32_t)(j + 1) << 16 | (uint32_t)(i + 1)), s, 0,
              ns, (int)round(sqrt((float)ns)), rtype};
    }
// Initialize a smp ot type rtype for pixel i, j with ns total samples.
//
// Implementation Notes: we use hash functions to scramble the pixel ids
// to avoid introducing unwanted correlation between pixels. These should not
// around according to the RNG documentaion, but we still found bad cases.
// Scrambling avoids it.
Initialize a smp ot type rtype for pixel i, j with ns total samples.
Implementation Notes: we use hash functions to scramble the pixel ids
to avoid introducing unwanted correlation between pixels. These should not
around according to the RNG documentaion, but we still found bad cases.
Scrambling avoids it.
Initialize a smp ot type rtype for pixel i j with ns total samples . Implementation Notes : we use hash functions to scramble the pixel ids to avoid introducing unwanted correlation between pixels . These should not around according to the RNG documentaion but we still found bad cases . Scrambling avoids it .
inline sampler make_sampler(
        rng_pcg32& rng, int i, int j, int s, int ns, trace_rng_type rtype) {
      return {rng, hash_uint32((uint32_t)(j + 1) << 16 | (uint32_t)(i + 1)), s, 0,
              ns, (int)round(sqrt((float)ns)), rtype};
    }
inline sampler make_sampler ( rng_pcg32 & rng , int i , int j , int s , int ns , trace_rng_type rtype ) { return { rng , hash_uint32 ( ( uint32_t ) ( j + 1 ) << 16 | ( uint32_t ) ( i + 1 ) ) , s , 0 , ns , ( int ) round ( sqrt ( ( float ) ns ) ) , rtype } ; }
Initialize a smp ot type rtype for pixel i, j with ns total samples.
Initialize a smp ot type rtype for pixel i j with ns total samples .
// we use various hashes to scramble the pixel values