precision mediump float; attribute vec4 xyuv; uniform float uLevel; uniform float uOffset; varying vec2 vUv0; varying vec2 vUv1; varying vec2 vUv2; void main() { vec2 levelOffset = vec2(0, (uLevel - 3.0) * .3); vUv0 = xyuv.zw + vec2(uOffset * .31, 0) + levelOffset; vUv1 = xyuv.zw + vec2(uOffset * .19, 0) + levelOffset; vUv2 = xyuv.zw + vec2(uOffset * .11, 0) + levelOffset; gl_Position = vec4(xyuv.xy, 0, 1); }