summaryrefslogtreecommitdiffstats
path: root/source/cNoise.h
diff options
context:
space:
mode:
authorfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2011-10-25 20:57:38 +0200
committerfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2011-10-25 20:57:38 +0200
commit625c30d8bdee4f60c8437dc6004368f685435775 (patch)
tree3e56ea838a3231c363493ca75e3ad0486bff295c /source/cNoise.h
parentAbstracted sockets some more to ensure the same behavior over the entire program and on multiple platforms. (diff)
downloadcuberite-625c30d8bdee4f60c8437dc6004368f685435775.tar
cuberite-625c30d8bdee4f60c8437dc6004368f685435775.tar.gz
cuberite-625c30d8bdee4f60c8437dc6004368f685435775.tar.bz2
cuberite-625c30d8bdee4f60c8437dc6004368f685435775.tar.lz
cuberite-625c30d8bdee4f60c8437dc6004368f685435775.tar.xz
cuberite-625c30d8bdee4f60c8437dc6004368f685435775.tar.zst
cuberite-625c30d8bdee4f60c8437dc6004368f685435775.zip
Diffstat (limited to 'source/cNoise.h')
-rw-r--r--source/cNoise.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/cNoise.h b/source/cNoise.h
index 538970da3..9511ab6e4 100644
--- a/source/cNoise.h
+++ b/source/cNoise.h
@@ -1,5 +1,7 @@
#pragma once
+#include <emmintrin.h>
+
class cNoise
{
public:
@@ -8,6 +10,7 @@ public:
float IntNoise( int a_X ) const;
float IntNoise2D( int a_X, int a_Y ) const;
+ __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;
float IntNoise3D( int a_X, int a_Y, int a_Z ) const;
float LinearNoise1D( float a_X ) const;
@@ -18,6 +21,7 @@ public:
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;
@@ -25,6 +29,7 @@ public:
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;
+ __m128 CubicInterpolate4( const __m128 & a_A, const __m128 & a_B, const __m128 & a_C, const __m128 & 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;