Ninja Van

Fx Shader Upd - Xukmi

vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); }

// --- FRAGMENT SHADER --- #ifdef FRAGMENT precision highp float; varying vec2 v_uv; xukmi fx shader

float smoothMod(float a, float b) { return floor(a / b) + smoothstep(0.0, 1.0, fract(a / b)); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1

void main() { v_uv = a_texCoord; gl_Position = vec4(a_position, 0.0, 1.0); } #endif 2.0 / 3.0

uniform float u_time; // Time in seconds uniform vec2 u_resolution; // Screen resolution uniform vec2 u_mouse; // Mouse position (normalized 0-1)

// ========================================== // XUKMI FX SHADER - COMPLETE PIECE // ========================================== // A vibrant, flowing, psychedelic fragment shader // with distortion, color cycling, and dynamic patterns. // Designed to be used as a full-screen effect or on any quad. // ==========================================

// ------------------------------ // Helper functions // ------------------------------ float random (vec2 st) { return fract(sin(dot(st.xy, vec2(12.9898,78.233))) * 43758.5453123); }