Panda3D
|
Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function. More...
#include "stackedPerlinNoise2.h"
Classes | |
class | Noise |
Public Member Functions | |
StackedPerlinNoise2 () | |
Creates a StackedPerlinNoise2 object with no levels. | |
StackedPerlinNoise2 (double sx, double sy, int num_levels=2, double scale_factor=4.0f, double amp_scale=0.5f, int table_size=256, unsigned long seed=0) | |
Creates num_levels nested PerlinNoise2 objects. | |
StackedPerlinNoise2 (const StackedPerlinNoise2 ©) | |
Creates an exact duplicate of the existing StackedPerlinNoise2 object, including the random seed. | |
void | add_level (const PerlinNoise2 &level, double amp=1.0) |
Adds an arbitrary PerlinNoise2 object, and an associated amplitude, to the stack. | |
void | clear () |
Removes all levels from the stack. | |
float | noise (const LVecBase2f &value) |
Returns the noise function of the three inputs. | |
double | noise (const LVecBase2d &value) |
Returns the noise function of the three inputs. | |
double | noise (double x, double y) |
Returns the noise function of the three inputs. | |
double | operator() (const LVecBase2d &value) |
Returns the noise function of the three inputs. | |
double | operator() (double x, double y) |
Returns the noise function of the three inputs. | |
float | operator() (const LVecBase2f &value) |
Returns the noise function of the three inputs. | |
void | operator= (const StackedPerlinNoise2 ©) |
Creates an exact duplicate of the existing StackedPerlinNoise2 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 28 of file stackedPerlinNoise2.h.
StackedPerlinNoise2::StackedPerlinNoise2 | ( | ) | [inline] |
Creates a StackedPerlinNoise2 object with no levels.
You should call add_level() to add each level by hand.
Definition at line 24 of file stackedPerlinNoise2.I.
StackedPerlinNoise2::StackedPerlinNoise2 | ( | double | sx, |
double | sy, | ||
int | num_levels = 2 , |
||
double | scale_factor = 4.0f , |
||
double | amp_scale = 0.5f , |
||
int | table_size = 256 , |
||
unsigned long | seed = 0 |
||
) |
Creates num_levels nested PerlinNoise2 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 28 of file stackedPerlinNoise2.cxx.
References add_level(), PerlinNoise::get_seed(), and noise().
StackedPerlinNoise2::StackedPerlinNoise2 | ( | const StackedPerlinNoise2 & | copy | ) |
Creates an exact duplicate of the existing StackedPerlinNoise2 object, including the random seed.
Definition at line 52 of file stackedPerlinNoise2.cxx.
void StackedPerlinNoise2::add_level | ( | const PerlinNoise2 & | level, |
double | amp = 1.0 |
||
) |
Adds an arbitrary PerlinNoise2 object, and an associated amplitude, to the stack.
Definition at line 76 of file stackedPerlinNoise2.cxx.
Referenced by StackedPerlinNoise2().
void StackedPerlinNoise2::clear | ( | ) |
Removes all levels from the stack.
You must call add_level() again to restore them.
Definition at line 90 of file stackedPerlinNoise2.cxx.
double StackedPerlinNoise2::noise | ( | double | x, |
double | y | ||
) | [inline] |
Returns the noise function of the three inputs.
Definition at line 33 of file stackedPerlinNoise2.I.
Referenced by noise(), operator()(), PNMImage::perlin_noise_fill(), and StackedPerlinNoise2().
float StackedPerlinNoise2::noise | ( | const LVecBase2f & | value | ) | [inline] |
Returns the noise function of the three inputs.
Definition at line 43 of file stackedPerlinNoise2.I.
References noise().
double StackedPerlinNoise2::noise | ( | const LVecBase2d & | value | ) |
Returns the noise function of the three inputs.
Definition at line 100 of file stackedPerlinNoise2.cxx.
double StackedPerlinNoise2::operator() | ( | double | x, |
double | y | ||
) | [inline] |
Returns the noise function of the three inputs.
Definition at line 53 of file stackedPerlinNoise2.I.
References noise().
float StackedPerlinNoise2::operator() | ( | const LVecBase2f & | value | ) | [inline] |
Returns the noise function of the three inputs.
Definition at line 63 of file stackedPerlinNoise2.I.
References noise().
double StackedPerlinNoise2::operator() | ( | const LVecBase2d & | value | ) | [inline] |
Returns the noise function of the three inputs.
Definition at line 73 of file stackedPerlinNoise2.I.
References noise().
void StackedPerlinNoise2::operator= | ( | const StackedPerlinNoise2 & | copy | ) |
Creates an exact duplicate of the existing StackedPerlinNoise2 object, including the random seed.
Definition at line 65 of file stackedPerlinNoise2.cxx.