36 float pwHL =
powf(lacunarity, -
H);
44 float rmd = octaves -
floorf(octaves);
67 float pwHL =
powf(lacunarity, -
H);
75 float rmd = octaves -
floorf(octaves);
77 value *= (rmd * pwr *
snoise_1d(p) + 1.0f);
92 float co,
float H,
float lacunarity,
float octaves,
float offset)
95 float pwHL =
powf(lacunarity, -
H);
103 float increment = (
snoise_1d(p) + offset) * pwr * value;
109 float rmd = octaves -
floorf(octaves);
111 float increment = (
snoise_1d(p) + offset) * pwr * value;
112 value += rmd * increment;
127 float co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
130 float pwHL =
powf(lacunarity, -
H);
134 float weight = gain * value;
137 for (
int i = 1; (weight > 0.001f) && (i <
float_to_int(octaves)); i++) {
142 float signal = (
snoise_1d(p) + offset) * pwr;
144 value += weight * signal;
145 weight *= gain * signal;
149 float rmd = octaves -
floorf(octaves);
151 value += rmd * ((
snoise_1d(p) + offset) * pwr);
166 float co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
169 float pwHL =
powf(lacunarity, -
H);
174 float value = signal;
183 value += signal * pwr;
207 float pwHL =
powf(lacunarity, -
H);
215 float rmd = octaves -
floorf(octaves);
238 float pwHL =
powf(lacunarity, -
H);
246 float rmd = octaves -
floorf(octaves);
248 value *= (rmd * pwr *
snoise_2d(p) + 1.0f);
263 float2 co,
float H,
float lacunarity,
float octaves,
float offset)
266 float pwHL =
powf(lacunarity, -
H);
274 float increment = (
snoise_2d(p) + offset) * pwr * value;
280 float rmd = octaves -
floorf(octaves);
282 float increment = (
snoise_2d(p) + offset) * pwr * value;
283 value += rmd * increment;
298 float2 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
301 float pwHL =
powf(lacunarity, -
H);
305 float weight = gain * value;
308 for (
int i = 1; (weight > 0.001f) && (i <
float_to_int(octaves)); i++) {
313 float signal = (
snoise_2d(p) + offset) * pwr;
315 value += weight * signal;
316 weight *= gain * signal;
320 float rmd = octaves -
floorf(octaves);
322 value += rmd * ((
snoise_2d(p) + offset) * pwr);
337 float2 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
340 float pwHL =
powf(lacunarity, -
H);
345 float value = signal;
354 value += signal * pwr;
378 float pwHL =
powf(lacunarity, -
H);
386 float rmd = octaves -
floorf(octaves);
409 float pwHL =
powf(lacunarity, -
H);
417 float rmd = octaves -
floorf(octaves);
419 value *= (rmd * pwr *
snoise_3d(p) + 1.0f);
434 float3 co,
float H,
float lacunarity,
float octaves,
float offset)
437 float pwHL =
powf(lacunarity, -
H);
445 float increment = (
snoise_3d(p) + offset) * pwr * value;
451 float rmd = octaves -
floorf(octaves);
453 float increment = (
snoise_3d(p) + offset) * pwr * value;
454 value += rmd * increment;
469 float3 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
472 float pwHL =
powf(lacunarity, -
H);
476 float weight = gain * value;
479 for (
int i = 1; (weight > 0.001f) && (i <
float_to_int(octaves)); i++) {
484 float signal = (
snoise_3d(p) + offset) * pwr;
486 value += weight * signal;
487 weight *= gain * signal;
491 float rmd = octaves -
floorf(octaves);
493 value += rmd * ((
snoise_3d(p) + offset) * pwr);
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);
616 float increment = (
snoise_4d(p) + offset) * pwr * value;
622 float rmd = octaves -
floorf(octaves);
624 float increment = (
snoise_4d(p) + offset) * pwr * value;
625 value += rmd * increment;
640 float4 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
643 float pwHL =
powf(lacunarity, -
H);
647 float weight = gain * value;
650 for (
int i = 1; (weight > 0.001f) && (i <
float_to_int(octaves)); i++) {
655 float signal = (
snoise_4d(p) + offset) * pwr;
657 value += weight * signal;
658 weight *= gain * signal;
662 float rmd = octaves -
floorf(octaves);
664 value += rmd * ((
snoise_4d(p) + offset) * pwr);
679 float4 co,
float H,
float lacunarity,
float octaves,
float offset,
float gain)
682 float pwHL =
powf(lacunarity, -
H);
687 float value = signal;
696 value += signal * pwr;
711 uint type, dimensions, co_stack_offset, w_stack_offset;
712 uint scale_stack_offset, detail_stack_offset, dimension_stack_offset, lacunarity_stack_offset;
713 uint offset_stack_offset, gain_stack_offset, fac_stack_offset;
718 &detail_stack_offset,
719 &dimension_stack_offset,
720 &lacunarity_stack_offset);
735 dimension =
fmaxf(dimension, 1e-5f);
736 detail =
clamp(detail, 0.0f, 16.0f);
737 lacunarity =
fmaxf(lacunarity, 1e-5f);
741 switch (dimensions) {
753 p, dimension, lacunarity, detail, foffset, gain);
757 p, dimension, lacunarity, detail, foffset, gain);
778 p, dimension, lacunarity, detail, foffset, gain);
782 p, dimension, lacunarity, detail, foffset, gain);
803 p, dimension, lacunarity, detail, foffset, gain);
807 p, dimension, lacunarity, detail, foffset, gain);
828 p, dimension, lacunarity, detail, foffset, gain);
832 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.
CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3(float *stack, uint a)
ccl_device_inline uint4 read_node(KernelGlobals *kg, int *offset)
ccl_device_inline float stack_load_float_default(float *stack, uint a, uint value)
ccl_device_forceinline void svm_unpack_node_uchar3(uint i, uint *x, uint *y, uint *z)
ccl_device_forceinline void svm_unpack_node_uchar4(uint i, uint *x, uint *y, uint *z, uint *w)
ccl_device_inline void stack_store_float(float *stack, uint a, float f)
#define ccl_device_noinline_cpu
#define CCL_NAMESPACE_END
#define make_float2(x, y)
#define make_float4(x, y, z, w)
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 void svm_node_tex_musgrave(KernelGlobals *kg, ShaderData *sd, 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)
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)
@ NODE_MUSGRAVE_MULTIFRACTAL
@ NODE_MUSGRAVE_RIDGED_MULTIFRACTAL
@ NODE_MUSGRAVE_HYBRID_MULTIFRACTAL
@ NODE_MUSGRAVE_HETERO_TERRAIN
ccl_device_inline float saturate(float a)
ccl_device_inline int float_to_int(float f)
ccl_device_inline int clamp(int a, int mn, int mx)