1- // Processed by 'GLSL Shader Shrinker' (Shrunk by 636 characters)
1+ // Processed by 'GLSL Shader Shrinker' (Shrunk by 634 characters)
22// (https://github.com/deanthecoder/GLSLShaderShrinker)
33
44#define v3 vec3
1111#define _f float
1212#define iR iResolution
1313#define z0 min (iTime, 0 .)
14- #define X (x) clamp (x, 0 ., 1 .)
14+ #define Y (x) clamp (x, 0 ., 1 .)
1515#define S(x) SS(0 ., 1 ., x)
1616
1717_f T,
@@ -24,96 +24,96 @@ struct Hit {
2424 int id;
2525};
2626
27- #define L (a) if (a.d < h.d) h = a
27+ #define M (a) if (a.d < h.d) h = a
2828
29- mat2 W (_f a) {
30- v2 u = cos (v2(a, a - 1.5705 ));
31- RET mat2 (u , - u .y, u .x);
29+ mat2 X (_f a) {
30+ v2 w = cos (v2(a, a - 1.5705 ));
31+ RET mat2 (w , - w .y, w .x);
3232}
3333
34- vec2 P (v2 p, _f n) {
34+ vec2 Q (v2 p, _f n) {
3535 _f t = 3.141 / n,
3636 a = mod (atan (p.y, p.x) + t, 2 . * t) - t;
3737 RET LNG(p) * v2(cos (a), sin (a));
3838}
3939
40- float l (v3 p) {
40+ float k (v3 p) {
4141 v3 q = abs (p) - v3(.15 , .08 , .025 );
4242 RET LNG(MX(q, 0 .)) + min (MX(q.x, MX(q.y, q.z)), 0 .);
4343}
4444
45- float k (v3 p, _f h, _f r) {
45+ float m (v3 p, _f h, _f r) {
4646 p.x -= clamp (p.x, 0 ., h);
4747 RET LNG(p) - r;
4848}
4949
50- float Z (v3 p) {
50+ float sa (v3 p) {
5151 p = abs (p);
5252 RET (p.x + p.y + p.z - .3 ) * .577 ;
5353}
5454
55- float m (v3 p) {
56- p.yz = P (p.yz, 3 .);
55+ float o (v3 p) {
56+ p.yz = Q (p.yz, 3 .);
5757 p.x = abs (p.x) - .9 ;
5858 p.y-- ;
59- p.xy *= W (-.5 );
60- _f d = MX(k (p, 1.2 , .12 * S(p.x + .5 )), abs (p.z) - .06 );
61- p.xy *= W (- 2.725 );
59+ p.xy *= X (-.5 );
60+ _f d = MX(m (p, 1.2 , .12 * S(p.x + .5 )), abs (p.z) - .06 );
61+ p.xy *= X (- 2.725 );
6262 p.x += .1 ;
6363 p.y -= .05 ;
64- RET min (d, MX(k (p, .9 , .1 * (1.1 - S(p.x - .2 ))), abs (p.z) - .04 ));
64+ RET min (d, MX(m (p, .9 , .1 * (1.1 - S(p.x - .2 ))), abs (p.z) - .04 ));
6565}
6666
67- vec3 R (v3 V , v2 UV) {
68- v3 f = NM(v3(0 , 2 , 0 ) - V ),
67+ vec3 U (v3 W , v2 UV) {
68+ v3 f = NM(v3(0 , 2 , 0 ) - W ),
6969 r = NM(cross (v3(0 , 1 , 0 ), f));
7070 RET NM(f + r * UV.x + cross (f, r) * UV.y);
7171}
7272
73- Hit J (v3 p) {
73+ Hit K (v3 p) {
7474 p.y -= 2 .;
7575 Hit h = Hit(abs (p.y + 2 .), 1 );
76- v3 O = p;
77- _f b , x, d, s, i, tp, w ,
76+ v3 P = p;
77+ _f j , x, d, s, i, tp, y ,
7878 t = (5 . - clamp (T - 3 ., 0 ., 5 .)) * 1.25664 ;
79- p.yz *= W ((sin (t) + sin (2 . * t)) * sign (p.x) * 1.4 );
79+ p.yz *= X ((sin (t) + sin (2 . * t)) * sign (p.x) * 1.4 );
8080 t = MX(0 ., T - 8 .);
81- b = X ((t - 1 .) / 8 .);
82- v2 sn = S(v2(b * 4 ., b * 4.5 - 3 .)) * .7 ,
81+ j = Y ((t - 1 .) / 8 .);
82+ v2 sn = S(v2(j * 4 ., j * 4.5 - 3 .)) * .7 ,
8383 f = p.x - sn * sign (p.x),
84- D = - abs (p.x) - .01 + sn;
84+ E = - abs (p.x) - .01 + sn;
8585 p.x = p.x < 0 . ? min (0 ., f.x) : MX(0 ., f.x);
8686 x = abs (p.x) - .6 ;
8787 d = MX(MX(dot (v2(1.5 , .6 ), v2(LNG(p.yz), - x)), - x), MX(LNG(p.yz) - .5 , 1.2 - abs (p.x)));
88- L (Hit(min (d, m (p)), 3 ));
88+ M (Hit(min (d, o (p)), 3 ));
8989 s = LNG(p) - 1 .;
90- d = MX(min (LNG(v2(s, dot (sin (p * 26 .), cos (p.zxy * 26 .)) * .03 )) - .02 , abs (s + .08 ) - .05 ), D .x);
91- p.x = O .x < 0 . ? min (0 ., f.y) : MX(0 ., f.y);
90+ d = MX(min (LNG(v2(s, dot (sin (p * 26 .), cos (p.zxy * 26 .)) * .03 )) - .02 , abs (s + .08 ) - .05 ), E .x);
91+ p.x = P .x < 0 . ? min (0 ., f.y) : MX(0 ., f.y);
9292 i = mod (floor (atan (- p.y, p.z) * 3.183 + 10 .) + 2 ., 20 .);
93- tp = X(b * 4 . - 2 .) * 20 .;
94- w = MX(abs (LNG(p) - .65 ) - .05 , D .y + .01 + .13 * step (i, tp) * min (tp - i, 1 .));
95- p.yz = P (p.yz, 20 .);
93+ tp = Y(j * 4 . - 2 .) * 20 .;
94+ y = MX(abs (LNG(p) - .65 ) - .05 , E .y + .01 + .13 * step (i, tp) * min (tp - i, 1 .));
95+ p.yz = Q (p.yz, 20 .);
9696 p.y -= .64 ;
97- d = min (d, MX(w , - l (p)));
98- p = O ;
99- p.yz *= W (t * .1 );
100- mat2 r = W (2.5 );
101- w = 1e7 ;
97+ d = min (d, MX(y , - k (p)));
98+ p = P ;
99+ p.yz *= X (t * .1 );
100+ mat2 r = X (2.5 );
101+ y = 1e7 ;
102102 for (i = z0; i < 4 .; i++ ) {
103103 p -= .02 ;
104- p.xy *= W (3.7 + i);
104+ p.xy *= X (3.7 + i);
105105 p.yz *= r;
106- w = min (w, Z (p) - .005 );
106+ y = min (y, sa (p) - .005 );
107107 }
108108
109- g += 8e-5 / (.001 + w * w );
110- L (Hit(w , 4 ));
111- p = O ;
109+ g += 8e-5 / (.001 + y * y );
110+ M (Hit(y , 4 ));
111+ p = P ;
112112 p.x = abs (p.x);
113113 p.y += cos (p.x + t) * .05 ;
114- w = LNG(p.yz) - .01 ;
115- g += 5e-4 / (.001 + w * w );
116- L (Hit(min (d, w ), 2 ));
114+ y = LNG(p.yz) - .01 ;
115+ g += 5e-4 / (.001 + y * y );
116+ M (Hit(min (d, y ), 2 ));
117117 RET h;
118118}
119119
@@ -122,42 +122,42 @@ vec3 N(v3 p, _f t) {
122122 v3 n = v3(0 );
123123 for (int i = min (iFrame, 0 ); i < 4 ; i++ ) {
124124 v3 e = .005773 * (2 . * v3(((i + 3 ) >> 1 ) & 1 , (i >> 1 ) & 1 , i & 1 ) - 1 .);
125- n += e * J (p + e * h).d;
125+ n += e * K (p + e * h).d;
126126 }
127127
128128 RET NM(n);
129129}
130130
131- float sw(v3 p, v3 H ) {
131+ float sw(v3 p, v3 I ) {
132132 _f i, h,
133133 s = 1 .,
134134 t = .1 ;
135135 for (i = z0; i < 15 .; i++ ) {
136- h = J (t * H + p).d;
136+ h = K (t * I + p).d;
137137 s = min (s, 15 . * h / t);
138138 t += h;
139139 if (s < .001 || t > 10 .) break ;
140140 }
141141
142- RET X (s);
142+ RET Y (s);
143143}
144144
145- float j (v3 p, v3 n, _f h) { RET J (h * n + p).d / h; }
145+ float l (v3 p, v3 n, _f h) { RET K (h * n + p).d / h; }
146146
147- vec3 vg(v3 c, v2 y ) {
148- v2 q = y .xy / iR.xy;
147+ vec3 vg(v3 c, v2 z ) {
148+ v2 q = z .xy / iR.xy;
149149 c *= .5 + .5 * pow (16 . * q.x * q.y * (1 . - q.x) * (1 . - q.y), .4 );
150150 RET c;
151151}
152152
153- float z (v3 v) { RET exp (dot (v, v) * -.002 ); }
153+ float B (v3 v) { RET exp (dot (v, v) * -.002 ); }
154154
155- vec3 I (v3 p, v3 U , _f d, Hit h) {
155+ vec3 J (v3 p, v3 V , _f d, Hit h) {
156156 v3 c,
157- H = NM(v3(6 , 35 , - 10 ) - p),
157+ I = NM(v3(6 , 35 , - 10 ) - p),
158158 n = N(p, d);
159- _f _, F, G, C ,
160- E = g,
159+ _f b, G, H, D ,
160+ F = g,
161161 SP = 1 .;
162162 if (h.id == 2 ) {
163163 c = v3(.2 );
@@ -167,60 +167,60 @@ vec3 I(v3 p, v3 U, _f d, Hit h) {
167167 else if (h.id == 3 ) c = v3(.6 );
168168 else c = v3(.18 , .02 , .34 );
169169
170- _ = mix (j (p, n, .2 ), j (p, n, 2 .), .7 );
171- F = X (.1 + .9 * dot (H , n)) * (.3 + .7 * sw(p, H )) * (.3 + .7 * _ );
172- G = X (.1 + .9 * dot (H * v3(- 1 , 1 , - 1 ), n)) + pow (X (dot (U , reflect (H , n))), 10 .) * SP;
173- C = SS(.7 , 1 ., 1 . + dot (U , n)) * .5 ;
174- g = E ;
175- RET mix ((F * v3(.43 , .29 , .52 ) + G * _ * v3(2.11 , 1.69 , 1.48 )) * c, v3(.05 ), C );
170+ b = mix (l (p, n, .2 ), l (p, n, 2 .), .7 );
171+ G = Y (.1 + .9 * dot (I , n)) * (.3 + .7 * sw(p, I )) * (.3 + .7 * b );
172+ H = Y (.1 + .9 * dot (I * v3(- 1 , 1 , - 1 ), n)) + pow (Y (dot (V , reflect (I , n))), 10 .) * SP;
173+ D = SS(.7 , 1 ., 1 . + dot (V , n)) * .5 ;
174+ g = F ;
175+ RET mix ((G * v3(.43 , .29 , .52 ) + H * b * v3(2.11 , 1.69 , 1.48 )) * c, v3(.05 ), D );
176176}
177177
178- vec4 K (inout vec3 p, v3 U , _f s, _f M ) {
178+ vec4 L (inout vec3 p, v3 V , _f s, _f O ) {
179179 _f i,
180180 d = .01 ;
181181 g = 0 .;
182182 Hit h;
183183 for (i = z0; i < s; i++ ) {
184- h = J (p);
184+ h = K (p);
185185 if (abs (h.d) < .0015 ) break ;
186186 d += h.d;
187- if (d > M ) RET vec4 (0 );
188- p += h.d * U ;
187+ if (d > O ) RET vec4 (0 );
188+ p += h.d * V ;
189189 }
190190
191- _f Q = mix (1 ., .3 , (sin (T) * .5 + .5 ) * SS(13 ., 15 ., T));
192- RET vec4 (pow (g, Q ) * v3(.73 , .5 , .88 ) + I (p, U , d, h), h.id);
191+ _f R = mix (1 ., .3 , (sin (T) * .5 + .5 ) * SS(13 ., 15 ., T));
192+ RET vec4 (pow (g, R ) * v3(.73 , .5 , .88 ) + J (p, V , d, h), h.id);
193193}
194194
195- vec3 Y (v3 V , v3 U ) {
196- v3 p = V ;
197- vec4 o = K (p, U , 1e2 , 50 .);
198- o .rgb *= z (p - V );
199- if (o .w > 1 .) {
200- U = reflect (U , N(p, LNG(p - V )));
201- p += U * .01 ;
202- o += mix (.2 , .3 , o .w - 2 .) * K (p, U , 50 ., 10 .) * z(V - p);
195+ vec3 Z (v3 W , v3 V ) {
196+ v3 p = W ;
197+ vec4 u = L (p, V , 1e2 , 50 .);
198+ u .rgb *= B (p - W );
199+ if (u .w > 1 .) {
200+ V = reflect (V , N(p, LNG(p - W )));
201+ p += V * .01 ;
202+ u += mix (.2 , .3 , u .w - 2 .) * L (p, V , 50 ., 10 .) * B(W - p);
203203 }
204204
205- RET MX(v3(0 ), o .rgb);
205+ RET MX(v3(0 ), u .rgb);
206206}
207207
208- void mainImage(out vec4 B , v2 y ) {
208+ void mainImage(out vec4 C , v2 z ) {
209209 T = mod (iTime, 30 .);
210- v3 o ,
211- V = mix (v3(1 , 2 , - 4 ), v3(0 , 3.5 , - 3 ), S(T / 4 .));
212- v2 UV = (y - .5 * iR.xy) / iR.y;
213- o = Y(V, R(V , UV));
210+ v3 u ,
211+ W = mix (v3(1 , 2 , - 4 ), v3(0 , 3.5 , - 3 ), S(T / 4 .));
212+ v2 UV = (z - .5 * iR.xy) / iR.y;
213+ u = Z(W, U(W , UV));
214214#ifdef A
215- if (fwidth (o .r) > .03 ) {
215+ if (fwidth (u .r) > .03 ) {
216216 for (_f dx = z0; dx <= 1 .; dx++ ) {
217217 for (_f dy = z0; dy <= 1 .; dy++ )
218- o += Y(V, R(V , UV + (v2(dx, dy) - .5 ) / iR.xy));
218+ u += Z(W, U(W , UV + (v2(dx, dy) - .5 ) / iR.xy));
219219 }
220220
221- o /= 5 .;
221+ u /= 5 .;
222222 }
223223
224224#endif
225- B = vec4 (vg(pow (o , v3(.45 )) * X (iTime), y ), 1 );
225+ C = vec4 (vg(pow (u , v3(.45 )) * Y (iTime), z ), 1 );
226226}
0 commit comments