- VBE banked mode fixes backported from rbench
[dosdemo] / src / noise.c
index 4401e5a..63bfa82 100644 (file)
@@ -186,12 +186,12 @@ float noise3(float x, float y, float z)
        c = lerp(a, b, sy);
 
        /* interpolate along the bottom slice of the cell */
-       u = dotgrad3(grad3[b00 + bz0], rx0, ry0, rz1);
-       v = dotgrad3(grad3[b10 + bz0], rx1, ry0, rz1);
+       u = dotgrad3(grad3[b00 + bz1], rx0, ry0, rz1);
+       v = dotgrad3(grad3[b10 + bz1], rx1, ry0, rz1);
        a = lerp(u, v, sx);
 
-       u = dotgrad3(grad3[b01 + bz0], rx0, ry1, rz1);
-       v = dotgrad3(grad3[b11 + bz0], rx1, ry1, rz1);
+       u = dotgrad3(grad3[b01 + bz1], rx0, ry1, rz1);
+       v = dotgrad3(grad3[b11 + bz1], rx1, ry1, rz1);
        b = lerp(u, v, sx);
 
        d = lerp(a, b, sy);
@@ -298,12 +298,12 @@ float pnoise3(float x, float y, float z, int per_x, int per_y, int per_z)
        c = lerp(a, b, sy);
 
        /* interpolate along the bottom slice of the cell */
-       u = dotgrad3(grad3[b00 + bz0], rx0, ry0, rz1);
-       v = dotgrad3(grad3[b10 + bz0], rx1, ry0, rz1);
+       u = dotgrad3(grad3[b00 + bz1], rx0, ry0, rz1);
+       v = dotgrad3(grad3[b10 + bz1], rx1, ry0, rz1);
        a = lerp(u, v, sx);
 
-       u = dotgrad3(grad3[b01 + bz0], rx0, ry1, rz1);
-       v = dotgrad3(grad3[b11 + bz0], rx1, ry1, rz1);
+       u = dotgrad3(grad3[b01 + bz1], rx0, ry1, rz1);
+       v = dotgrad3(grad3[b11 + bz1], rx1, ry1, rz1);
        b = lerp(u, v, sx);
 
        d = lerp(a, b, sy);