#include <lib_noise.h>
The noise class used for the Cinema 4D shaders.
Private Member Functions | |
| C4DNoise () | |
| ~C4DNoise () | |
Alloc/Free | |
| static C4DNoise * | Alloc (Int32 seed) |
| static C4DNoise * | Alloc2 (Int32 seed) |
| static void | Free (C4DNoise *&p) |
Menu Container | |
| static BaseContainer | CreateMenuContainer (Bool bIncludeNone=false) |
Has Octaves/Absolute/Cycles | |
| static Bool | HasOctaves (NoiseType t) |
| static Bool | HasAbsolute (NoiseType t) |
| static Bool | HasCycles (NoiseType t) |
Miscellaneous | |
| static void | EvaluateSampleOffset (NoiseType type, Float rOctaves, Float rDelta, Float &rSampleOffset) |
| static void | GetNoisePreview (NoiseType t, IconData &dat, String *str=nullptr) |
Noise | |
| Float | Noise (NoiseType t, Bool two_d, const Vector &p, Float time=0.0, Float octaves=4.0, Bool absolute=false, Float sampleRad=0.25, Float detailAtt=0.25, Int32 t_repeat=0) |
Init Fbm | |
| Bool | InitFbm (Int32 lMaxOctaves, Float rLacunarity, Float h) |
Private | |
| static const UChar * | GetPermutationTable () |
| const Float * | GetFBMTable () |
| const Float * | GetValueTable () |
| const Float * | GetImpulseTable () |
| const Int32 * | GetTPPermutationTable () |
| const NoiseGradient * | GetNoiseGradient () |
| const Int32 * | GetPermutationTableA () |
SNoise | |
| Float | SNoise (Vector p) |
| Float | SNoise (Vector p, Float t, Int32 lRepeat) |
Turbulence | |
| Float | Turbulence (Vector p, Float t, Float rOctaves, Bool bAbsolute, Int32 lRepeat) |
Fbm/Multifractal | |
| Float | Fbm (Vector p, Float t, Float rOctaves, Int32 lRepeat) |
| Float | RidgedMultifractal (Vector p, Float t, Float rOctaves, Float rOffset, Float rGain, Int32 lRepeat) |
|
private |
|
private |
Allocates a noise instance. Destroy the allocated noise instance with Free(). Use AutoAlloc to automate the allocation and destruction based on scope.
| [in] | seed | The noise seed. |
|
static |
|
static |
Creates a menu container with the different noise options available.
| [in] | bIncludeNone | Pass true to include the None option. |
Checks if a certain noise type supports the octaves parameter.
| [in] | t | The noise type: NoiseType |
Checks if a certain noise type supports the absolute parameter.
| [in] | t | The noise type: NoiseType |
Checks if a certain noise type supports the cycles parameter.
| [in] | t | The noise type: NoiseType |
|
static |
Evaluates the sample offset.
| [in] | type | The noise type: NoiseType |
| [in] | rOctaves | The number of octaves. |
| [in] | rDelta | The delta. |
| [out] | rSampleOffset | Assigned the sample offset. |
Generates a noise preview in dat.
| [in] | t | The noise type: NoiseType |
| [out] | dat | Filled with the noise preview. |
| [out] | str | If not nullptr then the name of the noise is assigned. The caller owns the pointed string. |
| Float Noise | ( | NoiseType | t, |
| Bool | two_d, | ||
| const Vector & | p, | ||
| Float | time = 0.0, |
||
| Float | octaves = 4.0, |
||
| Bool | absolute = false, |
||
| Float | sampleRad = 0.25, |
||
| Float | detailAtt = 0.25, |
||
| Int32 | t_repeat = 0 |
||
| ) |
Samples a 2D or 3D noise.
| [in] | t | The noise type: NoiseType |
| [in] | two_d | true for 2D sampling, false for 3D sampling. |
| [in] | p | The position. |
| [in] | time | The time. |
| [in] | octaves | The number of octaves. |
| [in] | absolute | true to return an absolute value. |
| [in] | sampleRad | The sample radius. |
| [in] | detailAtt | The detail attenuation. |
| [in] | t_repeat | Must be 2^x - 1, where x = [1..10], i.e. one of 1, 3, 7, 15, 31, 63, 127, 255, 511, and 1023.A noise repeats itself in time every 1024 units. Using a smaller t_repeat the noise will repeat at an earlier time. |
Initializes Fractal Brownian Motion.
| [in] | lMaxOctaves | The maximum number of octaves. |
| [in] | rLacunarity | The lacunarity. |
| [in] | h | The h parameter. |
| const Float* GetFBMTable | ( | ) |
Private.
| const Float* GetValueTable | ( | ) |
Private.
| const Float* GetImpulseTable | ( | ) |
Private.
|
static |
Private.
| const Int32* GetTPPermutationTable | ( | ) |
Private.
| const NoiseGradient* GetNoiseGradient | ( | ) |
Private.
| const Int32* GetPermutationTableA | ( | ) |
Private.
Generates a signed noise value.
| [in] | p | The noise coordinate. |
Generates a periodic signed noise value.
| [in] | p | The noise coordinate. |
| [in] | t | The time. |
| [in] | lRepeat | Must be 2^x - 1, where x = [1..10], i.e. one of 1, 3, 7, 15, 31, 63, 127, 255, 511, and 1023.A noise repeats itself in time every 1024 units. Using a smaller lRepeat the noise will repeat at an earlier time. |
Generates a periodic turbulence value, this is a sum of multiple noises with different frequency.
| [in] | p | The noise coordinate. |
| [in] | t | The time. |
| [in] | rOctaves | The number of octaves. |
| [in] | bAbsolute | true to return an absolute value. |
| [in] | lRepeat | Must be 2^x - 1, where x = [1..10], i.e. one of 1, 3, 7, 15, 31, 63, 127, 255, 511, and 1023.A noise repeats itself in time every 1024 units. Using a smaller lRepeat the noise will repeat at an earlier time. |
Generates a periodic Fractional Brownian Motion value.
| [in] | p | The noise coordinate. |
| [in] | t | The time. |
| [in] | rOctaves | The number of octaves. Must not exceed the value passed to InitFbm(), but can be lower. |
| [in] | lRepeat | Must be 2^x - 1, where x = [1..10], i.e. one of 1, 3, 7, 15, 31, 63, 127, 255, 511, and 1023.A noise repeats itself in time every 1024 units. Using a smaller lRepeat the noise will repeat at an earlier time. |
| Float RidgedMultifractal | ( | Vector | p, |
| Float | t, | ||
| Float | rOctaves, | ||
| Float | rOffset, | ||
| Float | rGain, | ||
| Int32 | lRepeat | ||
| ) |
Generates a periodic fractal function used for such things as landscapes or mountain ranges.
| [in] | p | The evaluation point. |
| [in] | t | The time. |
| [in] | rOctaves | The number of octaves. Must not exceed the value passed to InitFbm(), but can be lower. |
| [in] | rOffset | The zero offset, this controls the multifractality. |
| [in] | rGain | The amplification of the fractal value. |
| [in] | lRepeat | Must be 2^x - 1, where x = [1..10], i.e. one of 1, 3, 7, 15, 31, 63, 127, 255, 511, and 1023.A noise repeats itself in time every 1024 units. Using a smaller lRepeat the noise will repeat at an earlier time. |