Starter Shader Andbins Palettes Aspect Correct Circle Aspect Ratio Demo Audio Feedback Audio Nebula Drive Audio Pulse Core Audio Raymarch Audio Reactive Intro Audio Reactive Audio Uv Distortion Audio Wavefield Basic Feedback Loop Bass Reactive Gradient Bloks Centered Uv Combined Sdfs Cosine Wave Fake Complexity Feedback Intro Feedback Liquid Feedback Nebula Smear Feedback Smear Fragment Gradient Generative Feedback Gradient Intro Gradient Intro Raymarch Iqs Palettes Liquid Signal Field Marina Dream Moving Stripe Multi Buffer Feedback Optimized Uv Distortion Orbital Force Core Plasma Drag Vortex Pointer Field Polar Coordinates Radial Glow Raymarch Lighting Raymarch Shadows Raymarch Step Comparison Raymarch Steps Recursive Feedback Resolution Performance Demo Scrolling Uvs Seascape Simple Raymarch Sphere Sine Wave Sine Wave2 Smooth Audio Response Smooth Union Sphere Sdf Surreal Raymarch Uv Color Gradient Uv Distortion Uv Feedback Distortion Uv Gradient Uv Space Visualizer Wave Compile Shader Copy Code Reset Starter Starter Shader Andbins Palettes Aspect Correct Circle Aspect Ratio Demo Audio Feedback Audio Nebula Drive Audio Pulse Core Audio Raymarch Audio Reactive Intro Audio Reactive Audio Uv Distortion Audio Wavefield Basic Feedback Loop Bass Reactive Gradient Bloks Centered Uv Combined Sdfs Cosine Wave Fake Complexity Feedback Intro Feedback Liquid Feedback Nebula Smear Feedback Smear Fragment Gradient Generative Feedback Gradient Intro Gradient Intro Raymarch Iqs Palettes Liquid Signal Field Marina Dream Moving Stripe Multi Buffer Feedback Optimized Uv Distortion Orbital Force Core Plasma Drag Vortex Pointer Field Polar Coordinates Radial Glow Raymarch Lighting Raymarch Shadows Raymarch Step Comparison Raymarch Steps Recursive Feedback Resolution Performance Demo Scrolling Uvs Seascape Simple Raymarch Sphere Sine Wave Sine Wave2 Smooth Audio Response Smooth Union Sphere Sdf Surreal Raymarch Uv Color Gradient Uv Distortion Uv Feedback Distortion Uv Gradient Uv Space Visualizer Wave void mainImage(out vec4 fragColor, in vec2 fragCoord) { vec2 uv = fragCoord.xy / iResolution.xy; vec2 p = uv * 2.0 - 1.0; p.x *= uAspect; vec2 m = uPointer * 2.0 - 1.0; m.x *= uAspect; float d = length(p - m); float t = iTime; float rings = sin(d * 38.0 - t * 6.0); rings = smoothstep(0.25, 1.0, rings * 0.5 + 0.5); rings *= exp(-d * 2.5); vec3 bg = vec3(0.006, 0.01, 0.035); vec3 blue = vec3(0.05, 0.25, 1.0); vec3 cyan = vec3(0.20, 0.85, 1.0); vec3 col = bg; col += blue * rings; col += cyan * (0.018 / max(d, 0.018)) * 0.18; col = pow(max(col, 0.0), vec3(0.88)); fragColor = vec4(col, 1.0); }