3 Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 double easeCurve(double t
);
25 // Return value: -1 ... 1
26 double noise2d(int x
, int y
, int seed
);
27 double noise3d(int x
, int y
, int z
, int seed
);
29 double noise2d_gradient(double x
, double y
, int seed
);
30 double noise3d_gradient(double x
, double y
, double z
, int seed
);
32 double noise2d_perlin(double x
, double y
, int seed
,
33 int octaves
, double persistence
);
35 double noise2d_perlin_abs(double x
, double y
, int seed
,
36 int octaves
, double persistence
);
38 double noise3d_perlin(double x
, double y
, double z
, int seed
,
39 int octaves
, double persistence
);
41 double noise3d_perlin_abs(double x
, double y
, double z
, int seed
,
42 int octaves
, double persistence
);
49 NOISE_PERLIN_CONTOUR_FLIP_YZ
59 double noise_scale
; // Useful for contour noises
61 NoiseParams(NoiseType type_
=NOISE_PERLIN
, int seed_
=0,
62 int octaves_
=3, double persistence_
=0.5,
63 double pos_scale_
=100.0, double noise_scale_
=1.0):
67 persistence(persistence_
),
68 pos_scale(pos_scale_
),
69 noise_scale(noise_scale_
)
74 double noise3d_param(const NoiseParams
¶m
, double x
, double y
, double z
);
83 void create(const NoiseParams
¶m
,
84 double first_x
, double first_y
, double first_z
,
85 double last_x
, double last_y
, double last_z
,
86 double samplelength_x
, double samplelength_y
, double samplelength_z
);
87 void multiply(const NoiseParams
¶m
);
89 void create(int seed
, int octaves
, double persistence
,
91 double first_x
, double first_y
, double first_z
,
92 double last_x
, double last_y
, double last_z
,
93 double samplelength_x
, double samplelength_y
, double samplelength_z
);
95 void intSet(int x
, int y
, int z
, double d
);
96 void intMultiply(int x
, int y
, int z
, double d
);
97 double intGet(int x
, int y
, int z
);
98 double get(double x
, double y
, double z
);
102 double m_start_x
, m_start_y
, m_start_z
;
103 double m_samplelength_x
, m_samplelength_y
, m_samplelength_z
;
104 int m_size_x
, m_size_y
, m_size_z
;