// 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;};" "vec2 s()" "{" "vec2 r=2.*((gl_FragCoord.xy+vec2(0)*.5)/v.xy-.5);" "r.x*=v.x/v.y;" "return r;" "}" "mat2 n()" "{" "vec2 v=vec2(1.3);" "return mat2(1./v.x,0.,0.,1./v.y);" "}" "const float i=2.*acos(-1.),c=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 s(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*c,v)*f)*v.x);" "}" "mat2 s(float v)" "{" "float f=sin(v),x=cos(v);" "return mat2(x,-f,f,x);" "}" "float n(vec3 v,float f,float x)" "{" "vec3 r=v;" "r.xz*=s(x);" "r.yz*=s(x);" "n(r.yz);" "float i=n(r,vec2(.5+f,.1)),y=n(r,vec2(.2+f,.1));" "return s(i,-y);" "}" "vec2 t(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 s(vec3 v,vec3 f,inout vec3 x)" "{" "float r=0.,i=0.,y=0.;" "for(int m=0;m<150;m++)" "{" "x=v+f*r;" "vec2 n=t(x);" "r+=n.x;" "i=n.y;" "if(r>80.)" "break;" "if(n.x80.)" "r=-1.;" "return vec3(r,i,y);" "}" "vec3 t(vec3 v,vec3 f,vec3 x)" "{" "float r=0.,i=0.,y=0.;" "for(int m=0;m<50;m++)" "{" "x=v+f*r;" "vec2 n=t(x);" "r+=n.x;" "i=n.y;" "if(r>40.)" "break;" "if(n.x40.)" "r=-1.;" "return vec3(r,i,y);" "}" "float x(vec3 v,vec3 x)" "{" "float r=1.,f=.01;" "for(int i=0;i<40;i++)" "{" "if(f>30.)" "break;" "float m=t(v+f*x).x;" "r=min(r,m/(18.*f));" "f+=clamp(m,.005,.5);" "if(r<-1.||f>30.)" "break;" "}" "r=max(r,-1.);" "return.25*(1.+r)*(1.+r)*(2.-r);" "}" "vec3 x(vec3 v)" "{" "vec2 f=vec2(.001,0);" "vec3 r=vec3(t(v+f.xyy).x-t(v-f.xyy).x,t(v+f.yxy).x-t(v-f.yxy).x,t(v+f.yyx).x-t(v-f.yyx).x);" "return normalize(r);" "}" "vec3 e(vec3 v,vec3 f)" "{" "vec3 x=vec3(.5454);" "return x+(1.-x)*pow(clamp(1.-dot(v,f),0.,1.),5.);" "}" "vec3 e(vec3 v,vec3 f,float r,vec3 m,vec3 i,vec3 y,float k)" "{" "vec3 n=normalize(m),c=vec3(max(0.,dot(n,reflect(i,y)))),d=e(normalize(n-i),n)*k;" "float s=x(m+y*.01,v);" "c=pow(c,vec3(r))*k;" "return f*mix(vec3(1)*vec3(max(0.,dot(n,y))),c,d)*s;" "}" "float p(vec3 v,vec3 f)" "{" "float r=0.,i=1.;" "for(int x=0;x<8;x++)" "{" "float m=.01+.02*float(x*x),y=t(v+f*m).x;" "r+=(m-y)*i;" "i*=.85;" "}" "return 1.-clamp(.6*r,0.,1.);" "}" "vec3 e(vec3 v,vec3 f,vec3 r,float m)" "{" "float i=1.,y=p(v,f);" "vec3 n=vec3(.1529);" "if(m==0.)" "n=vec3(.2863,.1059,.2431),i=1.5;" "else if(m==1.)" "n=vec3(.3294,.0941,.6),i=.6;" "else if(m==2.)" "n=vec3(.5804,.9647,1),i=1.;" "else if(m==3.)" "n=vec3(0),i=1e2;" "else if(m==4.)" "n=vec3(.9961,1,.9922),i=.3;" "vec3 c=vec3(0);" "c+=e(vec3(0,-40,-1),vec3(.56,.44,.18)*2.,i,v,r,f,y);" "c+=e(vec3(-20,4,10),vec3(.04,.2,.71)*2.,i,v,r,f,y);" "vec3 d=vec3(0,4,2);" "float s=x(v+f*.01,d);" "c+=vec3(.6627,.7098,.8863)*clamp(dot(f,d),0.,1.)*s*y;" "c+=vec3(.1333,.1333,.1216)*clamp(dot(f,normalize(d*vec3(-1,0,-1))),0.,1.)*y;" "return n*max(vec3(0),c);" "}" "vec3 e(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 x)" "{" "vec3 r=normalize(x-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 x)" "{" "vec3 r=normalize(x-f),y=normalize(cross(vec3(0,1,0),r)),i=normalize(cross(r,y));" "vec2 m=vec2(t(gl_FragCoord.xy,.13),t(gl_FragCoord.xy,.4));" "return normalize(v.x*y+v.y*i+1.7*r+sqrt(m.x)*(y*sin(m.y*6.283)+i*cos(m.y*6.283))*.25*1.7/150.2);" "}" "vec3 p(vec2 v)" "{" "bool r=!true;" "vec3 f=vec3(0,5,-3),y=vec3(0),i;" "i=r?" "p(v,f,y):" "e(v,f,y);" "vec3 m=vec3(.051,.0667,.1529),n=vec3(0),d=s(f,i,n),c=i;" "if(d.z>0.)" "{" "vec3 k=x(n);" "m=e(n,k,i,d.y);" "m=m*exp(-d.x*.04)+mix(m,mix(vec3(.3686,.2431,.4392),vec3(.4,.7294,.9216),pow(max(dot(c,vec3(0,.3,-1)),0.),8.)),1.-exp(-d.x*.04))*(1.-exp(-d.x*.04));" "i=normalize(reflect(i,k));" "vec3 g=n+i*.01,a=t(g,i,n);" "if(a.z>0.)" "n=g+i*a.x,k=x(n),m+=.1*e(n,k,i,a.y);" "}" "return m;" "}" "void main()" "{" "vec3 v=vec3(0);" "v+=p(s());" "v=e(v);" "gl_FragColor=vec4(v,1);" "}"; #endif // SHADER_MINIFIED_H_