we're interpolating between floored points to which rand is additionally applied - not fract.
See also code excerpt:
// Four corners in 2D of a tile
float a = random(i);
float b = random(i + vec2(1.0, 0.0));
float c = random(i + vec2(0.0, 1.0));
float d = random(i + vec2(1.0, 1.0));
we're interpolating between
floor
ed points to whichrand
is additionally applied - notfract
.See also code excerpt: