Azmyth.Procedural.SimplexOpenNoise.SimplexOpenNoise C# (CSharp) Method

SimplexOpenNoise() public method

public SimplexOpenNoise ( double persistence, double frequency, double amplitude, int octaves, long seed ) : System
persistence double
frequency double
amplitude double
octaves int
seed long
return System
        public SimplexOpenNoise(double persistence, double frequency, double amplitude, int octaves, long seed)
            : base(persistence, frequency, amplitude, octaves, seed)
        {
            perm = new short[256];
            permGradIndex3D = new short[256];
            short[] source = new short[256];
            for (short i = 0; i < 256; i++)
            source[i] = i;
            seed = seed * 6364136223846793005 + 1442695040888963407;
            seed = seed * 6364136223846793005 + 1442695040888963407;
            seed = seed * 6364136223846793005 + 1442695040888963407;
            for (int i = 255; i >= 0; i--)
            {
            seed = seed * 6364136223846793005 + 1442695040888963407;
            int r = (int)((seed + 31) % (i + 1));
            if (r < 0)
                r += (i + 1);
            perm[i] = source[r];
            permGradIndex3D[i] = (short)((perm[i] % (gradients3D.Length / 3)) * 3);
            source[r] = source[i];
            }
        }