summaryrefslogtreecommitdiff
path: root/src/noise.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/noise.h')
-rw-r--r--src/noise.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/noise.h b/src/noise.h
index 63974e86a..ba26519f2 100644
--- a/src/noise.h
+++ b/src/noise.h
@@ -32,8 +32,38 @@ double noise3d_gradient(double x, double y, double z, int seed);
double noise2d_perlin(double x, double y, int seed,
int octaves, double persistence);
+double noise2d_perlin_abs(double x, double y, int seed,
+ int octaves, double persistence);
+
double noise3d_perlin(double x, double y, double z, int seed,
int octaves, double persistence);
+double noise3d_perlin_abs(double x, double y, double z, int seed,
+ int octaves, double persistence);
+
+class NoiseBuffer
+{
+public:
+ NoiseBuffer();
+ ~NoiseBuffer();
+
+ void clear();
+ void create(int seed, int octaves, double persistence,
+ double pos_scale,
+ double first_x, double first_y, double first_z,
+ double last_x, double last_y, double last_z,
+ double samplelength_x, double samplelength_y, double samplelength_z);
+
+ void intSet(int x, int y, int z, double d);
+ double intGet(int x, int y, int z);
+ double get(double x, double y, double z);
+
+private:
+ double *m_data;
+ double m_start_x, m_start_y, m_start_z;
+ double m_samplelength_x, m_samplelength_y, m_samplelength_z;
+ int m_size_x, m_size_y, m_size_z;
+};
+
#endif