Today's shader sketch was working on an effect. It took me way too long to figure out this code. &sol
vec2 st = gl_FragCoord.xy / u_resolution.xy; int iters = 32; float ratio = 0.5 + 0.5*sin(0.5*u_time); for (int i = 0; i < iters; i++) { if (st.x < ratio) { st.x = st.x / ratio; break; } else { float temp = st.x - ratio; st.x = (1.0 - st.y); st.y = temp / (1.0-ratio); } }