From 386d58b5862d8b76925c6523721594887606e82a Mon Sep 17 00:00:00 2001 From: faketruth Date: Mon, 3 Oct 2011 18:41:19 +0000 Subject: MCServer c++ source files git-svn-id: http://mc-server.googlecode.com/svn/trunk@3 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cNoise.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 source/cNoise.h (limited to 'source/cNoise.h') diff --git a/source/cNoise.h b/source/cNoise.h new file mode 100644 index 000000000..538970da3 --- /dev/null +++ b/source/cNoise.h @@ -0,0 +1,33 @@ +#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; +}; + -- cgit v1.2.3