Files
bluflame/underwater4k/fragment_small.h
2026-04-18 22:31:51 +02:00

212 lines
5.3 KiB
C

/* File generated with Shader Minifier 1.1.1
* http://www.ctrl-alt-test.fr
*/
#ifndef FRAGMENT_SMALL_H_
# define FRAGMENT_SMALL_H_
# define V_Y "v"
# define V_Z "x"
char fragment_glsl_0[] = ""
"const int m=0;"
"varying vec4 v;"
"varying vec2 x;"
"vec3 r,i,z,f,s,y,w;"
"float e,c,a,n,p;"
"float t(vec2 v)"
"{"
"int i=int(v.x*40+v.y*6400);"
"i=i<<13^i;"
"return 1-float(i*(i*i*15731+789221)+1376312589&2147483647)/1073741824;"
"}"
"float d(vec2 v)"
"{"
"v=mod(v,1000.);"
"vec2 x=fract(v);"
"v-=x;"
"vec2 s=x*x*(3.-2.*x);"
"return mix(mix(t(v+vec2(0,0)),t(v+vec2(1,0)),s.x),mix(t(v+vec2(0,1)),t(v+vec2(1,1)),s.x),s.y);"
"}"
"float g(float x)"
"{"
"return x*.5+.5;"
"}"
"float d(float s,float z,float x)"
"{"
"float m=(g(sin(a*2*(s+z+v.x*x)))+g(sin(a*(z-s-v.x*x)))+g(sin(a*(z+v.x*x)))+g(sin(a*3*(s-v.x*x))))*.3;"
"return pow(m,2.);"
"}"
"vec3 h(vec3 x)"
"{"
"int v=int(mod(gl_FragCoord.x,3.));"
"if(v==0)"
"x*=w.xyz;"
"if(v==1)"
"x*=w.yzx;"
"if(v==2)"
"x*=w.zxy;"
"return x;"
"}"
"vec3 o(vec3 v)"
"{"
"vec2 m=x*2-1;"
"float y=m.x*(m.y+3);"
"return v+z*d(y+50*s.x,y+50*s.z,1.5)*g(m.y)*min(-s.y*30,.3);"
"}"
"float l(vec2 v)"
"{"
"return-.035+pow(d(v.x*10,v.y*10,0.)*2-1,2.)*.05-(v.x-.1)*.2;"
"}"
"vec3 u(vec3 v)"
"{"
"return normalize(vec3(l(v.xz-vec2(p,0))-l(v.xz+vec2(p,0)),2*p,l(v.xz-vec2(0,p))-l(v.xz+vec2(0,p))));"
"}"
"vec3 d(vec3 v,vec3 s)"
"{"
"return(.3+.7*max(dot(s,i),0.))*z*v;"
"}"
"vec3 M(vec3 v)"
"{"
"return normalize(vec3(d(v.x*160-cos(v.z*10)*12,v.z*140,4.),8,d(v.z*160-sin(v.x*10)*12,v.x*140,4.))*2-1);"
"}"
"vec3 M(vec3 v,vec3 x)"
"{"
"vec3 s=u(v),y=mix(vec3(.66,.55,.4)-.2*d(abs(v.xz*150))-.2*d(abs(v.yy+.002*d(abs(v.xz*150)))*3000),vec3(.1,.3,0)*(d(v.xz*7000.)*.4+.5),clamp(s.y*(d(v.x*111,v.z*111,0.)*.5-v.y*40),0.,1.));"
"if(v.y<=0)"
"y+=5*M(.8*v).x*min(.3,-v.y*8);"
"return d(y,s);"
"}"
"vec3 g(vec3 v,vec3 s)"
"{"
"return v.y<=-n*n?f:mix(vec3(-.5,-.25,0),vec3(2),1-(s.y*.5+.5));"
"}"
"vec3 h(vec3 s,vec3 x)"
"{"
"vec3 m,y;"
"m=normalize(s-r);"
"vec2 f=.5+.5*vec2(atan(m.z,m.x),acos(m.y))/a;"
"f.x-=v.x;"
"y=mix(vec3(1),vec3(1,0,0),mod(step(fract(f.x*6),.5)+step(fract(f.y*6),.5),2.));"
"return d(y,m)+pow(max(dot(m,normalize(i-x)),0.),33.)*z;"
"}"
"float M(vec3 v,vec3 x,float m)"
"{"
"float y,s,i,f;"
"y=0;"
"vec3 r=v;"
"for(float z=0;z<m;z+=y)"
"{"
"r+=x*y;"
"f=r.y;"
"float w=l(r.xz);"
"if(f<=w)"
"return z-y+y*(s-i)/(f-w+s-i);"
"s=w;"
"i=f;"
"y=.002+z/c;"
"}"
"return 9.;"
"}"
"float l(vec3 v,vec3 x)"
"{"
"vec3 s=v-r;"
"float i,y;"
"i=dot(s,x);"
"if(i>0)"
"return 9.;"
"y=i*i-dot(s,s)+e*e;"
"if(y>0)"
"return-i-sqrt(y);"
"return 9.;"
"}"
"float o(vec3 v,vec3 x)"
"{"
"float m=-v.y/x.y;"
"return m>=n?m:9.;"
"}"
"vec4 g(vec3 v,vec3 x,int m)"
"{"
"float s,i,y,f;"
"s=m!=2?o(v,x):9.;"
"i=m!=3?l(v,x):9.;"
"y=m!=1?M(v,x,min(.5,.002+min(s,i))):9.;"
"c/=20;"
"f=min(y,min(s,min(i,9.)));"
"if(f==9)"
"return vec4(0);"
"vec3 z=v+x*f;"
"if(f==y)"
"return vec4(z,1);"
"if(f==s)"
"return vec4(z,2);"
"if(f==i)"
"return vec4(z,3);"
"}"
"vec3 h(vec4 v,vec3 x,vec3 m)"
"{"
"vec3 y=x.y<n?f:g(s,m);"
"float i=clamp(length(v.xyz-x)*(s.y<=0?4:2),0.,1.);"
"if(v.w==1)"
"return mix(M(v.xyz,m),y,i);"
"if(v.w==2)"
"return mix(f,y,i);"
"if(v.w==3)"
"return mix(h(v.xyz,m),y,i);"
"return y;"
"}"
"vec3 t(vec3 v,vec3 m)"
"{"
"vec3 x=M(v);"
"vec4 i=g(v,refract(m,x,.9),2);"
"float z=clamp(pow(1.03*(1-length(i.xyz-v)),16.),0.,1.);"
"return mix(s.y<0?g(v,m):f,mix(h(g(v,reflect(m,x),2),v,m),h(i,v,m),clamp(-y.y+z,0.,1.)),i.w==3.?.5:pow(z,.5));"
"}"
"vec3 l(vec4 v,vec3 m,vec3 x)"
"{"
"vec3 y=m.y<n?f:g(s,x);"
"float i=clamp(length(v.xyz-m)*(s.y<=0?4:2),0.,1.);"
"if(v.w==1)"
"return mix(M(v.xyz,x),y,i);"
"if(v.w==2)"
"return mix(t(v.xyz,x),y,i);"
"if(v.w==3)"
"return mix(mix(h(v.xyz,x),h(g(v.xyz,reflect(x,normalize(v.xyz-r)),3),v.xyz,x),.5),y,i);"
"return g(m,x);"
"}"
"void main()"
"{"
"c=100;"
"a=3.1416;"
"w=vec3(1.2,.9,.9);"
"n=.0001;"
"p=.01;"
"float m=10;"
"int d=int(v.x);"
"y=vec3(x.xy-.5,1);"
"if(d>22&&d<27)"
"m=min(1.,sin((v.x-23)*a*.25)*12),s=vec3(.12,.005,v.x*.08),y=vec3(gl_ModelViewMatrix*vec4(y,1)),y.y+=.1*cos(v.x*4);"
"else"
" if(d>14&&d<23)"
"m=min(1.,sin((v.x-15)*a*.125)*24),y+=vec3(0,.1*cos(v.x*4),0),s=vec3(.08,.01*sin(v.x*4)+.002,v.x*.11);"
"else"
" s=vec3(.1,.004,0.)+vec3(.1,.005,20)*vec3(t(vec2(d,m++)),t(vec2(d,m++)),t(vec2(d,m++))),s=mix(s+vec3(.008)*vec3(t(vec2(d,m++)),t(vec2(d,m++)),t(vec2(d,m++))),s+vec3(.008)*vec3(t(vec2(d,m++)),t(vec2(d,m++)),t(vec2(d,m++))),v.x-d),s.y+=l(s.xz)+.02,s+=.02*u(s),m=min(1.,step(-28.,-v.x)*sin((v.x-d)*a)*3);"
"y=normalize(y);"
"if(d>22&&d<27)"
"r=s+.1*vec3(gl_ModelViewMatrix*vec4(0,0,1,1));"
"else"
" r=s+.02*vec3(sin(v.x),0,5+cos(v.x));"
"r.y+=.01+l(r.xz);"
"e=d<14?0.:p*.5+p*v.z;"
"r+=2*e*u(r);"
"i=vec3(.58,.58,-.58);"
"z=vec3(1.2);"
"f=vec3(.3,.33,.4);"
"if(s.y<=0)"
"c*=.75,z*=.8;"
"vec3 M=l(g(s,y,0),s,y);"
"if(s.y<=0)"
"M=o(M);"
"gl_FragColor.xyz=h(m*M);"
"}";
#endif // FRAGMENT_SMALL_H_