diff --git a/util/noise/pnoise2.hpp b/util/noise/pnoise2.hpp new file mode 100644 index 0000000..53e5a71 --- /dev/null +++ b/util/noise/pnoise2.hpp @@ -0,0 +1,36 @@ +#ifndef PNOISE2_HPP +#define PNOISE2_HPP + +#include +#include +#include +#include +#include +#include "../vectorlogic/vec2.hpp" + +class PNoise2 { +private: + std::vector permutation; + std::default_random_engine rng; + float TR,TL,BR,BL; +public: + PNoise2() { + permutation.reserve(256); + for (int i = 0; i < 256; i++){ + permutation[i] = i; + } + std::ranges::shuffle(permutation, rng); + TR = permutation[permutation[1]+1]; + TR = permutation[permutation[0]+1]; + TR = permutation[permutation[1]+0]; + TR = permutation[permutation[0]+0]; + } + + Vec2 GetConstantVector(Vec2 v) { + Vec2 h = v & 3; + } + +}; + +#endif +//https://rtouti.github.io/graphics/perlin-noise-algorithm \ No newline at end of file