Suppressed perlin1d, added perlin 2,3,4 and simplex 2 classes + minor

fixes/optimisations on noisemachine
This commit is contained in:
Remi Beges
2012-05-30 19:30:51 +02:00
parent 57d9af6b56
commit 784787cd79
8 changed files with 584 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
// Copyright (C) 2012 Rémi Bèges
// This file is part of the "Nazara Engine".
// For conditions of distribution and use, see copyright notice in Config.hpp
#pragma once
#ifndef SIMPLEX2D_H
#define SIMPLEX2D_H
#include <Nazara/Prerequesites.hpp>
#include <Nazara/Noise/NoiseBase.hpp>
#include <Nazara/Math/Vector2.hpp>
template <typename T> class NzSimplex2D : public NzNoiseBase
{
public:
NzSimplex2D();
T GetValue(T x, T y, T res);
~NzSimplex2D() = default;
protected:
private:
int ii,jj;
int gi0,gi1,gi2;
NzVector2i Origin,off1;
T n1,n2,n3;
T c1,c2,c3;
T gradient2[8][2];
T UnskewCoeff2D;
T SkewCoeff2D;
NzVector2<T> A, IsoOriginDist;
NzVector2<T> d1,d2,d3;
};
typedef NzSimplex2D<float> NzSimplex2Df;
typedef NzSimplex2D<double> NzSimplex2Dd;
#include <Nazara/Noise/Simplex2D.inl>
#endif // SIMPLEX2D_H