C# Class LibNoise.Primitive.BevinsGradient

A gradient noise generator. The Jason Bevins's Libnoise ported in c#
Inheritance: PrimitiveModule, IModule3D
Show file Open project: everbytes/LibNoise Class Usage Examples

Public Methods

Method Description
BevinsGradient ( )

0-args constructor

BevinsGradient ( int seed, NoiseQuality quality )

Create a new BevinsGradientNoise with given values

GetValue ( float x, float y, float z ) : float

Generates an output value given the coordinates of the specified input value.

GradientCoherentNoise3D ( float x, float y, float z, long seed, NoiseQuality quality ) : float

Generates a gradient-coherent-noise value from the coordinates of a three-dimensional input value. The return value ranges from -1.0 to +1.0. For an explanation of the difference between gradient noise and value noise, see the comments for the GradientNoise3D() function.

Private Methods

Method Description
GradientNoise3D ( float fx, float fy, float fz, int ix, int iy, int iz, long seed ) : float

Generates a gradient-noise value from the coordinates of a three-dimensional input value and the integer coordinates of a nearby three-dimensional value. The difference between fx and ix must be less than or equal to one. The difference between fy and iy must be less than or equal to one. The difference between fz and iz must be less than or equal to one. A gradient-noise function generates better-quality noise than a value-noise function. Most noise modules use gradient noise for this reason, although it takes much longer to calculate. The return value ranges from -1.0 to +1.0. This function generates a gradient-noise value by performing the following steps: - It first calculates a random normalized vector based on the nearby integer value passed to this function. - It then calculates a new value by adding this vector to the nearby integer value passed to this function. - It then calculates the dot product of the above-generated value and the floating-point input value passed to this function. A noise function differs from a random-number generator because it always returns the same output value if the same input value is passed to it.

Method Details

BevinsGradient() public method

0-args constructor
public BevinsGradient ( )

BevinsGradient() public method

Create a new BevinsGradientNoise with given values
public BevinsGradient ( int seed, NoiseQuality quality )
seed int
quality NoiseQuality

GetValue() public method

Generates an output value given the coordinates of the specified input value.
public GetValue ( float x, float y, float z ) : float
x float The input coordinate on the x-axis.
y float The input coordinate on the y-axis.
z float The input coordinate on the z-axis.
return float

GradientCoherentNoise3D() public method

Generates a gradient-coherent-noise value from the coordinates of a three-dimensional input value. The return value ranges from -1.0 to +1.0. For an explanation of the difference between gradient noise and value noise, see the comments for the GradientNoise3D() function.
public GradientCoherentNoise3D ( float x, float y, float z, long seed, NoiseQuality quality ) : float
x float The x coordinate of the input value
y float The y coordinate of the input value
z float The z coordinate of the input value
seed long seed The random number seed
quality NoiseQuality The quality of the coherent-noise
return float