// ZzArt Landscape By Frank Force vec3 SmoothHSV(vec3 c) { vec3 rgb = clamp(abs(mod(c.x*6.+vec3(0,4,2),6.)-3.)-1.,0.,1.); return c.z * mix( vec3(1), rgb*rgb*(3.-2.*rgb), c.y); } vec4 lengthA(vec4 a) { return vec4(length(a)); } vec4 asinA(vec4 a) { return asin(clamp(a,-1.,1.)); } vec4 acosA(vec4 a) { return acos(clamp(a,-1.,1.)); } vec4 logA(vec4 a) { return log(abs(a)); } vec4 log2A(vec4 a) { return log2(abs(a)); } vec4 sqrtA(vec4 a) { return sqrt(abs(a)); } vec4 inversesqrtA(vec4 a) { return inversesqrt(abs(a)); } vec4 pow2(vec4 a) { return a*a; } vec4 pow3(vec4 a) { return a*a*a; } void mainImage(out vec4 a, in vec2 p) { a=p.yxyx/iResolution.yxyx; a.xywz *= vec2(-2.720, -11.550).xyxy; a.xywz += vec2(-9.370, 2.120).xyxy; vec4 b = a; // Generated Code - Line Count: 8 for (int i = 0; i < 8; ++i) { b.yxzw += cos(b+(i>0?iTime:0.)).zwxx; b.yzxw *= (a).xwyx; a.yzwx = normalize(b).xzyw; b.xwyz -= (vec4(8.875, -6.698, 4.058, 5.739)).zwyz; b.xwzy *= exp(vec4(-1.442, 0.000, -1.654, 0.375)).yywy; b.wyzx /= floor(vec4(-0.008, 4.372, 0.419, 2.222)).xyxw; b.zwxy *= log2A(a).yxyz; a.zwxy = sqrtA(a).xxwz; } // Smooth HSV by iq a.x *= 0.539+0.964; a.y *= 0.587; a.xyz = SmoothHSV(a.xyz); vec2 uv = p.xy/iResolution.xy; vec4 c = texture(iChannel0, uv); a = c*.9+.1*a; }