export declare const STREAM_CONVERGENCE_VERTEX_SHADER = "\n attribute vec2 position;\n varying vec2 vUv;\n void main() {\n vUv = position * 0.5 + 0.5;\n gl_Position = vec4(position, 0.0, 1.0);\n }\n"; export declare const STREAM_CONVERGENCE_CANONICAL_VERTEX_SHADER = "\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n "; export declare const STREAM_CONVERGENCE_FRAGMENT_SHADER = "\n uniform float u_time;\n uniform vec2 u_resolution;\n uniform float u_interactive_fidelity;\n varying vec2 vUv;\n\n mat2 rotate2d(float _angle){\n return mat2(cos(_angle),-sin(_angle),\n sin(_angle),cos(_angle));\n }\n\n void main() {\n vec2 p = vUv * 2.0 - 1.0;\n p.x *= u_resolution.x / u_resolution.y;\n p = rotate2d(0.55) * p;\n\n vec3 color = vec3(0.0);\n float spread = 0.06 * (0.3 + u_interactive_fidelity * 0.7);\n\n for(int i = 0; i < 3; i++) {\n float offset = float(1 - i) * spread;\n float y = p.y + offset + (sin(p.x * 2.5 - u_time * 1.5) * 0.12);\n float wave = smoothstep(0.85, 0.99, sin(y * 6.0 + u_time * 2.0) * 0.5 + 0.5);\n \n // Modulating color mixing logic for the violet-indigo theme\n if(i == 0) color.r += wave * 1.2; \n if(i == 1) color.g += wave * 0.5; \n if(i == 2) color.b += wave * 1.8; \n }\n\n float vignette = exp(-length(vUv * 2.0 - 1.0) * 0.8);\n color *= vignette;\n\n gl_FragColor = vec4(color, 1.0);\n }\n "; //# sourceMappingURL=streamConvergenceShaders.d.ts.map