X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fnoise.hpp;fp=src%2Fnoise.hpp;h=30bf5279defb3d36b5f2fed5548135d25a561191;hb=f62562b0f87d571bd7b32ae2f8ca659c24e9911b;hp=0000000000000000000000000000000000000000;hpb=4422bc40677f5a8e476fc89ada56b33c50f25bd8;p=blank.git diff --git a/src/noise.hpp b/src/noise.hpp new file mode 100644 index 0000000..30bf527 --- /dev/null +++ b/src/noise.hpp @@ -0,0 +1,29 @@ +#ifndef BLANK_NOISE_HPP_ +#define BLANK_NOISE_HPP_ + +#include + + +namespace blank { + +/// (3D only) adaptation of Stefan Gustavson's SimplexNoise java class +class SimplexNoise { + +public: + explicit SimplexNoise(unsigned int seed); + + float operator ()(const glm::vec3 &) const; + +private: + unsigned char Perm(size_t idx) const; + const glm::vec3 &Grad(size_t idx) const; + +private: + unsigned char perm[256]; + glm::vec3 grad[12]; + +}; + +} + +#endif