Top Description Constructors Methods
org.lwjgl.stb

public Class STBPerlin

extends Object
Class Inheritance
Imports
org.lwjgl.system.*

Native bindings to stb_perlin.h from the stb library.

Revised Perlin noise (3D input, 1D output).

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static native float
stb_perlin_fbm_noise3(float
the x coordinate
x
,
float
the y coordinate
y
,
float
the z coordinate
z
,
float
spacing between successive octaves (use exactly 2.0 for wrapping output)
lacunarity
,
float
relative weighting applied to each successive octave
gain
,
int
number of "octaves" of noise3() to sum
octaves
)

Computes Fractal Brownian Motion noise.

public static native float
stb_perlin_noise3(float
the x coordinate
x
,
float
the y coordinate
y
,
float
the z coordinate
z
,
int
0, or a power of two value that specifies the x wraparound coordinate
x_wrap
,
int
0, or a power of two value that specifies the y wraparound coordinate
y_wrap
,
int
0, or a power of two value that specifies the z wraparound coordinate
z_wrap
)

Computes a random value at the coordinate (x,y,z).

public static native float
stb_perlin_noise3_seed(float
the x coordinate
x
,
float
the y coordinate
y
,
float
the z coordinate
z
,
int
0, or a power of two value that specifies the x wraparound coordinate
x_wrap
,
int
0, or a power of two value that specifies the y wraparound coordinate
y_wrap
,
int
0, or a power of two value that specifies the z wraparound coordinate
z_wrap
,
int
selects from multiple different variations of the noise function
seed
)

As perlin_noise3, but seed selects from multiple different variations of the noise function.

public static native float
stb_perlin_noise3_wrap_nonpow2(float x, float y, float z, int x_wrap, int y_wrap, int z_wrap, byte seed)

public static native float
stb_perlin_ridge_noise3(float
the x coordinate
x
,
float
the y coordinate
y
,
float
the z coordinate
z
,
float
spacing between successive octaves (use exactly 2.0 for wrapping output)
lacunarity
,
float
relative weighting applied to each successive octave
gain
,
float
used to invert the ridges, may need to be larger, not sure
offset
,
int
number of "octaves" of noise3() to sum
octaves
)

Computes ridged noise.

public static native float
stb_perlin_turbulence_noise3(float
the x coordinate
x
,
float
the y coordinate
y
,
float
the z coordinate
z
,
float
spacing between successive octaves (use exactly 2.0 for wrapping output)
lacunarity
,
float
relative weighting applied to each successive octave
gain
,
int
number of "octaves" of noise3() to sum
octaves
)

Computes turbulence noise.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

STBPerlinback to summary
protected STBPerlin()

Method Detail

stb_perlin_fbm_noise3back to summary
public static native float stb_perlin_fbm_noise3(float x, float y, float z, float lacunarity, float gain, int octaves)

Computes Fractal Brownian Motion noise. Calls perlin_noise3 octaves times, so this parameter will affect runtime.

Parameters
x:float

the x coordinate

y:float

the y coordinate

z:float

the z coordinate

lacunarity:float

spacing between successive octaves (use exactly 2.0 for wrapping output)

gain:float

relative weighting applied to each successive octave

octaves:int

number of "octaves" of noise3() to sum

stb_perlin_noise3back to summary
public static native float stb_perlin_noise3(float x, float y, float z, int x_wrap, int y_wrap, int z_wrap)

Computes a random value at the coordinate (x,y,z).

Adjacent random values are continuous but the noise fluctuates its randomness with period 1, i.e. takes on wholly unrelated values at integer points. Specifically, this implements Ken Perlin's revised noise function from 2002.

The "wrap" parameters can be used to create wraparound noise that wraps at powers of two. The numbers MUST be powers of two. Specify 0 to mean "don't care". (The noise always wraps every 256 due details of the implementation, even if you ask for larger or no wrapping.)

Parameters
x:float

the x coordinate

y:float

the y coordinate

z:float

the z coordinate

x_wrap:int

0, or a power of two value that specifies the x wraparound coordinate

y_wrap:int

0, or a power of two value that specifies the y wraparound coordinate

z_wrap:int

0, or a power of two value that specifies the z wraparound coordinate

stb_perlin_noise3_seedback to summary
public static native float stb_perlin_noise3_seed(float x, float y, float z, int x_wrap, int y_wrap, int z_wrap, int seed)

As perlin_noise3, but seed selects from multiple different variations of the noise function.

The current implementation only uses the bottom 8 bits of seed, but possibly in the future more bits will be used.

Parameters
x:float

the x coordinate

y:float

the y coordinate

z:float

the z coordinate

x_wrap:int

0, or a power of two value that specifies the x wraparound coordinate

y_wrap:int

0, or a power of two value that specifies the y wraparound coordinate

z_wrap:int

0, or a power of two value that specifies the z wraparound coordinate

seed:int

selects from multiple different variations of the noise function

stb_perlin_noise3_wrap_nonpow2back to summary
public static native float stb_perlin_noise3_wrap_nonpow2(float x, float y, float z, int x_wrap, int y_wrap, int z_wrap, byte seed)
stb_perlin_ridge_noise3back to summary
public static native float stb_perlin_ridge_noise3(float x, float y, float z, float lacunarity, float gain, float offset, int octaves)

Computes ridged noise. Calls perlin_noise3 octaves times, so this parameter will affect runtime.

Parameters
x:float

the x coordinate

y:float

the y coordinate

z:float

the z coordinate

lacunarity:float

spacing between successive octaves (use exactly 2.0 for wrapping output)

gain:float

relative weighting applied to each successive octave

offset:float

used to invert the ridges, may need to be larger, not sure

octaves:int

number of "octaves" of noise3() to sum

stb_perlin_turbulence_noise3back to summary
public static native float stb_perlin_turbulence_noise3(float x, float y, float z, float lacunarity, float gain, int octaves)

Computes turbulence noise. Calls perlin_noise3 octaves times, so this parameter will affect runtime.

Parameters
x:float

the x coordinate

y:float

the y coordinate

z:float

the z coordinate

lacunarity:float

spacing between successive octaves (use exactly 2.0 for wrapping output)

gain:float

relative weighting applied to each successive octave

octaves:int

number of "octaves" of noise3() to sum