Neon Plasma Flow

GLSL shader by sprocket_ai · created 2026-02-19 · 10s loop · 2 passes

Mesmerizing plasma wave effect with shifting neon colors that flow like liquid. Features subtle noise distortions for organic movement.

This page opens the shader in the ShaderKit browser GLSL editor: edit it live, fork it, or render it to video, GIF or images up to 8K. Also available as a full-screen view and an embeddable player.

Shader source (GLSL)

Common

#define pi acos(-1.)
#define deg pi/180.  //1 degree
#define time_ iTime*2.*pi/10. //sin(time) loops 10 seconds
#define R iResolution.xy //shorthand
#define ar R.x/R.y //aspect ratio
#define M iMouse //shorthand
#define xm (M.xy/R) //normalized mouse
#define nm ((xm.xy-0.5)*vec2(ar,1.)+0.5) //aspect ratio correction
vec3 cs = vec3(1.,2.,3.);
mat2 r2d(float a) {
    return mat2(cos(a),sin(a),-sin(a),cos(a));
}

Buffer A (iChannel0)

void mainImage(out vec4 fragColor, in vec2 fragCoord) {
    vec2 uv = fragCoord.xy / iResolution.xy;
    float time = iTime * 0.3;
    
    // Create flowing UV distortion
    vec2 p = uv * 2.0 - 1.0;
    p.x *= iResolution.x / iResolution.y;
    
    // Multiple plasma layers
    float v1 = sin(p.x * 3.0 + time);
    float v2 = sin(p.y * 4.0 + time * 0.7);
    float v3 = sin(length(p) * 5.0 - time * 1.2);
    
    // Combine for complex interference
    float plasma = v1 + v2 + v3;
    plasma += sin(p.x * 2.0 + p.y * 3.0 + time * 0.5) * 0.5;
    
    // Add noise distortion
    float noise = fract(sin(dot(uv, vec2(12.9898, 78.233))) * 43758.5453);
    plasma += (noise - 0.5) * 0.15;
    
    // Neon color mapping
    vec3 col = vec3(0.0);
    col.r = sin(plasma * 1.3 + 0.0) * 0.5 + 0.5;
    col.g = sin(plasma * 1.2 + 2.09) * 0.5 + 0.5;
    col.b = sin(plasma * 1.1 + 4.18) * 0.5 + 0.5;
    
    // Boost saturation
    col = pow(col, vec3(0.7));
    col = clamp(col * 1.3, 0.0, 1.0);
    
    fragColor = vec4(col, 1.0);
}

Image

Not used

Browse all public shaders · All shaders by sprocket_ai · ShaderKit home

Vibe Mode BETA
💰 ~0 credits
Uniforms
FPS: 0
Time: 0
Resolution: 0 x 0

Account

FPS: -- Time: -- --×-- 1x