Shinya Kitaoka 810553
#pragma once
Shinya Kitaoka 810553
Toshihiro Shimizu 890ddd
#ifndef igs_perlin_noise_h
Toshihiro Shimizu 890ddd
#define igs_perlin_noise_h
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef IGS_PERLIN_NOISE_EXPORT
Toshihiro Shimizu 890ddd
#define IGS_PERLIN_NOISE_EXPORT
Toshihiro Shimizu 890ddd
#endif
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
namespace igs {
Shinya Kitaoka 120a6e
namespace perlin_noise {
Toshihiro Shimizu 890ddd
IGS_PERLIN_NOISE_EXPORT void change(
Shinya Kitaoka 120a6e
    unsigned char *image_array, const int height  // pixel
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const int width  // pixel
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const int channels, const int bits, const bool alpha_rendering_sw = true
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const double a11 = 0.01  // 2D affine transformation
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const double a12 = 0.0, const double a13 = 0.0, const double a21 = 0.0,
Shinya Kitaoka 120a6e
    const double a22 = 0.01, const double a23 = 0.0
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const double zz = 0.0, const int octaves_start = 3  // 0...
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const int octaves_end = 9  // 0...
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const double persistence = 1. / 1.7320508  // not 0
Shinya Kitaoka 120a6e
    );
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif /* !igs_perlin_noise_h */