Files
4kintro/shader_minified.h
2024-05-29 18:47:21 +03:00

151 lines
3.8 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 "d"
# define VAR_texture_sampler "m"
# define VAR_u_resolution "v"
# define VAR_u_time "y"
const char *__temp_cleaned_shader_glsl =
"uniform vec2 v;"
"uniform float y;"
"uniform sampler2D m,d;"
"const float i=2.*acos(-1.),f=sqrt(5.)*.5+.5;"
"float n(vec3 v)"
"{"
"vec3 x=vec3(0),y=vec3(0,0,1)-x;"
"return length(y*clamp(dot(v-x,y)/dot(y,y),0.,1.)+x-v);"
"}"
"float n(float v,float y)"
"{"
"return min(-.1,max(v,y))+length(max(vec2(.1+v,.1+y),vec2(0)));"
"}"
"mat2 s(float v)"
"{"
"float y=sin(v),x=cos(v);"
"return mat2(x,-y,y,x);"
"}"
"float s(vec3 v,float y)"
"{"
"vec2 m=vec2(y,abs(v.z)-.15);"
"return min(max(m.x,m.y),0.)+length(max(m,0.));"
"}"
"float t(vec2 v)"
"{"
"float y=1.-smoothstep(-.2,.8,sin(atan(v.y,v.x)*12.))*.14;"
"return smoothstep(y,y+2.,length(v)*2.);"
"}"
"float t(vec3 v,float y)"
"{"
"v.xy*=s(y);"
"float m=s(v,t(v.xy)),x=n(v-vec3(0,0,-.5))-.2;"
"return.8*n(m,-x)-.02;"
"}"
"vec2 p(vec3 v)"
"{"
"float m=1e10;"
"m=min(m,v.y+1.5);"
"float x=t(v+vec3(1,0,0),y);"
"m=min(m,x);"
"float n=t(v+vec3(.5,-.87,0),-y);"
"m=min(m,n);"
"float f=t(v+vec3(.5,.87,0),-y);"
"m=min(m,f);"
"float d=0.;"
"if(m==x)"
"d=1.;"
"if(m==n)"
"d=2.;"
"if(m==f)"
"d=3.;"
"return vec2(m,d);"
"}"
"vec2 p(vec3 v,vec3 y)"
"{"
"float m=0.,f=0.;"
"for(int i=0;i<100;i++)"
"{"
"vec3 x=v+y*m;"
"vec2 n=p(x);"
"m+=n.x;"
"f=n.y;"
"if(m>20.||n.x<abs(.001*m))"
"break;"
"}"
"if(m>20.)"
"m=-1.;"
"return vec2(m,f);"
"}"
"float x(vec3 v,vec3 y)"
"{"
"float m=1.,f=.001;"
"for(int i=0;i<100;i++)"
"{"
"vec3 x=v+f*y;"
"float n=p(x).x;"
"m=min(m,10.*n/f);"
"if(abs(n)<.001*f)"
"break;"
"f+=n;"
"if(f>20.)"
"break;"
"}"
"return clamp(m,0.,1.);"
"}"
"vec3 x(vec3 v)"
"{"
"vec2 m=vec2(.001,0);"
"vec3 y=vec3(p(v+m.xyy).x-p(v-m.xyy).x,p(v+m.yxy).x-p(v-m.yxy).x,p(v+m.yyx).x-p(v-m.yyx).x);"
"return normalize(y);"
"}"
"vec3 n(vec3 v,vec3 m,vec3 y)"
"{"
"return v+(1.-v)*pow(clamp(1.-dot(m,y),0.,1.),5.);"
"}"
"vec3 n(vec3 v,vec3 y,vec3 m,float f)"
"{"
"float d=1.;"
"vec3 i=vec3(0),p=reflect(m,y),c=vec3(.5),a=vec3(1),s=vec3(.1686);"
"if(f==0.)"
"s=vec3(.1412),d=11.1;"
"else if(f==1.)"
"s=vec3(.1765,1.1961,.2275),d=31.;"
"else if(f==2.)"
"s=vec3(1.1765,.1961,.2275),d=21.;"
"else if(f==3.)"
"s=vec3(.1765,.1961,1.2275),d=21.;"
"{"
"vec3 l=normalize(vec3(-2,.3,10)-v),r=vec3(max(0.,dot(l,p))),t=n(c,normalize(l-m),l);"
"r=pow(r,vec3(d));"
"i+=s*r*(vec3(.71,.51,.72)*5.)*mix(a*vec3(max(0.,dot(l,y))),r,t);"
"}"
"{"
"vec3 l=normalize(vec3(5,5,-20)-v),r=vec3(max(0.,dot(l,p))),t=n(c,normalize(l-m),l);"
"r=pow(r,vec3(d));"
"i+=s*r*(vec3(.14,.36,.83)*7.)*mix(a*vec3(max(0.,dot(l,y))),r,t);"
"}"
"{"
"vec3 l=vec3(0,.4,1);"
"float r=clamp(dot(y,l),0.,1.),t=x(v+y*.02,l);"
"i+=s*vec3(1.1,1.2,1.5)*r*r*t;"
"}"
"i+=s*vec3(.0353,.2667,.4784)*clamp(dot(y,vec3(0,.6,-1)),0.,1.);"
"return i;"
"}"
"void main()"
"{"
"vec2 m=(2.*gl_FragCoord.xy-v.xy)/v.y;"
"float f=y*.4;"
"vec3 i=vec3(0,0,1),d=i+vec3(4.*sin(f),cos(f),4.*cos(f)),l=normalize(i-d),r=normalize(cross(l,vec3(0,1,0))),s=normalize(m.x*r+m.y*normalize(cross(r,l))+l*2.),c=vec3(.1451,.1098,.1608)-vec3(.9725,.5176,0)*s.y;"
"vec2 t=p(d,s);"
"if(t.x>0.)"
"{"
"vec3 a=d+s*t.x,C=x(a);"
"c=n(a,C,s,t.y);"
"c=mix(c,vec3(.17,.16,.24),1.-exp(-t.x*.01));"
"}"
"gl_FragColor=vec4(pow(c,vec3(1./1.3)),1);"
"}";
#endif // SHADER_MINIFIED_H_