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

Variables

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

Function Documentation

◆ fade()

static VuoReal fade ( VuoReal  t)
inlinestatic

Returns the value of the fade function of t.

Definition at line 1048 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 952 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 973 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 984 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 995 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 1006 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 1036 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 1056 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 189 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 198 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 208 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 152 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 267 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 276 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 286 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 219 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 377 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 386 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 396 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 297 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 122 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 131 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 141 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 101 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 551 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 560 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 570 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 459 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 740 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 749 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 759 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 581 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 922 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 931 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 941 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 770 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 429 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 438 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 448 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 407 of file VuoGradientNoiseCommon.c.

Variable Documentation

◆ perm

unsigned char perm[]
static

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

Definition at line 29 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 74 of file VuoGradientNoiseCommon.c.