10 x ^= (
x * 0x6c50b47cu);
54 return cmj_hash(i, p) * (1.0f / 4294967808.0f);
70 float jitter_x = 0.0f;
71 if (
kernel_data.integrator.scrambling_distance < 1.0f) {
75 dimension, rng_hash,
kernel_data.integrator.scrambling_distance);
85 # warning "Using XOR shuffle."
93 const uint d = (dimension + sample_set);
102 #ifndef _NO_CRANLEY_PATTERSON_ROTATION_
104 # ifdef _SIMPLE_HASH_
110 fx = fx + dx + jitter_x;
113 # warning "Not using Cranley-Patterson Rotation."
127 float jitter_x = 0.0f;
128 float jitter_y = 0.0f;
129 if (
kernel_data.integrator.scrambling_distance < 1.0f) {
133 dimension, rng_hash,
kernel_data.integrator.scrambling_distance);
135 dimension + 1, rng_hash,
kernel_data.integrator.scrambling_distance);
145 # warning "Using XOR shuffle."
153 const uint d = dimension + sample_set;
160 #ifndef _NO_CRANLEY_PATTERSON_ROTATION_
162 # ifdef _SIMPLE_HASH_
170 float sx = fx + dx + jitter_x;
171 float sy = fy + dy + jitter_y;
175 # warning "Not using Cranley Patterson Rotation."
typedef float(TangentPoint)[2]
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
static unsigned long seed
#define ccl_device_inline
#define CCL_NAMESPACE_END
const KernelGlobalsCPU *ccl_restrict KernelGlobals
#define kernel_data_fetch(name, index)
ccl_gpu_kernel_postfix ccl_global float int int sy
ccl_gpu_kernel_postfix ccl_global float int sx
ccl_device_inline float cmj_randfloat_simple_dist(uint i, uint p, float d)
ccl_device void pmj_sample_2D(KernelGlobals kg, uint sample, uint rng_hash, uint dimension, ccl_private float *x, ccl_private float *y)
CCL_NAMESPACE_BEGIN ccl_device_inline uint32_t laine_karras_permutation(uint32_t x, uint32_t seed)
ccl_device_inline float cmj_randfloat(uint i, uint p)
ccl_device_inline uint32_t nested_uniform_scramble(uint32_t x, uint32_t seed)
ccl_device_inline float cmj_randfloat_simple(uint i, uint p)
ccl_device float pmj_sample_1D(KernelGlobals kg, uint sample, uint rng_hash, uint dimension)
ccl_device_inline uint cmj_hash(uint i, uint p)
ccl_device_inline uint cmj_hash_simple(uint i, uint p)
ccl_device_inline uint32_t reverse_integer_bits(uint32_t x)