137 lines
3.5 KiB
C
137 lines
3.5 KiB
C
/* File generated with Shader Minifier 1.0.3
|
|
* http://www.ctrl-alt-test.fr
|
|
*/
|
|
#ifndef MARK_1_H_
|
|
# define MARK_1_H_
|
|
|
|
const char *mark_h_1 = ""
|
|
"varying vec4 Y,Z;"
|
|
"float j,k,g=acos(-1.),h=sqrt(.75);"
|
|
"vec2 r(vec2 v,float y)"
|
|
"{"
|
|
"return cos(y)*v+sin(y)*vec2(-v.y,v.x);"
|
|
"}"
|
|
"void s(inout vec2 v,float x,float y)"
|
|
"{"
|
|
"float z=mod(atan(v.y,v.x),y)-y*.5;"
|
|
"v=length(v)*vec2(cos(z),sin(z));"
|
|
"v.x-=x;"
|
|
"}"
|
|
"float l(vec3 p,float f)"
|
|
"{"
|
|
"return length(vec2(length(p.xz)-f,p.y));"
|
|
"}"
|
|
"float i(vec2 p,float y,float z)"
|
|
"{"
|
|
"return length(max(abs(p)-vec2(y)+vec2(z),0.))-z;"
|
|
"}"
|
|
"float u(vec3 p)"
|
|
"{"
|
|
"return fract(sin(p.x*151.+p.y*33.+p.z)*11.);"
|
|
"}"
|
|
"float w(vec3 p)"
|
|
"{"
|
|
"vec2 e=vec2(1.,0.);"
|
|
"vec3 o=smoothstep(0.,1.,fract(p));"
|
|
"p=floor(p);"
|
|
"vec4 n=mix(vec4(u(p+e.yyy),u(p+e.xyy),u(p+e.yxy),u(p+e.xxy)),vec4(u(p+e.yyx),u(p+e.xyx),u(p+e.yxx),u(p+e.xxx)),o.z);"
|
|
"e=mix(n.xy,n.zw,o.y);"
|
|
"return mix(e.x,e.y,o.x);"
|
|
"}"
|
|
"float A(vec3 p)"
|
|
"{"
|
|
"vec3 o=p;"
|
|
"p.x=mod(p.x+step(2.*h,mod(p.y,4.*h)),2.)-1.;"
|
|
"p.y=mod(p.y,2.*h)-h;"
|
|
"o-=p;"
|
|
"p.z-=(k==10.?0.:44.)+2.*smoothstep(-.3,.3,cos(o.x*.03+cos(o.y*.03)+j*4.)*cos(o.y*.01+cos(o.x*.02)));"
|
|
"float z=length(p)-1.5;"
|
|
"s(p.xy,.7,g/3.);"
|
|
"return max(z,p.x);"
|
|
"}"
|
|
"float B(vec3 p)"
|
|
"{"
|
|
"return length(p+vec3(sin(j*3.)*22.,j*11.,-22.))-22.;"
|
|
"}"
|
|
"float C(vec3 p)"
|
|
"{"
|
|
"vec3 o=p;"
|
|
"p.x=mod(p.x+step(2.*h,mod(p.y,4.*h)),2.)-1.;"
|
|
"p.y=mod(p.y,2.*h)-h;"
|
|
"return max(abs(p.z+1.)-.2,h-length(p.xy));"
|
|
"}"
|
|
"float D(vec3 p)"
|
|
"{"
|
|
"return length(p-vec3(22.,22.,-14.))-Y.z*33.-12.;"
|
|
"}"
|
|
"float f(vec3 p)"
|
|
"{"
|
|
"float z=min(min(A(p),B(p)),C(p));"
|
|
"return max(length(p)-77.,min(z,max(.5-z,D(p))));"
|
|
"}"
|
|
"void main()"
|
|
"{"
|
|
"k=Y.x;"
|
|
"j=Y.y;"
|
|
"vec3 q=vec3(Z.xy-.5,1.),p;"
|
|
"if(k==10.)"
|
|
"p=vec3(33.,33.,-11.+j*5.),q.yz=r(q.yz,.8-j),q.xz=r(q.xz,.5+j);"
|
|
"else"
|
|
" if(k==11.)"
|
|
"p=vec3(-11.,-11.,-11.),q.yz=r(q.yz,-j*.7),q.xz=r(q.xz,-j);"
|
|
"else"
|
|
" if(k==12.)"
|
|
"p=vec3(33.,11.,33.),q.yz=r(q.yz,j*.4),q.xz=r(q.xz,1.2+j*.6);"
|
|
"else"
|
|
" if(k==13.)"
|
|
"p=vec3(mix(22.-88.*Y.z,-44.*j,j),22.,6.),q.yz=r(q.yz,j*.2),q.xz=r(q.xz,3.4+sqrt(j)*1.4);"
|
|
"q=normalize(q);"
|
|
"vec3 b=vec3(0.,0.,0.);"
|
|
"float a=1.,t=w(q*666.)*.2,y,z,d,m=0;"
|
|
"while(m++<2.)"
|
|
"{"
|
|
"for(d=1.;t<66.&&d>t*.003;t+=max(.01,d+.01))"
|
|
"d=f(p+q*t);"
|
|
"if(t>66.)"
|
|
"{"
|
|
"break;"
|
|
"}"
|
|
"p+=q*t;"
|
|
"vec2 e=vec2(.04,0.);"
|
|
"vec3 n=vec3(f(p+e.xyy)-f(p-e.xyy),f(p+e.yxy)-f(p-e.yxy),f(p+e.yyx)-f(p-e.yyx));"
|
|
"n=normalize(n);"
|
|
"z=A(p);"
|
|
"vec3 c=vec3(.8,0.,0.);"
|
|
"d=.15;"
|
|
"if(z>D(p))"
|
|
"z=D(p),c=vec3(1.,0.,0.),d=.15;"
|
|
"if(z>B(p))"
|
|
"z=B(p),c=vec3(.05,.1,.2),d=.7,e.y=.3;"
|
|
"if(z>C(p))"
|
|
"z=C(p),c=vec3(0.,.6,.8)*(.9-.15/clamp(dot(n,q),-1.,-.05)),d=.2,e.y=2.;"
|
|
"n+=(w(p*e.y)+w(p*e.y*2.)+w(p*e.y*4.))*e.x;"
|
|
"n=normalize(n);"
|
|
"q=reflect(q,n);"
|
|
"y=6.;"
|
|
"for(z=1.;y>0.;y--)"
|
|
"z-=(y*.5-f(p+n*y*.5))/exp2(y);"
|
|
"c*=z;"
|
|
"n.yz=r(n.yz,.6);"
|
|
"c*=.4+.3*(1.-abs(n.y-.9));"
|
|
"b+=a*c;"
|
|
"a*=d;"
|
|
"t=.3;"
|
|
"}"
|
|
"p=vec3(.8);"
|
|
"q.yz=r(q.yz,.6);"
|
|
"p+=q.y*.2;"
|
|
"if(m<2)"
|
|
"p*=vec3(.95,1.1,1.2);"
|
|
"if(q.y>0.)"
|
|
"s(q.xz,.4,g/8.),q.x=abs(q.x)-.2,p+=pow(smoothstep(.2,0.,mix(abs(q.z),length(q.xz),step(0.,q.x))),22.);"
|
|
"vec3 color=b+a*p;"
|
|
"gl_FragColor.xyz=length(color)*(cos((Z.y+color)*g*2)*.125+.5);"
|
|
"}";
|
|
|
|
#endif // MARK_1_H_
|