Noise: made interpolation methods public static, so that they can be used by the outside world as well
git-svn-id: http://mc-server.googlecode.com/svn/trunk@692 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
parent
f2e9c5ce06
commit
b29e9487f4
@ -56,10 +56,12 @@ public:
|
|||||||
float CubicNoise3D( 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; }
|
void SetSeed( unsigned int a_Seed ) { m_Seed = a_Seed; }
|
||||||
|
|
||||||
|
__NOISE_INLINE__ static float CubicInterpolate( float a_A, float a_B, float a_C, float a_D, float a_Pct );
|
||||||
|
__NOISE_INLINE__ static float CosineInterpolate( float a_A, float a_B, float a_Pct );
|
||||||
|
__NOISE_INLINE__ static float LinearInterpolate( float a_A, float a_B, float a_Pct );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
__NOISE_INLINE__ float CubicInterpolate( float a_A, float a_B, float a_C, float a_D, float a_Pct ) const;
|
|
||||||
__NOISE_INLINE__ float CosineInterpolate( float a_A, float a_B, float a_Pct ) const;
|
|
||||||
__NOISE_INLINE__ float LinearInterpolate( float a_A, float a_B, float a_Pct ) const;
|
|
||||||
|
|
||||||
#if NOISE_USE_SSE
|
#if NOISE_USE_SSE
|
||||||
__m128 CubicInterpolate4( const __m128 & a_A, const __m128 & a_B, const __m128 & a_C, const __m128 & a_D, float a_Pct ) const;
|
__m128 CubicInterpolate4( const __m128 & a_A, const __m128 & a_B, const __m128 & a_C, const __m128 & a_D, float a_Pct ) const;
|
||||||
|
@ -83,7 +83,7 @@ int cNoise::IntNoise3DInt( int a_X, int a_Y, int a_Z ) const
|
|||||||
* Interpolation functions
|
* Interpolation functions
|
||||||
**/
|
**/
|
||||||
|
|
||||||
float cNoise::CubicInterpolate( float a_A, float a_B, float a_C, float a_D, float a_Pct ) const
|
float cNoise::CubicInterpolate( float a_A, float a_B, float a_C, float a_D, float a_Pct )
|
||||||
{
|
{
|
||||||
float P = (a_D - a_C) - (a_A - a_B);
|
float P = (a_D - a_C) - (a_A - a_B);
|
||||||
float Q = (a_A - a_B) - P;
|
float Q = (a_A - a_B) - P;
|
||||||
@ -97,7 +97,7 @@ float cNoise::CubicInterpolate( float a_A, float a_B, float a_C, float a_D, floa
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
float cNoise::CosineInterpolate( float a_A, float a_B, float a_Pct ) const
|
float cNoise::CosineInterpolate( float a_A, float a_B, float a_Pct )
|
||||||
{
|
{
|
||||||
const float ft = a_Pct * 3.1415927f;
|
const float ft = a_Pct * 3.1415927f;
|
||||||
const float f = (1.f - cosf(ft)) * 0.5f;
|
const float f = (1.f - cosf(ft)) * 0.5f;
|
||||||
@ -108,7 +108,7 @@ float cNoise::CosineInterpolate( float a_A, float a_B, float a_Pct ) const
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
float cNoise::LinearInterpolate( float a_A, float a_B, float a_Pct ) const
|
float cNoise::LinearInterpolate( float a_A, float a_B, float a_Pct )
|
||||||
{
|
{
|
||||||
return a_A*(1.f-a_Pct) + a_B*a_Pct;
|
return a_A*(1.f-a_Pct) + a_B*a_Pct;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user