Panda3D
Loading...
Searching...
No Matches
Public Member Functions | List of all members
StackedPerlinNoise3 Class Reference

Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function. More...

#include <pandadoc.hpp>

Public Member Functions

 __init__ ()
 Creates a StackedPerlinNoise3 object with no levels.
 
 __init__ (const StackedPerlinNoise3 copy)
 Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed.
 
 __init__ (double sx, double sy, double sz, int num_levels, double scale_factor, double amp_scale, int table_size, unsigned long int seed)
 Creates num_levels nested PerlinNoise3 objects.
 
 addLevel (const PerlinNoise3 level, double amp)
 Adds an arbitrary PerlinNoise3 object, and an associated amplitude, to the stack.
 
 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)
 
float operator() (const LVecBase3f value)
 
double operator() (double x, double y, double z)
 
StackedPerlinNoise3 operator= (const StackedPerlinNoise3 copy)
 

Detailed Description

Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function.

Member Function Documentation

◆ __init__() [1/3]

__init__ ( )

Creates a StackedPerlinNoise3 object with no levels.

You should call add_level() to add each level by hand.

◆ __init__() [2/3]

__init__ ( const StackedPerlinNoise3 copy)

Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed.

◆ __init__() [3/3]

__init__ ( double sx,
double sy,
double sz,
int num_levels,
double scale_factor,
double amp_scale,
int table_size,
unsigned long int seed )

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).

◆ addLevel()

addLevel ( const PerlinNoise3 level,
double amp )

Adds an arbitrary PerlinNoise3 object, and an associated amplitude, to the stack.

◆ clear()

clear ( )

Removes all levels from the stack.

You must call add_level() again to restore them.

◆ noise() [1/3]

double noise ( const LVecBase3d value)

Returns the noise function of the three inputs.

◆ noise() [2/3]

float noise ( const LVecBase3f value)

Returns the noise function of the three inputs.

◆ noise() [3/3]

double noise ( double x,
double y,
double z )

Returns the noise function of the three inputs.

◆ operator()() [1/3]

double operator() ( const LVecBase3d value)

◆ operator()() [2/3]

float operator() ( const LVecBase3f value)

◆ operator()() [3/3]

double operator() ( double x,
double y,
double z )

◆ operator=()

StackedPerlinNoise3 operator= ( const StackedPerlinNoise3 copy)