34 lines
1015 B
C
34 lines
1015 B
C
|
#pragma once
|
||
|
|
||
|
class cNoise
|
||
|
{
|
||
|
public:
|
||
|
cNoise( unsigned int a_Seed );
|
||
|
~cNoise();
|
||
|
|
||
|
float IntNoise( int a_X ) const;
|
||
|
float IntNoise2D( int a_X, int a_Y ) const;
|
||
|
float IntNoise3D( int a_X, int a_Y, int a_Z ) const;
|
||
|
|
||
|
float LinearNoise1D( float a_X ) const;
|
||
|
float CosineNoise1D( float a_X ) const;
|
||
|
float CubicNoise1D( float a_X ) const;
|
||
|
float SmoothNoise1D( int a_X ) const;
|
||
|
|
||
|
float LinearNoise2D( float a_X, float a_Y ) const;
|
||
|
float CosineNoise2D( float a_X, float a_Y ) const;
|
||
|
float CubicNoise2D( float a_X, float a_Y ) const;
|
||
|
|
||
|
float CosineNoise3D( float a_X, float a_Y, float a_Z ) const;
|
||
|
float CubicNoise3D( float a_X, float a_Y, float a_Z ) const;
|
||
|
|
||
|
void SetSeed( unsigned int a_Seed ) { m_Seed = a_Seed; }
|
||
|
private:
|
||
|
float CubicInterpolate( float a_A, float a_B, float a_C, float a_D, float a_Pct ) const;
|
||
|
float CosineInterpolate( float a_A, float a_B, float a_Pct ) const;
|
||
|
float LinearInterpolate( float a_A, float a_B, float a_Pct ) const;
|
||
|
|
||
|
unsigned int m_Seed;
|
||
|
};
|
||
|
|