27 float pwHL =
powf(lacunarity, -
H);
35 float rmd = octaves -
floorf(octaves);
58 float pwHL =
powf(lacunarity, -
H);
66 float rmd = octaves -
floorf(octaves);
68 value *= (rmd * pwr *
snoise_1d(p) + 1.0f);
83 float co,
float H,
float lacunarity,
float octaves,
float offset)
86 float pwHL =
powf(lacunarity, -
H);
100 float rmd = octaves -
floorf(octaves);
103 value += rmd * increment;
118 float co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
121 float pwHL =
powf(lacunarity, -
H);
127 for (
int i = 0; (weight > 0.001f) && (i <
float_to_int(octaves)); i++) {
134 value += weight * signal;
135 weight *= gain * signal;
139 float rmd = octaves -
floorf(octaves);
140 if ((rmd != 0.0f) && (weight > 0.001f)) {
145 value += rmd * weight * signal;
160 float co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
163 float pwHL =
powf(lacunarity, -
H);
168 float value = signal;
177 value += signal * pwr;
201 float pwHL =
powf(lacunarity, -
H);
209 float rmd = octaves -
floorf(octaves);
232 float pwHL =
powf(lacunarity, -
H);
240 float rmd = octaves -
floorf(octaves);
242 value *= (rmd * pwr *
snoise_2d(p) + 1.0f);
257 float2 co,
float H,
float lacunarity,
float octaves,
float offset)
260 float pwHL =
powf(lacunarity, -
H);
274 float rmd = octaves -
floorf(octaves);
277 value += rmd * increment;
292 float2 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
295 float pwHL =
powf(lacunarity, -
H);
301 for (
int i = 0; (weight > 0.001f) && (i <
float_to_int(octaves)); i++) {
308 value += weight * signal;
309 weight *= gain * signal;
313 float rmd = octaves -
floorf(octaves);
314 if ((rmd != 0.0f) && (weight > 0.001f)) {
319 value += rmd * weight * signal;
334 float2 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
337 float pwHL =
powf(lacunarity, -
H);
342 float value = signal;
351 value += signal * pwr;
375 float pwHL =
powf(lacunarity, -
H);
383 float rmd = octaves -
floorf(octaves);
406 float pwHL =
powf(lacunarity, -
H);
414 float rmd = octaves -
floorf(octaves);
416 value *= (rmd * pwr *
snoise_3d(p) + 1.0f);
431 float3 co,
float H,
float lacunarity,
float octaves,
float offset)
434 float pwHL =
powf(lacunarity, -
H);
448 float rmd = octaves -
floorf(octaves);
451 value += rmd * increment;
466 float3 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
469 float pwHL =
powf(lacunarity, -
H);
475 for (
int i = 0; (weight > 0.001f) && (i <
float_to_int(octaves)); i++) {
482 value += weight * signal;
483 weight *= gain * signal;
487 float rmd = octaves -
floorf(octaves);
488 if ((rmd != 0.0f) && (weight > 0.001f)) {
493 value += rmd * weight * signal;
508 float3 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
511 float pwHL =
powf(lacunarity, -
H);
516 float value = signal;
525 value += signal * pwr;
549 float pwHL =
powf(lacunarity, -
H);
557 float rmd = octaves -
floorf(octaves);
580 float pwHL =
powf(lacunarity, -
H);
588 float rmd = octaves -
floorf(octaves);
590 value *= (rmd * pwr *
snoise_4d(p) + 1.0f);
605 float4 co,
float H,
float lacunarity,
float octaves,
float offset)
608 float pwHL =
powf(lacunarity, -
H);
622 float rmd = octaves -
floorf(octaves);
625 value += rmd * increment;
640 float4 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
643 float pwHL =
powf(lacunarity, -
H);
649 for (
int i = 0; (weight > 0.001f) && (i <
float_to_int(octaves)); i++) {
656 value += weight * signal;
657 weight *= gain * signal;
661 float rmd = octaves -
floorf(octaves);
662 if ((rmd != 0.0f) && (weight > 0.001f)) {
667 value += rmd * weight * signal;
682 float4 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
685 float pwHL =
powf(lacunarity, -
H);
690 float value = signal;
699 value += signal * pwr;
714 uint type, dimensions, co_stack_offset, w_stack_offset;
715 uint scale_stack_offset, detail_stack_offset, dimension_stack_offset, lacunarity_stack_offset;
716 uint offset_stack_offset, gain_stack_offset, fac_stack_offset;
721 &detail_stack_offset,
722 &dimension_stack_offset,
723 &lacunarity_stack_offset);
738 dimension =
fmaxf(dimension, 1e-5f);
739 detail =
clamp(detail, 0.0f, 15.0f);
740 lacunarity =
fmaxf(lacunarity, 1e-5f);
744 switch (dimensions) {
756 p, dimension, lacunarity, detail, foffset, gain);
760 p, dimension, lacunarity, detail, foffset, gain);
781 p, dimension, lacunarity, detail, foffset, gain);
785 p, dimension, lacunarity, detail, foffset, gain);
806 p, dimension, lacunarity, detail, foffset, gain);
810 p, dimension, lacunarity, detail, foffset, gain);
831 p, dimension, lacunarity, detail, foffset, gain);
835 p, dimension, lacunarity, detail, foffset, gain);
_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 type
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
#define ccl_device_noinline_cpu
#define ccl_device_noinline
#define CCL_NAMESPACE_END
const KernelGlobalsCPU *ccl_restrict KernelGlobals
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3(ccl_private float *stack, uint a)
ccl_device_inline uint4 read_node(KernelGlobals kg, ccl_private int *offset)
ccl_device_forceinline void svm_unpack_node_uchar3(uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z)
ccl_device_inline float stack_load_float_default(ccl_private float *stack, uint a, uint value)
ccl_device_inline void stack_store_float(ccl_private float *stack, uint a, float f)
ccl_device_forceinline void svm_unpack_node_uchar4(uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z, ccl_private uint *w)
@ NODE_MUSGRAVE_MULTIFRACTAL
@ NODE_MUSGRAVE_RIDGED_MULTIFRACTAL
@ NODE_MUSGRAVE_HYBRID_MULTIFRACTAL
@ NODE_MUSGRAVE_HETERO_TERRAIN
ccl_device_noinline_cpu float noise_musgrave_hetero_terrain_4d(float4 co, float H, float lacunarity, float octaves, float offset)
ccl_device_noinline_cpu float noise_musgrave_ridged_multi_fractal_1d(float co, float H, float lacunarity, float octaves, float offset, float gain)
ccl_device_noinline_cpu float noise_musgrave_ridged_multi_fractal_4d(float4 co, float H, float lacunarity, float octaves, float offset, float gain)
ccl_device_noinline_cpu float noise_musgrave_ridged_multi_fractal_2d(float2 co, float H, float lacunarity, float octaves, float offset, float gain)
ccl_device_noinline_cpu float noise_musgrave_multi_fractal_2d(float2 co, float H, float lacunarity, float octaves)
ccl_device_noinline_cpu float noise_musgrave_fBm_3d(float3 co, float H, float lacunarity, float octaves)
ccl_device_noinline_cpu float noise_musgrave_multi_fractal_1d(float co, float H, float lacunarity, float octaves)
ccl_device_noinline_cpu float noise_musgrave_multi_fractal_3d(float3 co, float H, float lacunarity, float octaves)
ccl_device_noinline_cpu float noise_musgrave_hetero_terrain_3d(float3 co, float H, float lacunarity, float octaves, float offset)
ccl_device_noinline_cpu float noise_musgrave_fBm_2d(float2 co, float H, float lacunarity, float octaves)
ccl_device_noinline_cpu float noise_musgrave_hybrid_multi_fractal_2d(float2 co, float H, float lacunarity, float octaves, float offset, float gain)
ccl_device_noinline_cpu float noise_musgrave_multi_fractal_4d(float4 co, float H, float lacunarity, float octaves)
ccl_device_noinline_cpu float noise_musgrave_ridged_multi_fractal_3d(float3 co, float H, float lacunarity, float octaves, float offset, float gain)
ccl_device_noinline_cpu float noise_musgrave_hybrid_multi_fractal_1d(float co, float H, float lacunarity, float octaves, float offset, float gain)
ccl_device_noinline_cpu float noise_musgrave_hybrid_multi_fractal_3d(float3 co, float H, float lacunarity, float octaves, float offset, float gain)
ccl_device_noinline_cpu float noise_musgrave_hetero_terrain_1d(float co, float H, float lacunarity, float octaves, float offset)
ccl_device_noinline_cpu float noise_musgrave_hetero_terrain_2d(float2 co, float H, float lacunarity, float octaves, float offset)
ccl_device_noinline_cpu float noise_musgrave_fBm_4d(float4 co, float H, float lacunarity, float octaves)
ccl_device_noinline int svm_node_tex_musgrave(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, uint offsets1, uint offsets2, uint offsets3, int offset)
CCL_NAMESPACE_BEGIN ccl_device_noinline_cpu float noise_musgrave_fBm_1d(float co, float H, float lacunarity, float octaves)
ccl_device_noinline_cpu float noise_musgrave_hybrid_multi_fractal_4d(float4 co, float H, float lacunarity, float octaves, float offset, float gain)
T clamp(const T &a, const T &min, const T &max)
ccl_device_inline float snoise_1d(float p)
ccl_device_inline float snoise_2d(float2 p)
ccl_device_inline float snoise_3d(float3 p)
ccl_device_inline float snoise_4d(float4 p)
ccl_device_inline int float_to_int(float f)
ccl_device_inline float saturatef(float a)