summaryrefslogtreecommitdiffstats
path: root/source/cNoise.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/cNoise.h')
-rw-r--r--source/cNoise.h94
1 files changed, 0 insertions, 94 deletions
diff --git a/source/cNoise.h b/source/cNoise.h
deleted file mode 100644
index 6d0a69483..000000000
--- a/source/cNoise.h
+++ /dev/null
@@ -1,94 +0,0 @@
-#pragma once
-
-// Some settings
-#define NOISE_USE_INLINE 1
-#define NOISE_USE_SSE 0
-
-// Do not touch
-#if NOISE_USE_INLINE
- #ifdef _MSC_VER
- #define __NOISE_INLINE__ __forceinline
- #else
- #define __NOISE_INLINE__ inline
- #endif // _MSC_VER
-#else
- #define __NOISE_INLINE__
-#endif
-
-#if NOISE_USE_SSE
-# include <emmintrin.h>
-#endif
-
-
-
-
-
-class cNoise
-{
-public:
- cNoise( unsigned int a_Seed );
- ~cNoise();
-
-#if NOISE_USE_SSE
- __m128 SSE_IntNoise2D( int a_X1, int a_Y1, int a_X2, int a_Y2, int a_X3, int a_Y3, int a_X4, int a_Y4 ) const;
-#endif
-
- __NOISE_INLINE__ float IntNoise( int a_X ) const;
- __NOISE_INLINE__ float IntNoise2D( int a_X, int a_Y ) const;
- __NOISE_INLINE__ float IntNoise3D( int a_X, int a_Y, int a_Z ) const;
-
- // Note: These functions have a mod8-irregular chance - each of the mod8 remainders has different chance of occurrence. Divide by 8 to rectify.
- __NOISE_INLINE__ int IntNoise1DInt( int a_X ) const;
- __NOISE_INLINE__ int IntNoise2DInt( int a_X, int a_Y ) const;
- __NOISE_INLINE__ int IntNoise3DInt( 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 SSE_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; }
-
- __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:
-
-#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;
-#endif
-
- unsigned int m_Seed;
-};
-
-
-
-
-
-/// Linearly interpolates values in the array between the anchor points
-extern void IntArrayLinearInterpolate2D(
- int * a_Array,
- int a_SizeX, int a_SizeY, // Dimensions of the array
- int a_AnchorStepX, int a_AnchorStepY // Distances between the anchor points in each direction
-);
-
-
-
-
-
-#if NOISE_USE_INLINE
-# include "cNoise.inc"
-#endif
-
-
-
-