Updated open-simplex to have const noise functions
"open-simplex-noise-in-c" now updated to master and "opensimplex" module refactored accordingly
This commit is contained in:
parent
328af1db75
commit
7e2b88a7eb
5 changed files with 33 additions and 33 deletions
|
|
@ -63,7 +63,7 @@ void OpenSimplexNoise::set_seed(int p_seed) {
|
|||
emit_changed();
|
||||
}
|
||||
|
||||
int OpenSimplexNoise::get_seed() {
|
||||
int OpenSimplexNoise::get_seed() const {
|
||||
return seed;
|
||||
}
|
||||
|
||||
|
|
@ -102,7 +102,7 @@ void OpenSimplexNoise::set_lacunarity(float p_lacunarity) {
|
|||
emit_changed();
|
||||
}
|
||||
|
||||
Ref<Image> OpenSimplexNoise::get_image(int p_width, int p_height) {
|
||||
Ref<Image> OpenSimplexNoise::get_image(int p_width, int p_height) const {
|
||||
Vector<uint8_t> data;
|
||||
data.resize(p_width * p_height * 4);
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ Ref<Image> OpenSimplexNoise::get_image(int p_width, int p_height) {
|
|||
return image;
|
||||
}
|
||||
|
||||
Ref<Image> OpenSimplexNoise::get_seamless_image(int p_size) {
|
||||
Ref<Image> OpenSimplexNoise::get_seamless_image(int p_size) const {
|
||||
Vector<uint8_t> data;
|
||||
data.resize(p_size * p_size * 4);
|
||||
|
||||
|
|
@ -193,11 +193,11 @@ void OpenSimplexNoise::_bind_methods() {
|
|||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "lacunarity", PROPERTY_HINT_RANGE, "0.1,4.0,0.01"), "set_lacunarity", "get_lacunarity");
|
||||
}
|
||||
|
||||
float OpenSimplexNoise::get_noise_1d(float x) {
|
||||
float OpenSimplexNoise::get_noise_1d(float x) const {
|
||||
return get_noise_2d(x, 1.0);
|
||||
}
|
||||
|
||||
float OpenSimplexNoise::get_noise_2d(float x, float y) {
|
||||
float OpenSimplexNoise::get_noise_2d(float x, float y) const {
|
||||
x /= period;
|
||||
y /= period;
|
||||
|
||||
|
|
@ -217,7 +217,7 @@ float OpenSimplexNoise::get_noise_2d(float x, float y) {
|
|||
return sum / max;
|
||||
}
|
||||
|
||||
float OpenSimplexNoise::get_noise_3d(float x, float y, float z) {
|
||||
float OpenSimplexNoise::get_noise_3d(float x, float y, float z) const {
|
||||
x /= period;
|
||||
y /= period;
|
||||
z /= period;
|
||||
|
|
@ -239,7 +239,7 @@ float OpenSimplexNoise::get_noise_3d(float x, float y, float z) {
|
|||
return sum / max;
|
||||
}
|
||||
|
||||
float OpenSimplexNoise::get_noise_4d(float x, float y, float z, float w) {
|
||||
float OpenSimplexNoise::get_noise_4d(float x, float y, float z, float w) const {
|
||||
x /= period;
|
||||
y /= period;
|
||||
z /= period;
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public:
|
|||
void _init_seeds();
|
||||
|
||||
void set_seed(int seed);
|
||||
int get_seed();
|
||||
int get_seed() const;
|
||||
|
||||
void set_octaves(int p_octaves);
|
||||
int get_octaves() const { return octaves; }
|
||||
|
|
@ -75,22 +75,22 @@ public:
|
|||
void set_lacunarity(float p_lacunarity);
|
||||
float get_lacunarity() const { return lacunarity; }
|
||||
|
||||
Ref<Image> get_image(int p_width, int p_height);
|
||||
Ref<Image> get_seamless_image(int p_size);
|
||||
Ref<Image> get_image(int p_width, int p_height) const;
|
||||
Ref<Image> get_seamless_image(int p_size) const;
|
||||
|
||||
float get_noise_1d(float x);
|
||||
float get_noise_2d(float x, float y);
|
||||
float get_noise_3d(float x, float y, float z);
|
||||
float get_noise_4d(float x, float y, float z, float w);
|
||||
float get_noise_1d(float x) const;
|
||||
float get_noise_2d(float x, float y) const;
|
||||
float get_noise_3d(float x, float y, float z) const;
|
||||
float get_noise_4d(float x, float y, float z, float w) const;
|
||||
|
||||
_FORCE_INLINE_ float _get_octave_noise_2d(int octave, float x, float y) { return open_simplex_noise2(&(contexts[octave]), x, y); }
|
||||
_FORCE_INLINE_ float _get_octave_noise_3d(int octave, float x, float y, float z) { return open_simplex_noise3(&(contexts[octave]), x, y, z); }
|
||||
_FORCE_INLINE_ float _get_octave_noise_4d(int octave, float x, float y, float z, float w) { return open_simplex_noise4(&(contexts[octave]), x, y, z, w); }
|
||||
_FORCE_INLINE_ float _get_octave_noise_2d(int octave, float x, float y) const { return open_simplex_noise2(&(contexts[octave]), x, y); }
|
||||
_FORCE_INLINE_ float _get_octave_noise_3d(int octave, float x, float y, float z) const { return open_simplex_noise3(&(contexts[octave]), x, y, z); }
|
||||
_FORCE_INLINE_ float _get_octave_noise_4d(int octave, float x, float y, float z, float w) const { return open_simplex_noise4(&(contexts[octave]), x, y, z, w); }
|
||||
|
||||
// Convenience
|
||||
|
||||
_FORCE_INLINE_ float get_noise_2dv(Vector2 v) { return get_noise_2d(v.x, v.y); }
|
||||
_FORCE_INLINE_ float get_noise_3dv(Vector3 v) { return get_noise_3d(v.x, v.y, v.z); }
|
||||
_FORCE_INLINE_ float get_noise_2dv(const Vector2 &v) const { return get_noise_2d(v.x, v.y); }
|
||||
_FORCE_INLINE_ float get_noise_3dv(const Vector3 &v) const { return get_noise_3d(v.x, v.y, v.z); }
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue