151 lines
3.8 KiB
C
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_
|