// Generated with Shader Minifier 1.3.6 (https://github.com/laurentlb/Shader_Minifier/) #ifndef SHADER_MINIFIED_H_ # define SHADER_MINIFIED_H_ # define VAR_resolution "s" # define VAR_texts "c" # define VAR_texture_sampler "m" # define VAR_time "v" const char *__temp_cleaned_shader_glsl = "uniform float v;" "uniform vec2 s;" "uniform sampler2D m,c;" "float f=0.;" "vec2 n(vec2 v)" "{" "return vec2(v.x*v.x-v.y*v.y,2.*v.x*v.y);" "}" "mat2 t(float v)" "{" "return mat2(cos(v),sin(v),-sin(v),cos(v));" "}" "vec2 n(vec3 v,vec3 y)" "{" "vec4 s=vec4(0,0,0,2);" "vec3 f=v-s.xyz;" "float t=dot(f,y),m=t*t-dot(f,f)+s.w*s.w;" "if(m<0.)" "return vec2(-1);" "m=sqrt(m);" "return vec2(-t-m,-t+m);" "}" "float x(vec3 v)" "{" "float f=0.;" "vec3 y=v;" "for(int m=0;m<10;++m)" "v=.7*abs(v)/dot(v,v)-.7,v.yz=n(v.yz),v=v.zxy,f+=exp(-19.*abs(dot(v,y)));" "return f/2.;" "}" "vec3 n(vec3 v,vec3 y,vec2 s)" "{" "float f=s.x;" "vec3 m=vec3(0);" "float r=0.;" "for(int i=0;i<64;i++)" "{" "f+=.02*exp(-2.*r);" "if(f>s.y)" "break;" "r=x(v+f*y);" "m=.99*m+.08*vec3(r*r,r,r*r*r);" "}" "return m;" "}" "void t(out vec4 f,vec2 y)" "{" "float r=v;" "vec2 i=-1.+2.*(y.xy/s.xy);" "i.x*=s.x/s.y;" "vec2 d=vec2(0);" "d-=.5;" "vec3 a=vec3(4);" "a.yz*=t(d.y);" "a.xz*=t(d.x+.1*r);" "vec3 c=normalize(vec3(0)-a),g=normalize(cross(c,vec3(0,1,0))),z=normalize(i.x*g+i.y*normalize(cross(g,c))+4.*c);" "vec2 o=n(a,z);" "vec3 x=n(a,z,o);" "if(o.x<0.)" "x=texture2D(m,z).xyz;" "else" "{" "vec3 e=(a+o.x*z)/2.;" "e=reflect(z,e);" "float l=pow(.5+clamp(dot(e,z),0.,1.),3.)*1.3;" "x+=texture2D(m,e).xyz*l;" "}" "x=.5*log(1.+x);" "x=clamp(x,0.,1.);" "f=vec4(x,1);" "}" "float e(vec3 v)" "{" "vec3 f=abs(v)-vec3(.4,.4,.1);" "return length(max(f,0.))+min(max(f.x,max(f.y,f.z)),0.);" "}" "float e(vec3 v,float y)" "{" "v*=y;" "float f=e(v)/1.5;" "v.xy*=5.;" "v.y-=3.5;" "v.xy*=t(.75);" "return-f;" "}" "float x(vec3 v,float y)" "{" "vec3 m=v;" "v=m;" "v.y+=sin(f*.4)*2.5;" "v.xy*=t(.8);" "float s=e(v,2.-abs(sin(f*.4))*1.5);" "v=m;" "v.y-=sin(f*.4)*2.5;" "v.xy*=t(.8);" "float z=e(v,2.-abs(sin(f*.4))*1.5);" "v=m;" "v.x+=sin(f*.4)*2.5;" "v.xy*=t(.8);" "float r=e(v,2.-abs(sin(f*.4))*1.5);" "v=m;" "v.x-=sin(f*.4)*2.5;" "v.xy*=t(.8);" "float c=e(v,2.-abs(sin(f*.4))*1.5);" "v=m;" "v.xy*=t(.8);" "float x=e(v,.5)*6.;" "v=m;" "float g=e(v,.5)*6.;" "return max(max(max(max(max(s,z),r),c),x),g);" "}" "void p(out vec4 m,vec2 y)" "{" "vec3 r=vec3(0,-.2,v*4.),z=normalize(vec3((y.xy*2.-s.xy)/min(s.x,s.y),1.5));" "z.xy=z.xy*t(sin(v*.03)*5.);" "z.yz=z.yz*t(sin(v*.05)*.2);" "float a=.1;" "vec3 i=vec3(0);" "float c=0.;" "for(int e=0;e<99;e++)" "{" "vec3 d=r+z*a;" "d=mod(d-2.,4.)-2.;" "f=v-float(e)*.01;" "float g=x(d,v);" "g=max(abs(g),.01);" "c+=exp(-g*23.);" "a+=g*.55;" "}" "i=vec3(c*.02);" "i+=vec3(0,.2*abs(sin(v)),.5+sin(v)*.2);" "m=vec4(i,1.-a*(.02+.02*sin(v)));" "}" "void main()" "{" "if(floor(abs(v)/(60./133))<=8)" "t(gl_FragColor,gl_FragCoord.xy);" "else" " p(gl_FragColor,gl_FragCoord.xy);" "vec3 f;" "vec2 m=gl_FragCoord.xy/s-vec2(0,-.35);" "if(m.y>0.)" "f=gl_FragColor+texture2D(c,m);" "gl_FragColor=vec4(f,1);" "}"; #endif // SHADER_MINIFIED_H_