PerlinNoise.h 463 B

12345678910111213141516171819202122
  1. #pragma once
  2. #include "Noise.h"
  3. #include <vector>
  4. class PerlinNoise : public Noise
  5. {
  6. private:
  7. std::vector<int> p;
  8. int seed;
  9. public:
  10. PerlinNoise( int seed );
  11. int getSeed() const override;
  12. double getNoise( double x, double y, double z ) const override;
  13. private:
  14. inline double fade( double t ) const;
  15. inline double lerp( double t, double a, double b ) const;
  16. inline double grad( int hash, double x, double y, double z ) const;
  17. };