// Generated with Shader Minifier 1.5.1 (https://github.com/laurentlb/Shader_Minifier/) #ifndef FRAGMENT_INL_ # define FRAGMENT_INL_ # define VAR_fft_output "f" # define VAR_o "i" # define VAR_shapes "C" # define VAR_syncs "m" # define VAR_test "k" const char *fragment_frag = "#version 460\n" "precision mediump float;" "out vec4 i;" "const float n=2.*acos(-1.),v=sqrt(5.)*.5+.5;" "layout(location=0)uniform float m[7];" "layout(location=8)uniform float f[512];" "layout(location=600)uniform vec3 C[15];" "layout(location=700)uniform vec3 k;" "float l=m[0];" "vec2 t(vec3 v)" "{" "float n=0.,i=1e9,m=length(vec3(v.x+k.y,v.y+k.x,v.z))-k.z-2.;" "i=min(i,m);" "if(i==m)" "n=1.;" "return vec2(i,n);" "}" "vec3 t(vec3 v,vec3 i,inout vec3 n)" "{" "float f=0.,r=0.,m=0.;" "for(int e=0;e<30;e++)" "{" "n=v+i*f;" "vec2 l=t(n);" "f+=l.x;" "r=l.y;" "if(f>1e2)" "break;" "if(l.x<.001*f)" "{" "m=1.;" "break;" "}" "}" "if(f>1e2)" "f=0.;" "return vec3(f,r,m);" "}" "float t(vec3 v,vec3 f,float n)" "{" "float i=1.,m=.02;" "for(int e=0;e<6;e++)" "{" "if(m>n)" "break;" "float l=t(v+m*f).x;" "i=min(i,l/(4.*m));" "m+=clamp(l,.1,.8);" "if(i<-1.)" "break;" "}" "i=max(i,-1.);" "return.25*(1.+i)*(1.+i)*(2.-i);" "}" "vec3 e(vec3 v)" "{" "vec2 i=vec2(.01,0);" "return normalize(vec3(t(v+i.xyy).x-t(v-i.xyy).x,t(v+i.yxy).x-t(v-i.yxy).x,t(v+i.yyx).x-t(v-i.yyx).x));" "}" "vec3 e(vec3 v,vec3 i,vec3 l,vec3 f,vec3 m,float n)" "{" "v-=l;" "float e=length(v);" "v=normalize(v);" "float y=3./(1.+.09*e+.032*e*e),r=max(dot(m,v),0.);" "f=normalize(v-f);" "vec3 x=vec3(.04);" "x+=(1.-x)*pow(clamp(1.-max(dot(f,v),0.),0.,1.),5.);" "e=t(l+m*.01,v,e);" "return(i*r*y+i*pow(max(dot(m,f),0.),mix(128.,8.,n))*y*x)*e;" "}" "vec3 e(vec3 v,vec3 i,vec3 f,float n)" "{" "float m=.01;" "vec3 l=vec3(0);" "if(n==0.)" "l=vec3(.8314,.2941,.2941),m=.1;" "else if(n==1.)" "l=vec3(.6196,.6118,.6118),m=.7;" "else if(n==2.)" "l=vec3(.3255,.4784,.3255),m=.2;" "else if(n==3.)" "l=vec3(.2471,.3059,.6314),m=1.;" "else if(n==4.)" "l=vec3(.9961,1,.9922),m=.1;" "else if(n==5.)" "l=vec3(.9961,1,.9922),m=.3;" "v=vec3(0)+e(vec3(-10,10,0),vec3(.77,.26,.73),v,f,i,m)+e(vec3(0,10,-5),vec3(.08,.62,.75),v,f,i,m)+e(vec3(0,25,0),vec3(.5137,.1961,.7725),v,f,i,m)+vec3(.08,.62,.75)*clamp(dot(i,normalize(vec3(0,1,-3)*vec3(0,-1,-2))),0.,1.)*.8;" "return l*max(vec3(0),v);" "}" "vec3 e(vec2 v,vec3 i)" "{" "i=normalize(vec3(0,-1,10)-i);" "vec3 m=normalize(cross(vec3(0,1,0),i));" "return normalize(v.x*m+v.y*normalize(cross(i,m))+i);" "}" "vec3 e()" "{" "vec3 i;" "{" "float v=l*.06;" "i=vec3(sin(v)*15.,30.+cos(v*.5)*5.,cos(v)*15.);" "}" "return i;" "}" "vec3 e(vec2 v)" "{" "vec3 i=e(v,e()),m=vec3(.102,.2431,.3412),n=vec3(0),l=t(e(),i,n);" "if(l.x>0.)" "{" "vec3 v=e(n);" "m=e(n,v,i,l.y);" "}" "return m;" "}" "void main()" "{" "vec3 v=e(gl_FragCoord.xy*vec2(.00104166667,.00185185185)-1.);" "i=vec4(v,1);" "}"; #endif // FRAGMENT_INL_