Panda3D
|
Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function. More...
#include "stackedPerlinNoise3.h"
Public Member Functions | |
StackedPerlinNoise3 () | |
Creates a StackedPerlinNoise3 object with no levels. | |
StackedPerlinNoise3 (const StackedPerlinNoise3 ©) | |
Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed. | |
StackedPerlinNoise3 (double sx, double sy, double sz, int num_levels=3, double scale_factor=4.0f, double amp_scale=0.5f, int table_size=256, unsigned long seed=0) | |
Creates num_levels nested PerlinNoise3 objects. | |
void | add_level (const PerlinNoise3 &level, double amp=1.0) |
Adds an arbitrary PerlinNoise3 object, and an associated amplitude, to the stack. | |
void | clear () |
Removes all levels from the stack. | |
double | noise (const LVecBase3d &value) |
Returns the noise function of the three inputs. | |
float | noise (const LVecBase3f &value) |
Returns the noise function of the three inputs. | |
double | noise (double x, double y, double z) |
Returns the noise function of the three inputs. | |
double | operator() (const LVecBase3d &value) |
Returns the noise function of the three inputs. | |
float | operator() (const LVecBase3f &value) |
Returns the noise function of the three inputs. | |
double | operator() (double x, double y, double z) |
Returns the noise function of the three inputs. | |
void | operator= (const StackedPerlinNoise3 ©) |
Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed. | |
Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function.
Definition at line 25 of file stackedPerlinNoise3.h.
|
inline |
Creates a StackedPerlinNoise3 object with no levels.
You should call add_level() to add each level by hand.
Definition at line 18 of file stackedPerlinNoise3.I.
|
explicit |
Creates num_levels nested PerlinNoise3 objects.
Each stacked Perlin object will have a scale of 1 scale_factor times the previous object (so that it is higher-frequency, if scale_factor > 1), and an amplitude of amp_scale times the previous object (so that it is less important, if amp_scale < 1).
Definition at line 22 of file stackedPerlinNoise3.cxx.
References add_level(), and noise().
StackedPerlinNoise3::StackedPerlinNoise3 | ( | const StackedPerlinNoise3 & | copy | ) |
Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed.
Definition at line 44 of file stackedPerlinNoise3.cxx.
void StackedPerlinNoise3::add_level | ( | const PerlinNoise3 & | level, |
double | amp = 1.0 ) |
Adds an arbitrary PerlinNoise3 object, and an associated amplitude, to the stack.
Definition at line 63 of file stackedPerlinNoise3.cxx.
Referenced by StackedPerlinNoise3().
void StackedPerlinNoise3::clear | ( | ) |
Removes all levels from the stack.
You must call add_level() again to restore them.
Definition at line 75 of file stackedPerlinNoise3.cxx.
double StackedPerlinNoise3::noise | ( | const LVecBase3d & | value | ) |
Returns the noise function of the three inputs.
Definition at line 83 of file stackedPerlinNoise3.cxx.
|
inline |
Returns the noise function of the three inputs.
Definition at line 33 of file stackedPerlinNoise3.I.
References noise().
|
inline |
Returns the noise function of the three inputs.
Definition at line 25 of file stackedPerlinNoise3.I.
References noise().
Referenced by StackedPerlinNoise3(), noise(), noise(), operator()(), operator()(), and operator()().
|
inline |
Returns the noise function of the three inputs.
Definition at line 57 of file stackedPerlinNoise3.I.
References noise().
|
inline |
Returns the noise function of the three inputs.
Definition at line 49 of file stackedPerlinNoise3.I.
References noise().
|
inline |
Returns the noise function of the three inputs.
Definition at line 41 of file stackedPerlinNoise3.I.
References noise().
void StackedPerlinNoise3::operator= | ( | const StackedPerlinNoise3 & | copy | ) |
Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed.
Definition at line 54 of file stackedPerlinNoise3.cxx.