Blender V5.0
noise.h File Reference
#include "util/hash.h"
#include "util/math.h"
#include "util/types.h"

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device float fade (const float t)
ccl_device_inline float negate_if (const float val, const int condition)
ccl_device float grad1 (const int hash, const float x)
ccl_device_noinline_cpu float perlin_1d (const float x)
ccl_device float bi_mix (const float v0, const float v1, const float v2, const float v3, const float x, float y)
ccl_device float tri_mix (const float v0, float v1, float v2, float v3, float v4, float v5, float v6, float v7, const float x, const float y, const float z)
ccl_device float quad_mix (const float v0, float v1, float v2, float v3, float v4, float v5, float v6, float v7, float v8, float v9, float v10, float v11, float v12, float v13, float v14, float v15, const float x, const float y, const float z, const float w)
ccl_device float grad2 (const int hash, const float x, float y)
ccl_device float grad3 (const int hash, const float x, float y, const float z)
ccl_device float grad4 (const int hash, const float x, float y, const float z, float w)
ccl_device_noinline_cpu float perlin_2d (const float x, const float y)
ccl_device_noinline_cpu float perlin_3d (const float x, const float y, float z)
ccl_device_noinline_cpu float perlin_4d (const float x, const float y, float z, const float w)
ccl_device_inline float noise_scale1 (const float result)
ccl_device_inline float noise_scale2 (const float result)
ccl_device_inline float noise_scale3 (const float result)
ccl_device_inline float noise_scale4 (const float result)
ccl_device_inline float snoise_1d (float p)
ccl_device_inline float noise_1d (const float p)
ccl_device_inline float snoise_2d (float2 p)
ccl_device_inline float noise_2d (const float2 p)
ccl_device_inline float snoise_3d (float3 p)
ccl_device_inline float noise_3d (const float3 p)
ccl_device_inline float snoise_4d (float4 p)
ccl_device_inline float noise_4d (const float4 p)

Function Documentation

◆ bi_mix()

ccl_device float bi_mix ( const float v0,
const float v1,
const float v2,
const float v3,
const float x,
float y )

Definition at line 64 of file noise.h.

References ccl_device, v2, x, and y.

Referenced by perlin_2d().

◆ fade()

◆ grad1()

ccl_device float grad1 ( const int hash,
const float x )

Definition at line 28 of file noise.h.

References ccl_device, hash, negate_if(), and x.

Referenced by perlin_1d().

◆ grad2()

ccl_device float grad2 ( const int hash,
const float x,
float y )

Definition at line 134 of file noise.h.

References ccl_device, hash, negate_if(), v, x, and y.

Referenced by perlin_2d().

◆ grad3()

ccl_device float grad3 ( const int hash,
const float x,
float y,
const float z )

Definition at line 142 of file noise.h.

References ccl_device, hash, negate_if(), v, x, y, and z().

Referenced by perlin_3d().

◆ grad4()

ccl_device float grad4 ( const int hash,
const float x,
float y,
const float z,
float w )

Definition at line 151 of file noise.h.

References ccl_device, hash, negate_if(), v, w(), x, y, and z().

Referenced by perlin_4d().

◆ negate_if()

ccl_device_inline float negate_if ( const float val,
const int condition )

Definition at line 23 of file noise.h.

References ccl_device_inline.

Referenced by grad1(), grad2(), grad3(), and grad4().

◆ noise_1d()

ccl_device_inline float noise_1d ( const float p)

Definition at line 702 of file noise.h.

References ccl_device_inline, and snoise_1d().

◆ noise_2d()

ccl_device_inline float noise_2d ( const float2 p)

Definition at line 720 of file noise.h.

References ccl_device_inline, and snoise_2d().

◆ noise_3d()

ccl_device_inline float noise_3d ( const float3 p)

Definition at line 738 of file noise.h.

References ccl_device_inline, and snoise_3d().

◆ noise_4d()

ccl_device_inline float noise_4d ( const float4 p)

Definition at line 756 of file noise.h.

References ccl_device_inline, and snoise_4d().

◆ noise_scale1()

ccl_device_inline float noise_scale1 ( const float result)

Definition at line 669 of file noise.h.

References ccl_device_inline, and result.

Referenced by snoise_1d().

◆ noise_scale2()

ccl_device_inline float noise_scale2 ( const float result)

Definition at line 674 of file noise.h.

References ccl_device_inline, and result.

Referenced by snoise_2d().

◆ noise_scale3()

ccl_device_inline float noise_scale3 ( const float result)

Definition at line 679 of file noise.h.

References ccl_device_inline, and result.

Referenced by snoise_3d().

◆ noise_scale4()

ccl_device_inline float noise_scale4 ( const float result)

Definition at line 684 of file noise.h.

References ccl_device_inline, and result.

Referenced by snoise_4d().

◆ perlin_1d()

ccl_device_noinline_cpu float perlin_1d ( const float x)

Definition at line 35 of file noise.h.

References ccl_device_noinline_cpu, fade(), floorfrac(), grad1(), hash_uint(), mix, X, and x.

Referenced by snoise_1d().

◆ perlin_2d()

ccl_device_noinline_cpu float perlin_2d ( const float x,
const float y )

Definition at line 160 of file noise.h.

References bi_mix(), ccl_device_noinline_cpu, fade(), floorfrac(), grad2(), hash_uint2(), v, X, x, Y, and y.

Referenced by snoise_2d().

◆ perlin_3d()

ccl_device_noinline_cpu float perlin_3d ( const float x,
const float y,
float z )

Definition at line 181 of file noise.h.

References ccl_device_noinline_cpu, fade(), floorfrac(), grad3(), hash_uint3(), tri_mix(), v, w(), X, x, Y, y, Z, and z().

Referenced by snoise_3d().

◆ perlin_4d()

ccl_device_noinline_cpu float perlin_4d ( const float x,
const float y,
float z,
const float w )

Definition at line 209 of file noise.h.

References ccl_device_noinline_cpu, fade(), floorfrac(), grad4(), hash_uint4(), quad_mix(), v, W, w(), X, x, Y, y, Z, and z().

Referenced by snoise_4d().

◆ quad_mix()

ccl_device float quad_mix ( const float v0,
float v1,
float v2,
float v3,
float v4,
float v5,
float v6,
float v7,
float v8,
float v9,
float v10,
float v11,
float v12,
float v13,
float v14,
float v15,
const float x,
const float y,
const float z,
const float w )

Definition at line 108 of file noise.h.

References ccl_device, mix, tri_mix(), v2, w(), x, y, and z().

Referenced by perlin_4d().

◆ snoise_1d()

◆ snoise_2d()

◆ snoise_3d()

◆ snoise_4d()

◆ tri_mix()

ccl_device float tri_mix ( const float v0,
float v1,
float v2,
float v3,
float v4,
float v5,
float v6,
float v7,
const float x,
const float y,
const float z )

Definition at line 89 of file noise.h.

References ccl_device, v2, x, y, and z().

Referenced by perlin_3d(), and quad_mix().