Grad() static private method

static private Grad ( int hash, float x ) : float
hash int
x float
return float
Beispiel #1
0
        // Token: 0x06002E1D RID: 11805 RVA: 0x000E1D90 File Offset: 0x000E0190
        public static float Noise(float x)
        {
            int num = Mathf.FloorToInt(x) & 255;

            x -= Mathf.Floor(x);
            float t = Perlin.Fade(x);

            return(Perlin.Lerp(t, Perlin.Grad(Perlin.perm[num], x), Perlin.Grad(Perlin.perm[num + 1], x - 1f)) * 2f);
        }
Beispiel #2
0
        // Token: 0x06002E1E RID: 11806 RVA: 0x000E1DEC File Offset: 0x000E01EC
        public static float Noise(float x, float y)
        {
            int num  = Mathf.FloorToInt(x) & 255;
            int num2 = Mathf.FloorToInt(y) & 255;

            x -= Mathf.Floor(x);
            y -= Mathf.Floor(y);
            float t    = Perlin.Fade(x);
            float t2   = Perlin.Fade(y);
            int   num3 = Perlin.perm[num] + num2 & 255;
            int   num4 = Perlin.perm[num + 1] + num2 & 255;

            return(Perlin.Lerp(t2, Perlin.Lerp(t, Perlin.Grad(Perlin.perm[num3], x, y), Perlin.Grad(Perlin.perm[num4], x - 1f, y)), Perlin.Lerp(t, Perlin.Grad(Perlin.perm[num3 + 1], x, y - 1f), Perlin.Grad(Perlin.perm[num4 + 1], x - 1f, y - 1f))));
        }
Beispiel #3
0
        // Token: 0x06002E20 RID: 11808 RVA: 0x000E1ED8 File Offset: 0x000E02D8
        public static float Noise(float x, float y, float z)
        {
            int num  = Mathf.FloorToInt(x) & 255;
            int num2 = Mathf.FloorToInt(y) & 255;
            int num3 = Mathf.FloorToInt(z) & 255;

            x -= Mathf.Floor(x);
            y -= Mathf.Floor(y);
            z -= Mathf.Floor(z);
            float t    = Perlin.Fade(x);
            float t2   = Perlin.Fade(y);
            float t3   = Perlin.Fade(z);
            int   num4 = Perlin.perm[num] + num2 & 255;
            int   num5 = Perlin.perm[num + 1] + num2 & 255;
            int   num6 = Perlin.perm[num4] + num3 & 255;
            int   num7 = Perlin.perm[num5] + num3 & 255;
            int   num8 = Perlin.perm[num4 + 1] + num3 & 255;
            int   num9 = Perlin.perm[num5 + 1] + num3 & 255;

            return(Perlin.Lerp(t3, Perlin.Lerp(t2, Perlin.Lerp(t, Perlin.Grad(Perlin.perm[num6], x, y, z), Perlin.Grad(Perlin.perm[num7], x - 1f, y, z)), Perlin.Lerp(t, Perlin.Grad(Perlin.perm[num8], x, y - 1f, z), Perlin.Grad(Perlin.perm[num9], x - 1f, y - 1f, z))), Perlin.Lerp(t2, Perlin.Lerp(t, Perlin.Grad(Perlin.perm[num6 + 1], x, y, z - 1f), Perlin.Grad(Perlin.perm[num7 + 1], x - 1f, y, z - 1f)), Perlin.Lerp(t, Perlin.Grad(Perlin.perm[num8 + 1], x, y - 1f, z - 1f), Perlin.Grad(Perlin.perm[num9 + 1], x - 1f, y - 1f, z - 1f)))));
        }