2016-05-17 03:04:11 +12:00
|
|
|
#pragma once
|
|
|
|
|
2016-03-19 06:57:51 +13:00
|
|
|
#ifndef igs_perlin_noise_h
|
|
|
|
#define igs_perlin_noise_h
|
|
|
|
|
|
|
|
#ifndef IGS_PERLIN_NOISE_EXPORT
|
|
|
|
#define IGS_PERLIN_NOISE_EXPORT
|
|
|
|
#endif
|
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
namespace igs {
|
|
|
|
namespace perlin_noise {
|
2016-03-19 06:57:51 +13:00
|
|
|
IGS_PERLIN_NOISE_EXPORT void change(
|
2016-06-15 18:43:10 +12:00
|
|
|
unsigned char *image_array, const int height // pixel
|
|
|
|
,
|
2021-09-13 19:50:24 +12:00
|
|
|
const int width, const int wrap // pixel
|
2016-06-15 18:43:10 +12:00
|
|
|
,
|
|
|
|
const int channels, const int bits, const bool alpha_rendering_sw = true
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
,
|
|
|
|
const double a11 = 0.01 // 2D affine transformation
|
|
|
|
,
|
|
|
|
const double a12 = 0.0, const double a13 = 0.0, const double a21 = 0.0,
|
|
|
|
const double a22 = 0.01, const double a23 = 0.0
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
,
|
|
|
|
const double zz = 0.0, const int octaves_start = 3 // 0...
|
|
|
|
,
|
|
|
|
const int octaves_end = 9 // 0...
|
|
|
|
,
|
|
|
|
const double persistence = 1. / 1.7320508 // not 0
|
2021-09-13 19:50:24 +12:00
|
|
|
);
|
2016-03-19 06:57:51 +13:00
|
|
|
}
|
2021-09-13 19:50:24 +12:00
|
|
|
} // namespace igs
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
#endif /* !igs_perlin_noise_h */
|