export declare const fragmentShader = "\nvarying vec2 vUv;\nuniform float uSpeed;\nuniform float uTime;\nuniform vec2 uFade;\nuniform vec3 uColor;\nuniform int uNumLines;\nuniform float uOffset;\nuniform float ulength;\nuniform float uReverse;\n\nvoid main() {\n vec3 color = uColor;\n float s = 0.0;\n float v = 0.0;\n float alpha = 0.0;\n float maxAlpha = 0.0; \n\n s = (-uTime * uSpeed) / ulength;\n s = mod(s, 1.0);\n\n float direction = (uReverse == 1.0) ? 1.0 : -1.0;\n float numLinesFloat = float(uNumLines);\n float baseGap = 1.0 / numLinesFloat; \n \n float dynamicLength = min(uFade.y, baseGap * 0.7); \n \n float widthFactor = smoothstep(0.1, 0.5, abs(vUv.y - 0.5));\n \n for (int i = 0; i < uNumLines; i++) {\n float start = float(i) / numLinesFloat;\n start += uOffset;\n v = vUv.x * direction + start;\n\n float d = mod((v + s), 1.0);\n \n if (d <= dynamicLength) {\n float tempAlpha = smoothstep(uFade.x, dynamicLength, d);\n maxAlpha = max(maxAlpha, tempAlpha);\n }\n }\n \n alpha = maxAlpha * widthFactor;\n\n if (alpha < 0.0001) {\n discard;\n }\n\n gl_FragColor = vec4(color, alpha);\n}\n ";