Vuo  2.3.2
Functions | Variables
VuoGradientNoiseCommon.c File Reference

Description

VuoGradientNoiseCommon implementation.

Definition in file VuoGradientNoiseCommon.c.

Go to the source code of this file.

Functions

static VuoReal grad1d (int hash, VuoReal x)
 Returns pseudo-random gradient value for given 1d point. More...
 
static VuoReal grad2dPerlin (int hash, VuoReal x, VuoReal y)
 Returns pseudo-random gradient value for given 2d point for the Perlin algorithm. More...
 
static VuoReal grad2dSimplex (int hash, VuoReal x, VuoReal y)
 Returns a pseudo-random gradient value for given 2d point for the Simplex algorithm. More...
 
static VuoReal grad3d (int hash, VuoReal x, VuoReal y, VuoReal z)
 Returns pseudo-random gradient value for given 3d point. More...
 
static VuoReal grad4dPerlin (int hash, VuoReal x, VuoReal y, VuoReal z, VuoReal w)
 Returns pseudo-random gradient value for given 4d point for Perlin noise. More...
 
static float grad4dSimplex (int hash, float x, float y, float z, float t)
 Returns pseudo-random gradient value for given 4d point for Simplex noise. More...
 
static VuoReal fade (VuoReal t)
 Returns the value of the fade function of t. More...
 
static VuoReal lerp (VuoReal t, VuoReal a, VuoReal b)
 Performs and returns linear interpolation on t, a, and b. More...
 
VuoReal VuoGradientNoise_perlin_VuoReal_VuoReal (VuoReal x)
 Returns the value for Perlin noise at a 1D location. More...
 
VuoPoint2d VuoGradientNoise_perlin_VuoReal_VuoPoint2d (VuoReal x)
 Returns 2 values for Perlin noise at a 1D location. More...
 
VuoPoint3d VuoGradientNoise_perlin_VuoReal_VuoPoint3d (VuoReal x)
 Returns 3 values for Perlin noise at a 1D location. More...
 
VuoPoint4d VuoGradientNoise_perlin_VuoReal_VuoPoint4d (VuoReal x)
 Returns 4 values for Perlin noise at a 1D location. More...
 
VuoReal VuoGradientNoise_perlin_VuoPoint2d_VuoReal (VuoPoint2d point)
 Returns the value for Perlin noise at a 2D location. More...
 
VuoPoint2d VuoGradientNoise_perlin_VuoPoint2d_VuoPoint2d (VuoPoint2d point)
 Returns 2 values for Perlin noise at a 2D location. More...
 
VuoPoint3d VuoGradientNoise_perlin_VuoPoint2d_VuoPoint3d (VuoPoint2d point)
 Returns 3 values for Perlin noise at a 2D location. More...
 
VuoPoint4d VuoGradientNoise_perlin_VuoPoint2d_VuoPoint4d (VuoPoint2d point)
 Returns 4 values for Perlin noise at a 2D location. More...
 
VuoReal VuoGradientNoise_perlin_VuoPoint3d_VuoReal (VuoPoint3d point)
 Returns the value for Perlin noise at a 3D location. More...
 
VuoPoint2d VuoGradientNoise_perlin_VuoPoint3d_VuoPoint2d (VuoPoint3d point)
 Returns 2 values for Perlin noise at a 3D location. More...
 
VuoPoint3d VuoGradientNoise_perlin_VuoPoint3d_VuoPoint3d (VuoPoint3d point)
 Returns 3 values for Perlin noise at a 3D location. More...
 
VuoPoint4d VuoGradientNoise_perlin_VuoPoint3d_VuoPoint4d (VuoPoint3d point)
 Returns 4 values for Perlin noise at a 3D location. More...
 
VuoReal VuoGradientNoise_perlin_VuoPoint4d_VuoReal (VuoPoint4d point)
 Returns the value for Perlin noise at a 4D location. More...
 
VuoPoint2d VuoGradientNoise_perlin_VuoPoint4d_VuoPoint2d (VuoPoint4d point)
 Returns 2 values for Perlin noise at a 4D location. More...
 
VuoPoint3d VuoGradientNoise_perlin_VuoPoint4d_VuoPoint3d (VuoPoint4d point)
 Returns 3 values for Perlin noise at a 4D location. More...
 
VuoPoint4d VuoGradientNoise_perlin_VuoPoint4d_VuoPoint4d (VuoPoint4d point)
 Returns 4 values for Perlin noise at a 4D location. More...
 
VuoReal VuoGradientNoise_simplex_VuoReal_VuoReal (VuoReal x)
 Returns the value for Simplex noise at a 1D location. More...
 
VuoPoint2d VuoGradientNoise_simplex_VuoReal_VuoPoint2d (VuoReal x)
 Returns 2 values for Simplex noise at a 1D location. More...
 
