fixed copy-paste bug in noise3
authorJohn Tsiombikas <nuclear@member.fsf.org>
Thu, 30 Dec 2021 22:13:22 +0000 (00:13 +0200)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Thu, 30 Dec 2021 22:13:22 +0000 (00:13 +0200)
src/noise.c
src/scr/testb.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);
index eb49430..2e4af98 100644 (file)
@@ -43,7 +43,7 @@ static void draw(void)
                y = (i + 0.5f) / (NY/2.0f) - 1.0f;
                for(j=0; j<NX; j++) {
                        x = (j + 0.5f) / (NX/2.0f) - 1.0f;
-                       sz = cgm_lerp(1.0f, noise2(x * 5.0f, t) * noise2(y * 5.0f, t) * 2.5f, scr.vis);
+                       sz = cgm_lerp(1.0f, noise3(x * 5.0f, y * 5.0, t) * 2.0f, scr.vis);
                        if(sz < 0.0f) sz = 0.0f;
                        if(sz > 1.0f) sz = 1.0f;
                        xr = sz / NX;