runnable fragment
code snippet
precision mediump float;
varying vec2 v_texCoord;
uniform sampler2D u_texture;
uniform vec2 u_resolution;
uniform float u_gap; // pixel gap (1-8)
uniform float u_curve; // curvature (0-0.3)
uniform float u_vignette; // vignette intensity (0-1)
uniform float u_dispersion; // chromatic dispersion (0-0.2)
void main() {
vec2 uv = v_texCoord;
vec2 d = uv - 0.5;
float r = length(d);
float safeCurve = min(u_curve, 0.25);