VuoPoint3d VuoGradientNoise_simplex_VuoReal_VuoPoint3d (VuoReal x)
 Returns 3 values for Simplex noise at a 1D location. More...
 
VuoPoint4d VuoGradientNoise_simplex_VuoReal_VuoPoint4d (VuoReal x)
 Returns 4 values for Simplex noise at a 1D location. More...
 
VuoReal VuoGradientNoise_simplex_VuoPoint2d_VuoReal (VuoPoint2d point)
 Returns the value for Simplex noise at a 2D location. More...
 
VuoPoint2d VuoGradientNoise_simplex_VuoPoint2d_VuoPoint2d (VuoPoint2d point)
 Returns 2 values for Simplex noise at a 2D location. More...
 
VuoPoint3d VuoGradientNoise_simplex_VuoPoint2d_VuoPoint3d (VuoPoint2d point)
 Returns 3 values for Simplex noise at a 2D location. More...
 
VuoPoint4d VuoGradientNoise_simplex_VuoPoint2d_VuoPoint4d (VuoPoint2d point)
 Returns 4 values for Simplex noise at a 2D location. More...
 
VuoReal VuoGradientNoise_simplex_VuoPoint3d_VuoReal (VuoPoint3d point)
 Returns the value for Simplex noise at a 3D location. More...
 
VuoPoint2d VuoGradientNoise_simplex_VuoPoint3d_VuoPoint2d (VuoPoint3d point)
 Returns 2 values for Simplex noise at a 3D location. More...
 
VuoPoint3d VuoGradientNoise_simplex_VuoPoint3d_VuoPoint3d (VuoPoint3d point)
 Returns 3 values for Simplex noise at a 3D location. More...
 
VuoPoint4d VuoGradientNoise_simplex_VuoPoint3d_VuoPoint4d (VuoPoint3d point)
 Returns 4 values for Simplex noise at a 3D location. More...
 
VuoReal VuoGradientNoise_simplex_VuoPoint4d_VuoReal (VuoPoint4d point)
 Returns the value for Simplex noise at a 4D location. More...
 
VuoPoint2d VuoGradientNoise_simplex_VuoPoint4d_VuoPoint2d (VuoPoint4d point)
 Returns 2 values for Simplex noise at a 4D location. More...
 
VuoPoint3d VuoGradientNoise_simplex_VuoPoint4d_VuoPoint3d (VuoPoint4d point)
 Returns 3 values for Simplex noise at a 4D location. More...
 
VuoPoint4d VuoGradientNoise_simplex_VuoPoint4d_VuoPoint4d (VuoPoint4d point)
 Returns 4 values for Simplex noise at a 4D location. More...
 

Variables

static unsigned char perm []
 Perlin's shuffled ordering of 0..255, repeated once. More...
 
static unsigned char simplex [64][4]
 Lookup table for simplex traversal. More...
 

Function Documentation

◆ fade()

static VuoReal fade ( VuoReal  t)
inlinestatic

Returns the value of the fade function of t.

Definition at line 1051 of file VuoGradientNoiseCommon.c.

◆ grad1d()

static VuoReal grad1d ( int  hash,
VuoReal  x 
)
inlinestatic

Returns pseudo-random gradient value for given 1d point.

Definition at line 955 of file VuoGradientNoiseCommon.c.

◆ grad2dPerlin()

static VuoReal grad2dPerlin ( int  hash,
VuoReal  x,
VuoReal  y 
)
inlinestatic

Returns pseudo-random gradient value for given 2d point for the Perlin algorithm.

Definition at line 976 of file VuoGradientNoiseCommon.c.

◆ grad2dSimplex()

static VuoReal grad2dSimplex ( int  hash,
VuoReal  x,
VuoReal  y 
)
inlinestatic

Returns a pseudo-random gradient value for given 2d point for the Simplex algorithm.

Definition at line 987 of file VuoGradientNoiseCommon.c.

◆ grad3d()

static VuoReal grad3d ( int  hash,
VuoReal  x,
VuoReal  y,
VuoReal  z 
)
inlinestatic

Returns pseudo-random gradient value for given 3d point.

Definition at line 998 of file VuoGradientNoiseCommon.c.

◆ grad4dPerlin()

static VuoReal grad4dPerlin ( int  hash,
VuoReal  x,
VuoReal  y,
VuoReal  z,
VuoReal  w 
)
inlinestatic

Returns pseudo-random gradient value for given 4d point for Perlin noise.

Definition at line 1009 of file VuoGradientNoiseCommon.c.

◆ grad4dSimplex()

static float grad4dSimplex ( int  hash,
float  x,
float  y,
float  z,
float  t 
)
inlinestatic

Returns pseudo-random gradient value for given 4d point for Simplex noise.

