// Generated with Shader Minifier 1.3.6 (https://github.com/laurentlb/Shader_Minifier/) #ifndef SHADER_MINIFIED_H_ # define SHADER_MINIFIED_H_ # define VAR_texts "k" # define VAR_texture_sampler "m" # define VAR_u_resolution "v" # define VAR_u_time "f" const char *__temp_cleaned_shader_glsl = "uniform vec2 v;" "uniform float f;" "uniform sampler2D m,k;struct Ray{vec3 rd;vec3 dir;};" "mat2 n()" "{" "vec2 v=vec2(1.3);" "return mat2(1./v.x,0.,0.,1./v.y);" "}" "const float i=2.*acos(-1.),s=sqrt(5.)*.5+.5;" "float n(vec3 v,vec2 x)" "{" "vec3 f=abs(v);" "return max(f.y-x.y,max(f.x*sqrt(3.)*.5+f.z*.5,f.z)-x.x);" "}" "void n(inout vec2 v)" "{" "float f=acos(-1.)/2.;" "v=cos(f)*v+sin(f)*vec2(v.y,-v.x);" "}" "float x(float v,float f)" "{" "return min(-.1,max(v,f))+length(max(vec2(.1+v,.1+f),vec2(0)));" "}" "float t(vec2 v,float f)" "{" "return fract(tan(distance(v*s,v)*f)*v.x);" "}" "mat2 t(float v)" "{" "float f=sin(v),x=cos(v);" "return mat2(x,-f,f,x);" "}" "float n(vec3 v,float f,float i)" "{" "vec3 r=v;" "r.xz*=t(i);" "r.yz*=t(i);" "n(r.yz);" "float m=n(r,vec2(.5+f,.1)),y=n(r,vec2(.2+f,.1));" "return x(m,-y);" "}" "vec2 x(vec3 v)" "{" "float x=0.,r=1e10;" "vec3 i=v;" "i.xy*=n();" "for(float m=1.;m<=6.;m++)" "{" "float y=n(i,m*.35,f+abs(2.+.4*sin(f))*m*3.1415/6.);" "r=min(r,y);" "if(r==y)" "x=1.+mod(m,3.);" "}" "return vec2(r,x);" "}" "vec3 t(vec3 v,vec3 f,inout vec3 i)" "{" "float r=0.,m=0.,y=0.;" "for(int e=0;e<150;e++)" "{" "i=v+f*r;" "vec2 n=x(i);" "r+=n.x;" "m=n.y;" "if(r>80.)" "break;" "if(n.x80.)" "r=-1.;" "return vec3(r,m,y);" "}" "vec3 x(vec3 v,vec3 f,vec3 i)" "{" "float r=0.,m=0.,y=0.;" "for(int e=0;e<50;e++)" "{" "i=v+f*r;" "vec2 n=x(i);" "r+=n.x;" "m=n.y;" "if(r>40.)" "break;" "if(n.x40.)" "r=-1.;" "return vec3(r,m,y);" "}" "float e(vec3 v,vec3 f)" "{" "float r=1.,m=.01;" "for(int i=0;i<40;i++)" "{" "if(m>30.)" "break;" "float y=x(v+m*f).x;" "r=min(r,y/(18.*m));" "m+=clamp(y,.005,.5);" "if(r<-1.||m>30.)" "break;" "}" "r=max(r,-1.);" "return.25*(1.+r)*(1.+r)*(2.-r);" "}" "vec3 e(vec3 v)" "{" "vec2 f=vec2(.001,0);" "vec3 r=vec3(x(v+f.xyy).x-x(v-f.xyy).x,x(v+f.yxy).x-x(v-f.yxy).x,x(v+f.yyx).x-x(v-f.yyx).x);" "return normalize(r);" "}" "vec3 p(vec3 v,vec3 f)" "{" "vec3 r=vec3(.5454);" "return r+(1.-r)*pow(clamp(1.-dot(v,f),0.,1.),5.);" "}" "vec3 e(vec3 v,vec3 f,float r,vec3 i,vec3 x,vec3 y,float m)" "{" "vec3 n=normalize(i),d=vec3(max(0.,dot(n,reflect(x,y)))),s=p(normalize(n-x),n)*m;" "float k=e(i+y*.01,v);" "d=pow(d,vec3(r))*m;" "return f*mix(vec3(1)*vec3(max(0.,dot(n,y))),d,s)*k;" "}" "float r(vec3 v,vec3 f)" "{" "float r=0.,m=1.;" "for(int i=0;i<8;i++)" "{" "float y=.01+.02*float(i*i),d=x(v+f*y).x;" "r+=(y-d)*m;" "m*=.85;" "}" "return 1.-clamp(.6*r,0.,1.);" "}" "vec3 e(vec3 v,vec3 f,vec3 m,float i)" "{" "float y=1.,x=r(v,f);" "vec3 n=vec3(.1529);" "if(i==0.)" "n=vec3(.2863,.1059,.2431),y=1.5;" "else if(i==1.)" "n=vec3(.3294,.0941,.6),y=.6;" "else if(i==2.)" "n=vec3(.5804,.9647,1),y=1.;" "else if(i==3.)" "n=vec3(0),y=1e2;" "else if(i==4.)" "n=vec3(.9961,1,.9922),y=.3;" "vec3 d=vec3(0);" "d+=e(vec3(0,-40,-1),vec3(.56,.44,.18)*2.,y,v,m,f,x);" "d+=e(vec3(-20,4,10),vec3(.04,.2,.71)*2.,y,v,m,f,x);" "vec3 s=vec3(0,4,2);" "float c=e(v+f*.01,s);" "d+=vec3(.6627,.7098,.8863)*clamp(dot(f,s),0.,1.)*c*x;" "d+=vec3(.1333,.1333,.1216)*clamp(dot(f,normalize(s*vec3(-1,0,-1))),0.,1.)*x;" "return n*max(vec3(0),d);" "}" "vec3 p(vec3 f)" "{" "vec2 r=gl_FragCoord.xy/v.xy;" "f=mix(f,f*smoothstep(.8,.4,length(r-vec2(.5))),.9);" "f=mix(f,smoothstep(0.,1.,f),.5);" "f*=vec3(1);" "return pow(f,vec3(1./2.2));" "}" "vec3 e(vec2 f,vec3 v,vec3 i)" "{" "vec3 r=normalize(i-v),y=cross(vec3(0,1,0),r);" "return normalize(v+r+f.x*y+f.y*cross(r,y)-v);" "}" "vec3 p(vec2 v,vec3 f,vec3 i)" "{" "vec3 r=normalize(i-f),y=normalize(cross(vec3(0,1,0),r)),m=normalize(cross(r,y));" "vec2 n=vec2(t(gl_FragCoord.xy,.13),t(gl_FragCoord.xy,.4));" "return normalize(v.x*y+v.y*m+1.7*r+sqrt(n.x)*(y*sin(n.y*6.283)+m*cos(n.y*6.283))*.25*1.7/150.2);" "}" "vec3 r(vec2 v)" "{" "bool r=!true;" "vec3 f=vec3(0,5,-3),y=vec3(0),m;" "m=r?" "p(v,f,y):" "e(v,f,y);" "vec3 i=vec3(.051,.0667,.1529),n=vec3(0),d=t(f,m,n),s=m;" "if(d.z>0.)" "{" "vec3 k=e(n);" "i=e(n,k,m,d.y);" "i=i*exp(-d.x*.04)+mix(i,mix(vec3(.3686,.2431,.4392),vec3(.4,.7294,.9216),pow(max(dot(s,vec3(0,.3,-1)),0.),8.)),1.-exp(-d.x*.04))*(1.-exp(-d.x*.04));" "m=normalize(reflect(m,k));" "vec3 c=n+m*.01,g=x(c,m,n);" "if(g.z>0.)" "n=c+m*g.x,k=e(n),i+=.1*e(n,k,m,g.y);" "}" "return i;" "}" "vec2 e()" "{" "vec2 r=2.*((gl_FragCoord.xy+vec2(0)*.5)/v.xy-.5);" "r.x*=v.x/v.y;" "return r;" "}" "void main()" "{" "vec3 v=vec3(0);" "v+=r(e());" "v=p(v);" "gl_FragColor=vec4(v,1);" "}"; #endif // SHADER_MINIFIED_H_