☰
Menu
HOME
BLOKS | STUDIO
Starter Shader
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
Centered Uv
Combined Sdfs
Cosine Wave
Fake Complexity
Feedback Intro
Fireworks Preview
Fragment Gradient
Generative Feedback
Gradient
Intro Gradient
Intro Raymarch
Liquid Signal Field
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 Dreams Preview
Recursive Feedback
Resolution Performance Demo
Scrolling Uvs
Simple Raymarch Sphere
Sine Wave2
Smooth Audio Response
Smooth Union
Sphere Sdf
Surreal Raymarch
Uv Color Gradient
Uv Distortion
Uv Feedback Distortion
Uv Gradient
Uv Space Visualizer
Compile Shader
Copy Code
Reset Starter
Starter Shader
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
Centered Uv
Combined Sdfs
Cosine Wave
Fake Complexity
Feedback Intro
Fireworks Preview
Fragment Gradient
Generative Feedback
Gradient
Intro Gradient
Intro Raymarch
Liquid Signal Field
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 Dreams Preview
Recursive Feedback
Resolution Performance Demo
Scrolling Uvs
Simple Raymarch Sphere
Sine Wave2
Smooth Audio Response
Smooth Union
Sphere Sdf
Surreal Raymarch
Uv Color Gradient
Uv Distortion
Uv Feedback Distortion
Uv Gradient
Uv Space Visualizer
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); }