diff options
Diffstat (limited to 'src/noise.h')
-rw-r--r-- | src/noise.h | 30 |
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 |