168 lines
3.9 KiB
C
168 lines
3.9 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 x=sin(v),y=cos(v);"
|
|
"return mat2(y,-x,x,y);"
|
|
"}"
|
|
"float n(float v,float x,float y)"
|
|
"{"
|
|
"float m=max(y-abs(v-x),0.);"
|
|
"return max(v,x)+m*m*.25/y;"
|
|
"}"
|
|
"float n(vec3 v,vec3 y)"
|
|
"{"
|
|
"vec3 x=abs(v)-y;"
|
|
"return length(max(x,0.))+min(max(x.x,max(x.y,x.z)),0.);"
|
|
"}"
|
|
"float s(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 x=length(v.xy)*sign(-v.y)*f.x,a=abs(v.z)-f.y;"
|
|
"return length(max(vec2(x,a),0.))+min(max(x,a),0.);"
|
|
"}"
|
|
"float s(float x,float y,float m)"
|
|
"{"
|
|
"float f=(v*m-y)/(2.*acos(-1.));"
|
|
"f=min(f,x);"
|
|
"return 2.*acos(-1.)*f;"
|
|
"}"
|
|
"vec3 m(vec3 y)"
|
|
"{"
|
|
"float x=9.+9.*clamp(sin(s(2.,0.,1.)*.05),-.9,.9);"
|
|
"if(v>=2.)"
|
|
"x=9.+9.*clamp(sin(s(2.,0.,1.)*.05),-.9,.9),y.xy=n(x)*y.xy;"
|
|
"if(v>=14.)"
|
|
"x=9.+9.*clamp(sin(s(2.,14.,1.)*.05),-.9,.9),y.xy=n(x*-1.)*y.xy;"
|
|
"return y;"
|
|
"}"
|
|
"float m(float x,float y)"
|
|
"{"
|
|
"if(v>=y)"
|
|
"x+=.045*clamp(sin(s(2.4,y*10.,10.)*.4),-.9,.9);"
|
|
"return x;"
|
|
"}"
|
|
"vec2 a(vec3 v)"
|
|
"{"
|
|
"float x=round(atan(v.y,v.x)/.261799375)*.261799375;"
|
|
"vec3 f=v;"
|
|
"f.xy=mat2(cos(x),-sin(x),sin(x),cos(x))*f.xy;"
|
|
"float y=length(max(abs(f.xy-vec2(1.8,0))-vec2(.24,.14),0.))-.02;"
|
|
"y=min(y,abs(length(v.xy)-1.8)-.2);"
|
|
"float i=abs(length(v.xy)-1.75)-.08;"
|
|
"i=n(i,abs(v.z-.1)-.04,.005);"
|
|
"y=max(-i,y);"
|
|
"y=n(y,abs(v.z)-.1,.02);"
|
|
"float r=1.;"
|
|
"for(int a=0;a<8;a++)"
|
|
"{"
|
|
"vec3 c=v;"
|
|
"float z=24.67/6.283185+r*.785398125;"
|
|
"if(a==1)"
|
|
"z+=.2;"
|
|
"if(a==7)"
|
|
"z-=.2;"
|
|
"c.xy=n(z)*c.xy;"
|
|
"if(a>0)"
|
|
"{"
|
|
"c.x=c.x-1.95;"
|
|
"if(a==1)"
|
|
"c.x=m(c.x,13.);"
|
|
"if(a==2)"
|
|
"c.x=m(c.x,26.);"
|
|
"float l=s(vec3(c))-.02;"
|
|
"y=min(y,l);"
|
|
"}"
|
|
"r+=1.;"
|
|
"}"
|
|
"vec3 a=m(v);"
|
|
"float c=6.283185/32.;"
|
|
"vec3 l=a;"
|
|
"l.xy=n(round(atan(a.y,a.x)/c)*c)*l.xy;"
|
|
"float z=n(l.xyz-vec3(1.75,0,0),vec3(.04,.14,.05))-.02;"
|
|
"y=min(y,z);"
|
|
"float e=1.5;"
|
|
"for(int u=0;u<4;u++)"
|
|
"{"
|
|
"float h=n(vec3(v.x,v.y+e,v.z),vec3(2,.1,e))-.05;"
|
|
"y=min(y,h);"
|
|
"e+=.2;"
|
|
"}"
|
|
"return vec2(y);"
|
|
"}"
|
|
"float a(vec3 x,vec3 y)"
|
|
"{"
|
|
"float f=0.,v;"
|
|
"for(int i=0;i<80;i++)"
|
|
"{"
|
|
"vec3 m=x+y*f;"
|
|
"v=a(m).x;"
|
|
"f+=v;"
|
|
"if(v<.001||f>1e2)"
|
|
"break;"
|
|
"}"
|
|
"return f;"
|
|
"}"
|
|
"vec3 h(vec3 v)"
|
|
"{"
|
|
"float y=a(v).x;"
|
|
"vec2 x=vec2(.01,0);"
|
|
"vec3 f=y-vec3(a(v-x.xyy).x,a(v-x.yxy).x,a(v-x.yyx));"
|
|
"return normalize(f);"
|
|
"}"
|
|
"float a(vec3 v,vec3 x,float y)"
|
|
"{"
|
|
"vec3 f=normalize(x-v),m=h(v);"
|
|
"float i=clamp(dot(m,f),0.,.75),c=a(v+m*.0025,f);"
|
|
"if(c<length(x-v))"
|
|
"i*=y;"
|
|
"return i;"
|
|
"}"
|
|
"vec3 h(vec2 v,vec3 y)"
|
|
"{"
|
|
"vec3 x=normalize(vec3(0)-y),f=normalize(cross(vec3(0,1,0),x));"
|
|
"return normalize(x+v.x*f+v.y*cross(x,f));"
|
|
"}"
|
|
"void main()"
|
|
"{"
|
|
"vec2 x=(gl_FragCoord.xy*2.-y.xy)/y.y;"
|
|
"vec3 v=vec3(0,2,3),f=h(x,v),i=vec3(0);"
|
|
"float c=a(v,f);"
|
|
"if(c<1e3)"
|
|
"{"
|
|
"vec3 m=v+f*c;"
|
|
"float l=a(m).y,r=a(m,vec3(3,5,4),.2);"
|
|
"i=vec3(r*vec3(1));"
|
|
"r=a(m,vec3(-3,5,-4),.1);"
|
|
"i+=vec3(r*vec3(.5,.2,.1));"
|
|
"if(l==0.)"
|
|
"i*=vec3(0,0,1);"
|
|
"else if(l==1.)"
|
|
"i*=vec3(0,1,0);"
|
|
"else if(l==2.)"
|
|
"i*=vec3(1,0,0);"
|
|
"}"
|
|
"gl_FragColor=vec4(i,1);"
|
|
"}";
|
|
|
|
#endif // SHADER_MINIFIED_H_
|