#pragma language glsl3 vec2 hash(vec2 p) { p = fract(p * vec2(123.34, 456.21)); p += dot(p, p + 34.345); return fract(vec2(p.x * p.y, p.x + p.y)); } vec4 effect(vec4 color, Image tex, vec2 uv, vec2 px) { vec2 cell = floor(px / 2.0); // тут можно размер зерна менять float n = hash(cell).x; // 0..1 float v = 0.9 + n * 0.1; // 0.9..1.0 return vec4(v, v, v, 1.0); }