1- // Processed by 'GLSL Shader Shrinker' (Shrunk by 2,150 characters)
1+ // Processed by 'GLSL Shader Shrinker' (Shrunk by 2,233 characters)
22// (https://github.com/deanthecoder/GLSLShaderShrinker)
33
44#define v3 vec3
55#define v2 vec2
66#define _S smoothstep
7+ #define RET return
78#define NM normalize
89#define LNG length
910#define _f float
1011#define iT iTime
1112#define iR iResolution
1213#define F
1314
14- float G(v2 p) { return fract (sin (dot (p, v2(123.45 , 87.43 ))) * 5432.3 ); }
15+ float G(v2 p) { RET fract (sin (dot (p, v2(123.45 , 87.43 ))) * 5432.3 ); }
1516
1617float Q(v2 p) {
1718#ifdef F
1819 p *= .05 ;
19- return texture(iChannel1, p).r;
20+ RET texture(iChannel1, p).r;
2021#else
2122 v2 i = floor (p);
2223 v2 f = fract (p);
2324 _f a = G(i);
2425 _f b = G(i + v2(1 , 0 ));
25- return mix (a, b, f.x) + (G(i + v2(0 , 1 )) - a) * f.y * (1 . - f.x) + (G(i + v2(1 )) - b) * f.x * f.y;
26+ RET mix (a, b, f.x) + (G(i + v2(0 , 1 )) - a) * f.y * (1 . - f.x) + (G(i + v2(1 )) - b) * f.x * f.y;
2627#endif
2728}
2829
2930float y(v2 p) {
3031 _f f = .5 * Q(p * 1.1 );
3132 f += .22 * Q(p * 2.3 );
3233 f += .0625 * Q(p * 8.4 );
33- return f / .7825 ;
34+ RET f / .7825 ;
3435}
3536
3637float sn(_f a, _f b, _f k) {
3738 _f h = clamp (.5 + .5 * (b - a) / k, 0 ., 1 .);
38- return mix (b, a, h) - k * h * (1 . - h);
39+ RET mix (b, a, h) - k * h * (1 . - h);
3940}
4041
4142mat2 X(_f a) {
4243 _f c = cos (a),
4344 s = sin (a);
44- return mat2 (c, s, - s, c);
45+ RET mat2 (c, s, - s, c);
4546}
4647
47- vec2 O(v2 a, v2 b) { return a.x < b.x ? a : b; }
48+ vec2 O(v2 a, v2 b) { RET a.x < b.x ? a : b; }
4849
49- float SS(v3 p, v2 t) { return LNG(v2(LNG(p.xy) - t.x, p.z)) - t.y; }
50+ float SS(v3 p, v2 t) { RET LNG(v2(LNG(p.xy) - t.x, p.z)) - t.y; }
5051
5152float ss(v3 p) {
5253 p.z = mod (p.z, .6 ) - .3 ;
53- return SS(p, v2(2 , .2 ));
54+ RET SS(p, v2(2 , .2 ));
5455}
5556
5657float se(v3 p) {
5758 _f L = LNG(p.xy);
58- return max (L - 2 ., 1.9 - L) - y((p.xy + p.yz) * 4 .) * .05 ;
59+ RET max (L - 2 ., 1.9 - L) - y((p.xy + p.yz) * 4 .) * .05 ;
5960}
6061
6162float sf(v3 p) {
6263 p.y -= 2.5 ;
63- return LNG(p.xy) - 1.2 + .2 * pow (abs (.5 + .5 * sin (p.z * 1.4 )), 4 .);
64+ RET LNG(p.xy) - 1.2 + .2 * pow (abs (.5 + .5 * sin (p.z * 1.4 )), 4 .);
6465}
6566
6667vec3 g(v3 p) {
6768 p.xz *= X(-.01 * p.z);
6869 if (iT < 44 .) p.z += iT;
6970 else p.z += 44 . + 2.6 * _S(0 ., 1 ., min (1 ., (iT - 44 .) / 2.6 ));
7071
71- return p;
72+ RET p;
7273}
7374
7475float Z(v3 p) {
7576 p = g(p);
7677 p.y += sin (p.x * 1.1 + sin (p.z * .7 )) * .15 ;
77- return min (p.y + 1.5 + sin (p.z) * .05 , LNG(p - v3(0 , - 3.3 , 49 )) - 2 .) - y(p.xz) * .1 ;
78+ RET min (p.y + 1.5 + sin (p.z) * .05 , LNG(p - v3(0 , - 3.3 , 49 )) - 2 .) - y(p.xz) * .1 ;
7879}
7980
8081float Y(v3 p) {
8182 p = g(p);
8283 v3 T = p;
8384 T.x = abs (T.x) - .8 ;
84- return sn(sn(ss(T), se(T), .1 ), sf(p), .3 );
85+ RET sn(sn(ss(T), se(T), .1 ), sf(p), .3 );
8586}
8687
8788float sg(v3 p) {
@@ -95,29 +96,29 @@ float sg(v3 p) {
9596 if (iT >= 55 .) S += sin (iT - 55 .) * .05 ;
9697 d = sn(sn(d, - (LNG(T.xz) - p.y * .5 - mix (.1 , .7 , S)), -.1 ), SS((T - v3(0 , mix (.4 , .25 , S), 0 )).xzy, v2(.35 , .04 ) * S), .05 * S);
9798 d -= y(T.xz + T.xy) * .05 ;
98- return d;
99+ RET d;
99100}
100101
101102float SE(v3 p) {
102103 _f t = min (1 ., max (0 ., iT - 62 .));
103- if (t <= 0 .) return 1e10 ;
104+ if (t <= 0 .) RET 1e10 ;
104105 p = g(p);
105106 p.z -= 49 .;
106107 p.y += 1.5 - 1.4 * sin (t * 1.57079 );
107- return LNG(p) - mix (.1 , 2 ., clamp (0 ., 1 ., max (0 ., iT - 62.8 ) * 2.5 ));
108+ RET LNG(p) - mix (.1 , 2 ., clamp (0 ., 1 ., max (0 ., iT - 62.8 ) * 2.5 ));
108109}
109110
110111vec3 D(v3 W, v3 K, v2 UV) {
111112 v3 A = NM(K - W),
112113 V = NM(cross (v3(0 , 1 , 0 ), A));
113- return NM(A + V * UV.x + cross (A, V) * UV.y);
114+ RET NM(A + V * UV.x + cross (A, V) * UV.y);
114115}
115116
116- vec2 M(v3 p) { return O(O(O(v2(Y(p), 1.5 ), v2(Z(p), 2.5 )), v2(sg(p), 3.5 )), v2(SE(p), 4.5 )); }
117+ vec2 M(v3 p) { RET O(O(O(v2(Y(p), 1.5 ), v2(Z(p), 2.5 )), v2(sg(p), 3.5 )), v2(SE(p), 4.5 )); }
117118
118119vec3 m(v3 p) {
119120 const v2 e = v2(1 , - 1 ) * 29e-5 ;
120- return NM(e.xyy * M(p + e.xyy).x + e.yyx * M(p + e.yyx).x + e.yxy * M(p + e.yxy).x + e.xxx * M(p + e.xxx).x);
121+ RET NM(e.xyy * M(p + e.xyy).x + e.yyx * M(p + e.yyx).x + e.yxy * M(p + e.yxy).x + e.xxx * M(p + e.xxx).x);
121122}
122123
123124float r(v3 p) {
@@ -128,14 +129,14 @@ float r(v3 p) {
128129 for (int i = 0 ; i < 16 ; i++ ) {
129130 h = M(p + U * d).x;
130131 P = abs (h / d);
131- if (P < .01 ) return 0 .;
132+ if (P < .01 ) RET 0 .;
132133 d += h;
133134 }
134135
135- return P * 5 .;
136+ RET P * 5 .;
136137}
137138
138- float o(v3 p, v3 n) { return 1 . - (.3 - M(p + n * .3 ).x) * 4 .; }
139+ float o(v3 p, v3 n) { RET 1 . - (.3 - M(p + n * .3 ).x) * 4 .; }
139140
140141float u(v3 p, v3 I) {
141142 _f w = .1 ,
@@ -146,42 +147,42 @@ float u(v3 p, v3 I) {
146147 w *= .7 ;
147148 st = max (st, _S(1 . - w, (1 . - w) * 1.06 , l)) * .5 ;
148149 w *= .7 ;
149- return max (st, _S(1 . - w, (1 . - w) * 1.07 , l));
150+ RET max (st, _S(1 . - w, (1 . - w) * 1.07 , l));
150151}
151152
152153vec3 ve(v3 v, v2 C) {
153154 v2 q = C.xy / iR.xy;
154155 v *= .5 + .5 * pow (16 . * q.x * q.y * (1 . - q.x) * (1 . - q.y), .4 );
155- return v;
156+ RET v;
156157}
157158
158159vec2 E() {
159160 _f tg = iT;
160- if (tg < 2 .) return v2(0 , 1 );
161+ if (tg < 2 .) RET v2(0 , 1 );
161162 tg -= 2 .;
162- if (tg < 4 .) return v2(0 , mix (1 ., 0 ., _S(0 ., 1 ., min (1 ., tg / 2 .))));
163+ if (tg < 4 .) RET v2(0 , mix (1 ., 0 ., _S(0 ., 1 ., min (1 ., tg / 2 .))));
163164 tg -= 4 .;
164- if (tg < 3.5 ) return v2(0 , mix (0 ., -.4 , _S(0 ., 1 ., min (1 ., tg / 1.5 ))));
165+ if (tg < 3.5 ) RET v2(0 , mix (0 ., -.4 , _S(0 ., 1 ., min (1 ., tg / 1.5 ))));
165166 tg -= 3.5 ;
166167 if (tg < 4 .) {
167168 _f f = _S(0 ., 1 ., min (1 ., tg / 4 .));
168- return v2(sin (f * 3.141 ) * -.6 , -.4 + 1.1 * sin (f * 1.5705 ));
169+ RET v2(sin (f * 3.141 ) * -.6 , -.4 + 1.1 * sin (f * 1.5705 ));
169170 }
170171
171172 tg -= 4 .;
172- if (tg < 12 .) return v2(0 , mix (.7 , -.2 , _S(0 ., 1 ., min (1 ., tg))));
173+ if (tg < 12 .) RET v2(0 , mix (.7 , -.2 , _S(0 ., 1 ., min (1 ., tg))));
173174 tg -= 12 .;
174- if (tg < 17 .) return v2(0 , mix (-.2 , -.05 , _S(0 ., 1 ., min (1 ., tg / 5 .))));
175+ if (tg < 17 .) RET v2(0 , mix (-.2 , -.05 , _S(0 ., 1 ., min (1 ., tg / 5 .))));
175176 tg -= 17 .;
176- return v2(0 , mix (-.05 , -.35 , _S(0 ., 1 ., min (1 ., tg / 5 .))));
177+ RET v2(0 , mix (-.05 , -.35 , _S(0 ., 1 ., min (1 ., tg / 5 .))));
177178}
178179
179180void mainImage(out vec4 B, v2 C) {
180181 v2 UV = (C - .5 * iR.xy) / iR.y;
181182#ifdef USE_WEBCAM
182183 if (iT > 63.5 ) {
183184 B = vec4 (mix (v3(0 ), texture(iChannel0, C / iR.xy).rgb, min (1 ., (iT - 63.5 ) * 5 .)), 1 );
184- return ;
185+ RET ;
185186 }
186187
187188#endif
0 commit comments