mirror of
https://github.com/godotengine/godot.git
synced 2024-11-10 06:03:09 +00:00
FastNoiseLite: Sync with 1.1.0, clean up SCsub
Doesn't fix the LTO warning about `-Waggressive-loop-optimizations` due to GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80922.
This commit is contained in:
parent
ab4c5a594a
commit
a5c52c1e38
@ -397,7 +397,7 @@ License: Expat
|
|||||||
|
|
||||||
Files: ./thirdparty/noise/FastNoiseLite.h
|
Files: ./thirdparty/noise/FastNoiseLite.h
|
||||||
Comment: FastNoise Lite
|
Comment: FastNoise Lite
|
||||||
Copyright: 2020, Jordan Peck and contributors
|
Copyright: 2023, Jordan Peck and contributors
|
||||||
License: Expat
|
License: Expat
|
||||||
|
|
||||||
Files: ./thirdparty/misc/pcg.cpp
|
Files: ./thirdparty/misc/pcg.cpp
|
||||||
|
@ -5,23 +5,9 @@ Import("env_modules")
|
|||||||
|
|
||||||
env_noise = env_modules.Clone()
|
env_noise = env_modules.Clone()
|
||||||
|
|
||||||
# Thirdparty source files
|
|
||||||
|
|
||||||
thirdparty_obj = []
|
|
||||||
|
|
||||||
thirdparty_dir = "#thirdparty/noise/"
|
thirdparty_dir = "#thirdparty/noise/"
|
||||||
thirdparty_sources = [
|
|
||||||
# Add C++ source files for noise modules here
|
|
||||||
]
|
|
||||||
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
|
|
||||||
|
|
||||||
env_noise.Prepend(CPPPATH=[thirdparty_dir])
|
env_noise.Prepend(CPPPATH=[thirdparty_dir])
|
||||||
|
|
||||||
env_thirdparty = env_noise.Clone()
|
|
||||||
env_thirdparty.disable_warnings()
|
|
||||||
env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources)
|
|
||||||
env.modules_sources += thirdparty_obj
|
|
||||||
|
|
||||||
# Godot source files
|
# Godot source files
|
||||||
|
|
||||||
module_obj = []
|
module_obj = []
|
||||||
@ -29,6 +15,3 @@ module_obj = []
|
|||||||
env_noise.add_source_files(module_obj, "*.cpp")
|
env_noise.add_source_files(module_obj, "*.cpp")
|
||||||
env_noise.add_source_files(module_obj, "editor/*.cpp")
|
env_noise.add_source_files(module_obj, "editor/*.cpp")
|
||||||
env.modules_sources += module_obj
|
env.modules_sources += module_obj
|
||||||
|
|
||||||
# Needed to force rebuilding the module files when the thirdparty library is updated.
|
|
||||||
env.Depends(module_obj, thirdparty_obj)
|
|
||||||
|
2
thirdparty/README.md
vendored
2
thirdparty/README.md
vendored
@ -697,7 +697,7 @@ Files extracted from the upstream source:
|
|||||||
## noise
|
## noise
|
||||||
|
|
||||||
- Upstream: https://github.com/Auburn/FastNoiseLite
|
- Upstream: https://github.com/Auburn/FastNoiseLite
|
||||||
- Version: git (6be3d6bf7fb408de341285f9ee8a29b67fd953f1, 2022)
|
- Version: 1.1.0 (f7af54b56518aa659e1cf9fb103c0b6e36a833d9, 2023)
|
||||||
- License: MIT
|
- License: MIT
|
||||||
|
|
||||||
Files extracted from the upstream source:
|
Files extracted from the upstream source:
|
||||||
|
15
thirdparty/noise/FastNoiseLite.h
vendored
15
thirdparty/noise/FastNoiseLite.h
vendored
@ -1,7 +1,7 @@
|
|||||||
// MIT License
|
// MIT License
|
||||||
//
|
//
|
||||||
// Copyright(c) 2020 Jordan Peck (jordan.me2@gmail.com)
|
// Copyright(c) 2023 Jordan Peck (jordan.me2@gmail.com)
|
||||||
// Copyright(c) 2020 Contributors
|
// Copyright(c) 2023 Contributors
|
||||||
//
|
//
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
// of this software and associated documentation files(the "Software"), to deal
|
// of this software and associated documentation files(the "Software"), to deal
|
||||||
@ -44,15 +44,15 @@
|
|||||||
// ....',;:codxkO000OOxdoc:;,''',,,;;;;,''.......',,;:clodkO00000Okxolc::;,,''..',;:ldxOKXNWWWNNK0OkkkkkkkkkkkxxddooooodxxkOOOOO000
|
// ....',;:codxkO000OOxdoc:;,''',,,;;;;,''.......',,;:clodkO00000Okxolc::;,,''..',;:ldxOKXNWWWNNK0OkkkkkkkkkkkxxddooooodxxkOOOOO000
|
||||||
// ....',;;clodxkkOOOkkdolc:;,,,,,,,,'..........,;:clodxkO0KKXKK0Okxdolcc::;;,,,;;:codkO0XXNNNNXKK0OOOOOkkkkxxdoollloodxkO0KKKXXXXX
|
// ....',;;clodxkkOOOkkdolc:;,,,,,,,,'..........,;:clodxkO0KKXKK0Okxdolcc::;;,,,;;:codkO0XXNNNNXKK0OOOOOkkkkxxdoollloodxkO0KKKXXXXX
|
||||||
//
|
//
|
||||||
// VERSION: 1.0.1
|
// VERSION: 1.1.0
|
||||||
// https://github.com/Auburn/FastNoise
|
// https://github.com/Auburn/FastNoiseLite
|
||||||
|
|
||||||
#ifndef FASTNOISELITE_H
|
#ifndef FASTNOISELITE_H
|
||||||
#define FASTNOISELITE_H
|
#define FASTNOISELITE_H
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
namespace fastnoiselite{
|
namespace fastnoiselite {
|
||||||
|
|
||||||
class FastNoiseLite
|
class FastNoiseLite
|
||||||
{
|
{
|
||||||
@ -2594,5 +2594,6 @@ const T FastNoiseLite::Lookup<T>::RandVecs3D[] =
|
|||||||
-0.7870349638f, 0.03447489231f, 0.6159443543f, 0, -0.2015596421f, 0.6859872284f, 0.6991389226f, 0, -0.08581082512f, -0.10920836f, -0.9903080513f, 0, 0.5532693395f, 0.7325250401f, -0.396610771f, 0, -0.1842489331f, -0.9777375055f, -0.1004076743f, 0, 0.0775473789f, -0.9111505856f, 0.4047110257f, 0, 0.1399838409f, 0.7601631212f, -0.6344734459f, 0, 0.4484419361f, -0.845289248f, 0.2904925424f, 0
|
-0.7870349638f, 0.03447489231f, 0.6159443543f, 0, -0.2015596421f, 0.6859872284f, 0.6991389226f, 0, -0.08581082512f, -0.10920836f, -0.9903080513f, 0, 0.5532693395f, 0.7325250401f, -0.396610771f, 0, -0.1842489331f, -0.9777375055f, -0.1004076743f, 0, 0.0775473789f, -0.9111505856f, 0.4047110257f, 0, 0.1399838409f, 0.7601631212f, -0.6344734459f, 0, 0.4484419361f, -0.845289248f, 0.2904925424f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
} // namespace fastnoiselite
|
||||||
#endif // namespace fastnoiselite
|
|
||||||
|
#endif
|
||||||
|
455
thirdparty/noise/patches/FastNoiseLite.patch
vendored
455
thirdparty/noise/patches/FastNoiseLite.patch
vendored
@ -1,455 +0,0 @@
|
|||||||
--- orig/FastNoiseLite.h 1900-01-00 00:00:00 +0000
|
|
||||||
+++ noise/FastNoiseLite.h 1900-01-00 00:00:00 +0000
|
|
||||||
@@ -52,6 +52,8 @@
|
|
||||||
|
|
||||||
#include <cmath>
|
|
||||||
|
|
||||||
+namespace fastnoiselite{
|
|
||||||
+
|
|
||||||
class FastNoiseLite
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
@@ -2583,4 +2585,5 @@
|
|
||||||
-0.7870349638f, 0.03447489231f, 0.6159443543f, 0, -0.2015596421f, 0.6859872284f, 0.6991389226f, 0, -0.08581082512f, -0.10920836f, -0.9903080513f, 0, 0.5532693395f, 0.7325250401f, -0.396610771f, 0, -0.1842489331f, -0.9777375055f, -0.1004076743f, 0, 0.0775473789f, -0.9111505856f, 0.4047110257f, 0, 0.1399838409f, 0.7601631212f, -0.6344734459f, 0, 0.4484419361f, -0.845289248f, 0.2904925424f, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
-#endif
|
|
||||||
+}
|
|
||||||
+#endif // namespace fastnoiselite
|
|
||||||
@@ -295,7 +295,7 @@ public:
|
|
||||||
/// Noise output bounded between -1...1
|
|
||||||
/// </returns>
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float GetNoise(FNfloat x, FNfloat y)
|
|
||||||
+ float GetNoise(FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
Arguments_must_be_floating_point_values<FNfloat>();
|
|
||||||
|
|
||||||
@@ -321,7 +321,7 @@ public:
|
|
||||||
/// Noise output bounded between -1...1
|
|
||||||
/// </returns>
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float GetNoise(FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float GetNoise(FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
Arguments_must_be_floating_point_values<FNfloat>();
|
|
||||||
|
|
||||||
@@ -350,7 +350,7 @@ public:
|
|
||||||
/// noise = GetNoise(x, y)</code>
|
|
||||||
/// </example>
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void DomainWarp(FNfloat& x, FNfloat& y)
|
|
||||||
+ void DomainWarp(FNfloat& x, FNfloat& y) const
|
|
||||||
{
|
|
||||||
Arguments_must_be_floating_point_values<FNfloat>();
|
|
||||||
|
|
||||||
@@ -377,7 +377,7 @@ public:
|
|
||||||
/// noise = GetNoise(x, y, z)</code>
|
|
||||||
/// </example>
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void DomainWarp(FNfloat& x, FNfloat& y, FNfloat& z)
|
|
||||||
+ void DomainWarp(FNfloat& x, FNfloat& y, FNfloat& z) const
|
|
||||||
{
|
|
||||||
Arguments_must_be_floating_point_values<FNfloat>();
|
|
||||||
|
|
||||||
@@ -528,7 +528,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
- float GradCoord(int seed, int xPrimed, int yPrimed, float xd, float yd)
|
|
||||||
+ float GradCoord(int seed, int xPrimed, int yPrimed, float xd, float yd) const
|
|
||||||
{
|
|
||||||
int hash = Hash(seed, xPrimed, yPrimed);
|
|
||||||
hash ^= hash >> 15;
|
|
||||||
@@ -541,7 +541,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
- float GradCoord(int seed, int xPrimed, int yPrimed, int zPrimed, float xd, float yd, float zd)
|
|
||||||
+ float GradCoord(int seed, int xPrimed, int yPrimed, int zPrimed, float xd, float yd, float zd) const
|
|
||||||
{
|
|
||||||
int hash = Hash(seed, xPrimed, yPrimed, zPrimed);
|
|
||||||
hash ^= hash >> 15;
|
|
||||||
@@ -555,7 +555,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
- void GradCoordOut(int seed, int xPrimed, int yPrimed, float& xo, float& yo)
|
|
||||||
+ void GradCoordOut(int seed, int xPrimed, int yPrimed, float& xo, float& yo) const
|
|
||||||
{
|
|
||||||
int hash = Hash(seed, xPrimed, yPrimed) & (255 << 1);
|
|
||||||
|
|
||||||
@@ -564,7 +564,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
- void GradCoordOut(int seed, int xPrimed, int yPrimed, int zPrimed, float& xo, float& yo, float& zo)
|
|
||||||
+ void GradCoordOut(int seed, int xPrimed, int yPrimed, int zPrimed, float& xo, float& yo, float& zo) const
|
|
||||||
{
|
|
||||||
int hash = Hash(seed, xPrimed, yPrimed, zPrimed) & (255 << 2);
|
|
||||||
|
|
||||||
@@ -574,7 +574,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
- void GradCoordDual(int seed, int xPrimed, int yPrimed, float xd, float yd, float& xo, float& yo)
|
|
||||||
+ void GradCoordDual(int seed, int xPrimed, int yPrimed, float xd, float yd, float& xo, float& yo) const
|
|
||||||
{
|
|
||||||
int hash = Hash(seed, xPrimed, yPrimed);
|
|
||||||
int index1 = hash & (127 << 1);
|
|
||||||
@@ -592,7 +592,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
- void GradCoordDual(int seed, int xPrimed, int yPrimed, int zPrimed, float xd, float yd, float zd, float& xo, float& yo, float& zo)
|
|
||||||
+ void GradCoordDual(int seed, int xPrimed, int yPrimed, int zPrimed, float xd, float yd, float zd, float& xo, float& yo, float& zo) const
|
|
||||||
{
|
|
||||||
int hash = Hash(seed, xPrimed, yPrimed, zPrimed);
|
|
||||||
int index1 = hash & (63 << 2);
|
|
||||||
@@ -616,7 +616,7 @@ private:
|
|
||||||
// Generic noise gen
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float GenNoiseSingle(int seed, FNfloat x, FNfloat y)
|
|
||||||
+ float GenNoiseSingle(int seed, FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
switch (mNoiseType)
|
|
||||||
{
|
|
||||||
@@ -638,7 +638,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float GenNoiseSingle(int seed, FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float GenNoiseSingle(int seed, FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
switch (mNoiseType)
|
|
||||||
{
|
|
||||||
@@ -663,7 +663,7 @@ private:
|
|
||||||
// Noise Coordinate Transforms (frequency, and possible skew or rotation)
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void TransformNoiseCoordinate(FNfloat& x, FNfloat& y)
|
|
||||||
+ void TransformNoiseCoordinate(FNfloat& x, FNfloat& y) const
|
|
||||||
{
|
|
||||||
x *= mFrequency;
|
|
||||||
y *= mFrequency;
|
|
||||||
@@ -686,7 +686,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void TransformNoiseCoordinate(FNfloat& x, FNfloat& y, FNfloat& z)
|
|
||||||
+ void TransformNoiseCoordinate(FNfloat& x, FNfloat& y, FNfloat& z) const
|
|
||||||
{
|
|
||||||
x *= mFrequency;
|
|
||||||
y *= mFrequency;
|
|
||||||
@@ -757,7 +757,7 @@ private:
|
|
||||||
// Domain Warp Coordinate Transforms
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void TransformDomainWarpCoordinate(FNfloat& x, FNfloat& y)
|
|
||||||
+ void TransformDomainWarpCoordinate(FNfloat& x, FNfloat& y) const
|
|
||||||
{
|
|
||||||
switch (mDomainWarpType)
|
|
||||||
{
|
|
||||||
@@ -777,7 +777,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void TransformDomainWarpCoordinate(FNfloat& x, FNfloat& y, FNfloat& z)
|
|
||||||
+ void TransformDomainWarpCoordinate(FNfloat& x, FNfloat& y, FNfloat& z) const
|
|
||||||
{
|
|
||||||
switch (mWarpTransformType3D)
|
|
||||||
{
|
|
||||||
@@ -844,7 +844,7 @@ private:
|
|
||||||
// Fractal FBm
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float GenFractalFBm(FNfloat x, FNfloat y)
|
|
||||||
+ float GenFractalFBm(FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
int seed = mSeed;
|
|
||||||
float sum = 0;
|
|
||||||
@@ -865,7 +865,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float GenFractalFBm(FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float GenFractalFBm(FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
int seed = mSeed;
|
|
||||||
float sum = 0;
|
|
||||||
@@ -890,7 +890,7 @@ private:
|
|
||||||
// Fractal Ridged
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float GenFractalRidged(FNfloat x, FNfloat y)
|
|
||||||
+ float GenFractalRidged(FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
int seed = mSeed;
|
|
||||||
float sum = 0;
|
|
||||||
@@ -911,7 +911,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float GenFractalRidged(FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float GenFractalRidged(FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
int seed = mSeed;
|
|
||||||
float sum = 0;
|
|
||||||
@@ -936,7 +936,7 @@ private:
|
|
||||||
// Fractal PingPong
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float GenFractalPingPong(FNfloat x, FNfloat y)
|
|
||||||
+ float GenFractalPingPong(FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
int seed = mSeed;
|
|
||||||
float sum = 0;
|
|
||||||
@@ -957,7 +957,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float GenFractalPingPong(FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float GenFractalPingPong(FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
int seed = mSeed;
|
|
||||||
float sum = 0;
|
|
||||||
@@ -982,7 +982,7 @@ private:
|
|
||||||
// Simplex/OpenSimplex2 Noise
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SingleSimplex(int seed, FNfloat x, FNfloat y)
|
|
||||||
+ float SingleSimplex(int seed, FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
// 2D OpenSimplex2 case uses the same algorithm as ordinary Simplex.
|
|
||||||
|
|
||||||
@@ -1053,7 +1053,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SingleOpenSimplex2(int seed, FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float SingleOpenSimplex2(int seed, FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
// 3D OpenSimplex2 case uses two offset rotated cube grids.
|
|
||||||
|
|
||||||
@@ -1155,7 +1155,7 @@ private:
|
|
||||||
// OpenSimplex2S Noise
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SingleOpenSimplex2S(int seed, FNfloat x, FNfloat y)
|
|
||||||
+ float SingleOpenSimplex2S(int seed, FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
// 2D OpenSimplex2S case is a modified 2D simplex noise.
|
|
||||||
|
|
||||||
@@ -1286,7 +1286,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SingleOpenSimplex2S(int seed, FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float SingleOpenSimplex2S(int seed, FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
// 3D OpenSimplex2S case uses two offset rotated cube grids.
|
|
||||||
|
|
||||||
@@ -1482,7 +1482,7 @@ private:
|
|
||||||
// Cellular Noise
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SingleCellular(int seed, FNfloat x, FNfloat y)
|
|
||||||
+ float SingleCellular(int seed, FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
int xr = FastRound(x);
|
|
||||||
int yr = FastRound(y);
|
|
||||||
@@ -1612,7 +1612,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SingleCellular(int seed, FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float SingleCellular(int seed, FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
int xr = FastRound(x);
|
|
||||||
int yr = FastRound(y);
|
|
||||||
@@ -1769,7 +1769,7 @@ private:
|
|
||||||
// Perlin Noise
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SinglePerlin(int seed, FNfloat x, FNfloat y)
|
|
||||||
+ float SinglePerlin(int seed, FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
int x0 = FastFloor(x);
|
|
||||||
int y0 = FastFloor(y);
|
|
||||||
@@ -1794,7 +1794,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SinglePerlin(int seed, FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float SinglePerlin(int seed, FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
int x0 = FastFloor(x);
|
|
||||||
int y0 = FastFloor(y);
|
|
||||||
@@ -1833,7 +1833,7 @@ private:
|
|
||||||
// Value Cubic Noise
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SingleValueCubic(int seed, FNfloat x, FNfloat y)
|
|
||||||
+ float SingleValueCubic(int seed, FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
int x1 = FastFloor(x);
|
|
||||||
int y1 = FastFloor(y);
|
|
||||||
@@ -1863,7 +1863,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SingleValueCubic(int seed, FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float SingleValueCubic(int seed, FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
int x1 = FastFloor(x);
|
|
||||||
int y1 = FastFloor(y);
|
|
||||||
@@ -1920,7 +1920,7 @@ private:
|
|
||||||
// Value Noise
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SingleValue(int seed, FNfloat x, FNfloat y)
|
|
||||||
+ float SingleValue(int seed, FNfloat x, FNfloat y) const
|
|
||||||
{
|
|
||||||
int x0 = FastFloor(x);
|
|
||||||
int y0 = FastFloor(y);
|
|
||||||
@@ -1940,7 +1940,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- float SingleValue(int seed, FNfloat x, FNfloat y, FNfloat z)
|
|
||||||
+ float SingleValue(int seed, FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
int x0 = FastFloor(x);
|
|
||||||
int y0 = FastFloor(y);
|
|
||||||
@@ -1972,7 +1972,7 @@ private:
|
|
||||||
// Domain Warp
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void DoSingleDomainWarp(int seed, float amp, float freq, FNfloat x, FNfloat y, FNfloat& xr, FNfloat& yr)
|
|
||||||
+ void DoSingleDomainWarp(int seed, float amp, float freq, FNfloat x, FNfloat y, FNfloat& xr, FNfloat& yr) const
|
|
||||||
{
|
|
||||||
switch (mDomainWarpType)
|
|
||||||
{
|
|
||||||
@@ -1989,7 +1989,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void DoSingleDomainWarp(int seed, float amp, float freq, FNfloat x, FNfloat y, FNfloat z, FNfloat& xr, FNfloat& yr, FNfloat& zr)
|
|
||||||
+ void DoSingleDomainWarp(int seed, float amp, float freq, FNfloat x, FNfloat y, FNfloat z, FNfloat& xr, FNfloat& yr, FNfloat& zr) const
|
|
||||||
{
|
|
||||||
switch (mDomainWarpType)
|
|
||||||
{
|
|
||||||
@@ -2009,7 +2009,7 @@ private:
|
|
||||||
// Domain Warp Single Wrapper
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void DomainWarpSingle(FNfloat& x, FNfloat& y)
|
|
||||||
+ void DomainWarpSingle(FNfloat& x, FNfloat& y) const
|
|
||||||
{
|
|
||||||
int seed = mSeed;
|
|
||||||
float amp = mDomainWarpAmp * mFractalBounding;
|
|
||||||
@@ -2023,7 +2023,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void DomainWarpSingle(FNfloat& x, FNfloat& y, FNfloat& z)
|
|
||||||
+ void DomainWarpSingle(FNfloat& x, FNfloat& y, FNfloat& z) const
|
|
||||||
{
|
|
||||||
int seed = mSeed;
|
|
||||||
float amp = mDomainWarpAmp * mFractalBounding;
|
|
||||||
@@ -2041,7 +2041,7 @@ private:
|
|
||||||
// Domain Warp Fractal Progressive
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void DomainWarpFractalProgressive(FNfloat& x, FNfloat& y)
|
|
||||||
+ void DomainWarpFractalProgressive(FNfloat& x, FNfloat& y) const
|
|
||||||
{
|
|
||||||
int seed = mSeed;
|
|
||||||
float amp = mDomainWarpAmp * mFractalBounding;
|
|
||||||
@@ -2062,7 +2062,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void DomainWarpFractalProgressive(FNfloat& x, FNfloat& y, FNfloat& z)
|
|
||||||
+ void DomainWarpFractalProgressive(FNfloat& x, FNfloat& y, FNfloat& z) const
|
|
||||||
{
|
|
||||||
int seed = mSeed;
|
|
||||||
float amp = mDomainWarpAmp * mFractalBounding;
|
|
||||||
@@ -2087,7 +2087,7 @@ private:
|
|
||||||
// Domain Warp Fractal Independant
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void DomainWarpFractalIndependent(FNfloat& x, FNfloat& y)
|
|
||||||
+ void DomainWarpFractalIndependent(FNfloat& x, FNfloat& y) const
|
|
||||||
{
|
|
||||||
FNfloat xs = x;
|
|
||||||
FNfloat ys = y;
|
|
||||||
@@ -2108,7 +2108,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void DomainWarpFractalIndependent(FNfloat& x, FNfloat& y, FNfloat& z)
|
|
||||||
+ void DomainWarpFractalIndependent(FNfloat& x, FNfloat& y, FNfloat& z) const
|
|
||||||
{
|
|
||||||
FNfloat xs = x;
|
|
||||||
FNfloat ys = y;
|
|
||||||
@@ -2133,7 +2133,7 @@ private:
|
|
||||||
// Domain Warp Basic Grid
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void SingleDomainWarpBasicGrid(int seed, float warpAmp, float frequency, FNfloat x, FNfloat y, FNfloat& xr, FNfloat& yr)
|
|
||||||
+ void SingleDomainWarpBasicGrid(int seed, float warpAmp, float frequency, FNfloat x, FNfloat y, FNfloat& xr, FNfloat& yr) const
|
|
||||||
{
|
|
||||||
FNfloat xf = x * frequency;
|
|
||||||
FNfloat yf = y * frequency;
|
|
||||||
@@ -2166,7 +2166,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void SingleDomainWarpBasicGrid(int seed, float warpAmp, float frequency, FNfloat x, FNfloat y, FNfloat z, FNfloat& xr, FNfloat& yr, FNfloat& zr)
|
|
||||||
+ void SingleDomainWarpBasicGrid(int seed, float warpAmp, float frequency, FNfloat x, FNfloat y, FNfloat z, FNfloat& xr, FNfloat& yr, FNfloat& zr) const
|
|
||||||
{
|
|
||||||
FNfloat xf = x * frequency;
|
|
||||||
FNfloat yf = y * frequency;
|
|
||||||
@@ -2228,7 +2228,7 @@ private:
|
|
||||||
// Domain Warp Simplex/OpenSimplex2
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void SingleDomainWarpSimplexGradient(int seed, float warpAmp, float frequency, FNfloat x, FNfloat y, FNfloat& xr, FNfloat& yr, bool outGradOnly)
|
|
||||||
+ void SingleDomainWarpSimplexGradient(int seed, float warpAmp, float frequency, FNfloat x, FNfloat y, FNfloat& xr, FNfloat& yr, bool outGradOnly) const
|
|
||||||
{
|
|
||||||
const float SQRT3 = 1.7320508075688772935274463415059f;
|
|
||||||
const float G2 = (3 - SQRT3) / 6;
|
|
||||||
@@ -2326,7 +2326,7 @@ private:
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename FNfloat>
|
|
||||||
- void SingleDomainWarpOpenSimplex2Gradient(int seed, float warpAmp, float frequency, FNfloat x, FNfloat y, FNfloat z, FNfloat& xr, FNfloat& yr, FNfloat& zr, bool outGradOnly)
|
|
||||||
+ void SingleDomainWarpOpenSimplex2Gradient(int seed, float warpAmp, float frequency, FNfloat x, FNfloat y, FNfloat z, FNfloat& xr, FNfloat& yr, FNfloat& zr, bool outGradOnly) const
|
|
||||||
{
|
|
||||||
x *= frequency;
|
|
||||||
y *= frequency;
|
|
||||||
@@ -1611,6 +1611,12 @@ private:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+// GCC raises warnings when integer overflows occur, which are needed for hashing here.
|
|
||||||
+#if defined(__GNUC__) && !defined(__clang__)
|
|
||||||
+#pragma GCC diagnostic push
|
|
||||||
+#pragma GCC diagnostic ignored "-Waggressive-loop-optimizations"
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
template <typename FNfloat>
|
|
||||||
float SingleCellular(int seed, FNfloat x, FNfloat y, FNfloat z) const
|
|
||||||
{
|
|
||||||
@@ -1765,6 +1771,9 @@ private:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if defined(__GNUC__) && !defined(__clang__)
|
|
||||||
+#pragma GCC diagnostic pop
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
// Perlin Noise
|
|
||||||
|
|
43
thirdparty/noise/patches/namespace-warnings.patch
vendored
Normal file
43
thirdparty/noise/patches/namespace-warnings.patch
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
diff --git a/thirdparty/noise/FastNoiseLite.h b/thirdparty/noise/FastNoiseLite.h
|
||||||
|
index ed97b0fcac..fb6dbcb92a 100644
|
||||||
|
--- a/thirdparty/noise/FastNoiseLite.h
|
||||||
|
+++ b/thirdparty/noise/FastNoiseLite.h
|
||||||
|
@@ -52,6 +52,8 @@
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
|
+namespace fastnoiselite {
|
||||||
|
+
|
||||||
|
class FastNoiseLite
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
@@ -1609,6 +1611,12 @@ private:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+// GCC raises warnings when integer overflows occur, which are needed for hashing here.
|
||||||
|
+#if defined(__GNUC__) && !defined(__clang__)
|
||||||
|
+#pragma GCC diagnostic push
|
||||||
|
+#pragma GCC diagnostic ignored "-Waggressive-loop-optimizations"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
template <typename FNfloat>
|
||||||
|
float SingleCellular(int seed, FNfloat x, FNfloat y, FNfloat z) const
|
||||||
|
{
|
||||||
|
@@ -1763,6 +1771,9 @@ private:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if defined(__GNUC__) && !defined(__clang__)
|
||||||
|
+#pragma GCC diagnostic pop
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// Perlin Noise
|
||||||
|
|
||||||
|
@@ -2583,4 +2594,6 @@ const T FastNoiseLite::Lookup<T>::RandVecs3D[] =
|
||||||
|
-0.7870349638f, 0.03447489231f, 0.6159443543f, 0, -0.2015596421f, 0.6859872284f, 0.6991389226f, 0, -0.08581082512f, -0.10920836f, -0.9903080513f, 0, 0.5532693395f, 0.7325250401f, -0.396610771f, 0, -0.1842489331f, -0.9777375055f, -0.1004076743f, 0, 0.0775473789f, -0.9111505856f, 0.4047110257f, 0, 0.1399838409f, 0.7601631212f, -0.6344734459f, 0, 0.4484419361f, -0.845289248f, 0.2904925424f, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
+} // namespace fastnoiselite
|
||||||
|
+
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user