Definition at line 1039 of file VuoGradientNoiseCommon.c.

◆ lerp()

static VuoReal lerp ( VuoReal  t,
VuoReal  a,
VuoReal  b 
)
inlinestatic

Performs and returns linear interpolation on t, a, and b.

Definition at line 1059 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint2d_VuoPoint2d()

VuoPoint2d VuoGradientNoise_perlin_VuoPoint2d_VuoPoint2d ( VuoPoint2d  point)

Returns 2 values for Perlin noise at a 2D location.

Definition at line 192 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint2d_VuoPoint3d()

VuoPoint3d VuoGradientNoise_perlin_VuoPoint2d_VuoPoint3d ( VuoPoint2d  point)

Returns 3 values for Perlin noise at a 2D location.

Definition at line 201 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint2d_VuoPoint4d()

VuoPoint4d VuoGradientNoise_perlin_VuoPoint2d_VuoPoint4d ( VuoPoint2d  point)

Returns 4 values for Perlin noise at a 2D location.

Definition at line 211 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint2d_VuoReal()

VuoReal VuoGradientNoise_perlin_VuoPoint2d_VuoReal ( VuoPoint2d  point)

Returns the value for Perlin noise at a 2D location.

Definition at line 155 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint3d_VuoPoint2d()

VuoPoint2d VuoGradientNoise_perlin_VuoPoint3d_VuoPoint2d ( VuoPoint3d  point)

Returns 2 values for Perlin noise at a 3D location.

Definition at line 270 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint3d_VuoPoint3d()

VuoPoint3d VuoGradientNoise_perlin_VuoPoint3d_VuoPoint3d ( VuoPoint3d  point)

Returns 3 values for Perlin noise at a 3D location.

Definition at line 279 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint3d_VuoPoint4d()

VuoPoint4d VuoGradientNoise_perlin_VuoPoint3d_VuoPoint4d ( VuoPoint3d  point)

Returns 4 values for Perlin noise at a 3D location.

Definition at line 289 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint3d_VuoReal()

VuoReal VuoGradientNoise_perlin_VuoPoint3d_VuoReal ( VuoPoint3d  point)

Returns the value for Perlin noise at a 3D location.

Definition at line 222 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint4d_VuoPoint2d()

VuoPoint2d VuoGradientNoise_perlin_VuoPoint4d_VuoPoint2d ( VuoPoint4d  point)

Returns 2 values for Perlin noise at a 4D location.

Definition at line 380 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint4d_VuoPoint3d()

VuoPoint3d VuoGradientNoise_perlin_VuoPoint4d_VuoPoint3d ( VuoPoint4d  point)

Returns 3 values for Perlin noise at a 4D location.

Definition at line 389 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint4d_VuoPoint4d()

VuoPoint4d VuoGradientNoise_perlin_VuoPoint4d_VuoPoint4d ( VuoPoint4d  point)

Returns 4 values for Perlin noise at a 4D location.

Definition at line 399 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoPoint4d_VuoReal()

VuoReal VuoGradientNoise_perlin_VuoPoint4d_VuoReal ( VuoPoint4d  point)

Returns the value for Perlin noise at a 4D location.

Definition at line 300 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoReal_VuoPoint2d()

VuoPoint2d VuoGradientNoise_perlin_VuoReal_VuoPoint2d ( VuoReal  x)

Returns 2 values for Perlin noise at a 1D location.

Definition at line 125 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoReal_VuoPoint3d()

VuoPoint3d VuoGradientNoise_perlin_VuoReal_VuoPoint3d ( VuoReal  x)

Returns 3 values for Perlin noise at a 1D location.

Definition at line 134 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoReal_VuoPoint4d()

VuoPoint4d VuoGradientNoise_perlin_VuoReal_VuoPoint4d ( VuoReal  x)

Returns 4 values for Perlin noise at a 1D location.

Definition at line 144 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_perlin_VuoReal_VuoReal()

VuoReal VuoGradientNoise_perlin_VuoReal_VuoReal ( VuoReal  x)

Returns the value for Perlin noise at a 1D location.

Definition at line 104 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint2d_VuoPoint2d()

VuoPoint2d VuoGradientNoise_simplex_VuoPoint2d_VuoPoint2d ( VuoPoint2d  point)

Returns 2 values for Simplex noise at a 2D location.

Definition at line 554 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint2d_VuoPoint3d()

VuoPoint3d VuoGradientNoise_simplex_VuoPoint2d_VuoPoint3d ( VuoPoint2d  point)

Returns 3 values for Simplex noise at a 2D location.

Definition at line 563 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint2d_VuoPoint4d()

VuoPoint4d VuoGradientNoise_simplex_VuoPoint2d_VuoPoint4d ( VuoPoint2d  point)

Returns 4 values for Simplex noise at a 2D location.

Definition at line 573 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint2d_VuoReal()

VuoReal VuoGradientNoise_simplex_VuoPoint2d_VuoReal ( VuoPoint2d  point)

Returns the value for Simplex noise at a 2D location.

Definition at line 462 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint3d_VuoPoint2d()

VuoPoint2d VuoGradientNoise_simplex_VuoPoint3d_VuoPoint2d ( VuoPoint3d  point)

Returns 2 values for Simplex noise at a 3D location.

Definition at line 743 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint3d_VuoPoint3d()

VuoPoint3d VuoGradientNoise_simplex_VuoPoint3d_VuoPoint3d ( VuoPoint3d  point)

Returns 3 values for Simplex noise at a 3D location.

Definition at line 752 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint3d_VuoPoint4d()

VuoPoint4d VuoGradientNoise_simplex_VuoPoint3d_VuoPoint4d ( VuoPoint3d  point)

Returns 4 values for Simplex noise at a 3D location.

Definition at line 762 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint3d_VuoReal()

VuoReal VuoGradientNoise_simplex_VuoPoint3d_VuoReal ( VuoPoint3d  point)

Returns the value for Simplex noise at a 3D location.

Definition at line 584 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint4d_VuoPoint2d()

VuoPoint2d VuoGradientNoise_simplex_VuoPoint4d_VuoPoint2d ( VuoPoint4d  point)

Returns 2 values for Simplex noise at a 4D location.

Definition at line 925 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint4d_VuoPoint3d()

VuoPoint3d VuoGradientNoise_simplex_VuoPoint4d_VuoPoint3d ( VuoPoint4d  point)

Returns 3 values for Simplex noise at a 4D location.

Definition at line 934 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint4d_VuoPoint4d()

VuoPoint4d VuoGradientNoise_simplex_VuoPoint4d_VuoPoint4d ( VuoPoint4d  point)

Returns 4 values for Simplex noise at a 4D location.

Definition at line 944 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoPoint4d_VuoReal()

VuoReal VuoGradientNoise_simplex_VuoPoint4d_VuoReal ( VuoPoint4d  point)

Returns the value for Simplex noise at a 4D location.

Definition at line 773 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoReal_VuoPoint2d()

VuoPoint2d VuoGradientNoise_simplex_VuoReal_VuoPoint2d ( VuoReal  x)

Returns 2 values for Simplex noise at a 1D location.

Definition at line 432 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoReal_VuoPoint3d()

VuoPoint3d VuoGradientNoise_simplex_VuoReal_VuoPoint3d ( VuoReal  x)

Returns 3 values for Simplex noise at a 1D location.

Definition at line 441 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoReal_VuoPoint4d()

VuoPoint4d VuoGradientNoise_simplex_VuoReal_VuoPoint4d ( VuoReal  x)

Returns 4 values for Simplex noise at a 1D location.

Definition at line 451 of file VuoGradientNoiseCommon.c.

◆ VuoGradientNoise_simplex_VuoReal_VuoReal()

VuoReal VuoGradientNoise_simplex_VuoReal_VuoReal ( VuoReal  x)

Returns the value for Simplex noise at a 1D location.

Definition at line 410 of file VuoGradientNoiseCommon.c.

Variable Documentation

◆ perm

unsigned char perm[]
static

Perlin's shuffled ordering of 0..255, repeated once.

Definition at line 32 of file VuoGradientNoiseCommon.c.

◆ simplex

unsigned char simplex[64][4]
static
Initial value:
=
{
{0,1,2,3},{0,1,3,2},{0,0,0,0},{0,2,3,1},{0,0,0,0},{0,0,0,0},{0,0,0,0},{1,2,3,0},
{0,2,1,3},{0,0,0,0},{0,3,1,2},{0,3,2,1},{0,0,0,0},{0,0,0,0},{0,0,0,0},{1,3,2,0},
{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},
{1,2,0,3},{0,0,0,0},{1,3,0,2},{0,0,0,0},{0,0,0,0},{0,0,0,0},{2,3,0,1},{2,3,1,0},
{1,0,2,3},{1,0,3,2},{0,0,0,0},{0,0,0,0},{0,0,0,0},{2,0,3,1},{0,0,0,0},{2,1,3,0},
{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},
{2,0,1,3},{0,0,0,0},{0,0,0,0},{0,0,0,0},{3,0,1,2},{3,0,2,1},{0,0,0,0},{3,1,2,0},
{2,1,0,3},{0,0,0,0},{0,0,0,0},{0,0,0,0},{3,1,0,2},{0,0,0,0},{3,2,0,1},{3,2,1,0}
}

Lookup table for simplex traversal.

Definition at line 77 of file VuoGradientNoiseCommon.c.