Files
4kintro/shader_minified.h
2024-07-26 00:54:30 +03:00

237 lines
6.1 KiB
C

// Generated with Shader Minifier 1.3.6 (https://github.com/laurentlb/Shader_Minifier/)
#ifndef SHADER_MINIFIED_H_
# define SHADER_MINIFIED_H_
# define VAR_texts "f"
# define VAR_texture_sampler "x"
# define VAR_u_resolution "y"
# define VAR_u_time "v"
const char *__temp_cleaned_shader_glsl =
"uniform vec2 y;"
"uniform float v;"
"uniform sampler2D x,f;"
"mat2 n(float v)"
"{"
"float f=sin(v),y=cos(v);"
"return mat2(y,-f,f,y);"
"}"
"float n(float v,float y,float x)"
"{"
"float m=max(x-abs(v-y),0.);"
"return max(v,y)+m*m*.25/x;"
"}"
"float s(vec2 v)"
"{"
"v=50.*fract(v*.3183099);"
"return fract(v.x*v.y*(v.x+v.y));"
"}"
"float n(vec2 v,float y)"
"{"
"vec2 m=floor(v),a=fract(v),f=a*a*(3.-2.*a);"
"return-y+y*mix(mix(s(m+vec2(0)),s(m+vec2(1,0)),f.x),mix(s(m+vec2(0,1)),s(m+vec2(1)),f.x),f.y);"
"}"
"float m(vec3 y)"
"{"
"return n(10.*y.xy+v+999.,.4)+.5*n(10.*(y.xz+2.)-v+999.,.4);"
"}"
"float m(vec3 v,vec3 m,float y)"
"{"
"vec3 x=vec3(0),f=m-x,a=v-x;"
"float s=dot(f,f),c=dot(a,f),n=length(a*s-f*c)-y*s,z=abs(c-s*.5)-s*.5,i=n*n,l=z*z*s,d=max(n,z)<0.?"
"-min(i,l):"
"(n>0.?"
"i:"
"0.)+(z>0.?"
"l:"
"0.);"
"return sign(d)*sqrt(abs(d))/s;"
"}"
"float m(vec3 v,vec3 y)"
"{"
"vec3 f=abs(v)-y;"
"return length(max(f,0.))+min(max(f.x,max(f.y,f.z)),0.);"
"}"
"float p(vec3 v)"
"{"
"vec2 f=vec2(.2);"
"v.xy*=n(.5);"
"const float y=sqrt(3.);"
"f.x*=.5*y;"
"v.xy/=f.x;"
"v.x=abs(v.x)-1.;"
"v.y=v.y+1./y;"
"if(v.x+y*v.y>0.)"
"v.xy=vec2(v.x-y*v.y,-y*v.x-v.y)/2.;"
"v.x-=clamp(v.x,-2.,0.);"
"float m=length(v.xy)*sign(-v.y)*f.x,a=abs(v.z)-f.y;"
"return length(max(vec2(m,a),0.))+min(max(m,a),0.);"
"}"
"float p(float y,float x,float a)"
"{"
"float f=(v*a-x)/(2.*acos(-1.));"
"f=min(f,y);"
"return 2.*acos(-1.)*f;"
"}"
"vec3 t(vec3 y)"
"{"
"float f=9.+9.*clamp(sin(p(2.,0.,1.)*.05),-.9,.9);"
"if(v>=9.)"
"y.xy=n(f)*y.xy;"
"if(v>=14.)"
"f=9.+9.*clamp(sin(p(2.,14.,1.)*.05),-.9,.9),y.xy=n(f*-1.)*y.xy;"
"return y;"
"}"
"float p(float y,float f)"
"{"
"if(v>=f)"
"y+=.045*clamp(sin(p(2.4,f*10.,10.)*.4),-.9,.9);"
"return y;"
"}"
"vec2 a(vec3 f)"
"{"
"float y=0.;"
"const float x=2.*acos(-1.)/24.;"
"float a=floor(atan(f.y,f.x)/x+.5)*x;"
"vec3 i=f;"
"i.xy=mat2(cos(a),-sin(a),sin(a),cos(a))*i.xy;"
"float s=length(max(abs(i.xy-vec2(1.8,0))-vec2(.24,.14),0.))-.02;"
"s=min(s,abs(length(f.xy)-1.8)-.2);"
"float r=abs(length(f.xy)-1.75)-.08;"
"r=n(r,abs(f.z-.1)-.04,.005);"
"s=max(-r,s);"
"s=n(s,abs(f.z)-.1,.02);"
"float z=1.;"
"for(int c=0;c<8;c++)"
"{"
"vec3 d=f;"
"float l=24.67/(2.*acos(-1.))+z*(2.*acos(-1.)/8.);"
"if(c==1)"
"l+=.2;"
"if(c==7)"
"l-=.2;"
"d.xy=n(l)*d.xy;"
"if(c>0)"
"{"
"d.x-=1.95;"
"d.x=p(d.x,float(c));"
"float h=p(vec3(d))-.02;"
"s=min(s,h);"
"if(s==h)"
"y=4.;"
"}"
"z+=1.;"
"}"
"vec3 d=t(f);"
"float c=2.*acos(-1.)/32.;"
"vec3 l=d;"
"l.xy=n(floor(atan(d.y,d.x)/c+.5)*c)*l.xy;"
"float h=m(l.xyz-vec3(1.75,0,0),vec3(.04,.14,.05))-.02;"
"s=min(s,h);"
"if(s==h)"
"y=4.;"
"float e=1.5,g=1e3;"
"for(int u=0;u<4;u++)"
"{"
"float C=m(vec3(f.x,f.y+e,f.z),vec3(2,.1,e))-.05;"
"g=min(g,C);"
"s=min(s,C);"
"e+=.2;"
"}"
"float C=1e3;"
"if(v>2.)"
"{"
"float u=m(f,vec3(0,0,-.01),1.6),D=m(f,vec3(0,0,-1),2.-v*2.+26.),b=0.;"
"if(v>2.)"
"b=m(f)*min((v-14.)*.5,.25);"
"u+=b;"
"C=max(-D+b,u);"
"s=min(s,C);"
"}"
"float u=f.y+4.25+n(f.xz*.04+1e2,9.);"
"s=min(s,u);"
"if(s==C)"
"y=1.;"
"else if(s==min(g,.1))"
"y=2.;"
"else if(s==u)"
"y=3.;"
"return vec2(s,y);"
"}"
"float a(vec3 v,vec3 y)"
"{"
"float f=0.,s;"
"for(int i=0;i<200;i++)"
"{"
"vec3 m=v+y*f;"
"s=a(m).x;"
"f+=s;"
"if(abs(s)<.001||f>8e2)"
"break;"
"}"
"return f;"
"}"
"vec3 h(vec3 v)"
"{"
"float m=a(v).x;"
"vec2 f=vec2(.01,0);"
"vec3 y=m-vec3(a(v-f.xyy).x,a(v-f.yxy).x,a(v-f.yyx));"
"return normalize(y);"
"}"
"float a(vec3 v,vec3 f,float y,float m)"
"{"
"vec3 s=normalize(f-v),x=h(v);"
"float i=clamp(dot(x,s),0.,y),c=a(v+x*.0025,s);"
"if(c<length(f-v))"
"i*=m;"
"return i;"
"}"
"vec3 h(vec2 v,vec3 y)"
"{"
"vec3 f=normalize(vec3(0,-1,0)-y),s=normalize(cross(vec3(0,1,0),f));"
"return normalize(f+v.x*s+v.y*cross(f,s));"
"}"
"vec3 i(vec3 v)"
"{"
"vec2 f=gl_FragCoord.xy/y.xy;"
"v=mix(v,v*smoothstep(.9,.5,length(f-vec2(.5))),.9);"
"v=mix(v,smoothstep(0.,1.,v),.9);"
"v*=vec3(1);"
"return pow(v,vec3(1./2.2));"
"}"
"void main()"
"{"
"vec2 f=(gl_FragCoord.xy*2.-y.xy)/y.y;"
"vec3 s=vec3(0,2,6);"
"s.yz*=n(sin(v)*.5);"
"s.xz*=n(cos(v)*.5);"
"vec3 m=h(f,s),x=vec3(0);"
"float c=a(s,m);"
"if(c<5e2)"
"{"
"vec3 d=s+m*c;"
"float l=a(d).y,r=0.;"
"r=a(d,vec3(-3,5,5),1.,.2);"
"x+=vec3(r*vec3(.502,.2824,.102));"
"r=a(d,vec3(3,-2,5),.75,.8);"
"x+=vec3(r*vec3(.2784,.3647,.6588));"
"vec3 g=h(d);"
"x+=vec3(.1216,.1216,.1137)*clamp(dot(g,normalize(vec3(1,10,1))),0.,1.);"
"if(l==0.)"
"x*=vec3(.3);"
"else if(l==1.)"
"x*=(n(5.*(d.xy+2.)+v,-1.)*n(50.*(d.xy+2.),-.4)+.5*n(20.*(d.xy+2.)-v,-.5)*n(5.*(d.xy+2.),-.75))*smoothstep(0.,.75,(v-5.)*.1)+vec3(0,0,.5*n(10.*(d.xy+4.)-v,-.5))+vec3(0,0,.5);"
"else if(l==2.)"
"x*=vec3(.3608,.1765,.0471)-.2*n(vec2(1e2*d.x+3e2,75.*d.z+150.),-2.2)*n(vec2(15.*d.x+2.,3.*d.z+2.),-1.)+n(vec2(15.*d.x+2.4,3.*d.z+2.),-.25);"
"else if(l==3.)"
"x*=vec3(.8471,.8549,.4667)+n(d.yz*1e3,.1)+n(d.xy*1e3,.1);"
"else if(l==4.)"
"x*=vec3(.1);"
"x=x*exp(-c*.02)+mix(x,mix(vec3(.2667,.2941,.3451),vec3(.302,.3176,.3725),pow(max(dot(m,vec3(0,.3,-1)),0.),8.)),1.-exp(-c*.02))*(1.-exp(-c*.02));"
"}"
"else"
" x=vec3(.1529,.1765,.3922)+m.y*.4;"
"gl_FragColor=vec4(i(x),1);"
"}";
#endif // SHADER_MINIFIED_H_