Files
bluflame/ev4k/mark_0.h
2026-04-18 22:31:51 +02:00

137 lines
3.4 KiB
C

/* File generated with Shader Minifier 1.0.3
* http://www.ctrl-alt-test.fr
*/
#ifndef MARK_0_H_
# define MARK_0_H_
const char *mark_h_0 = ""
"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)"
"{"
"return p.y-w(p+j*3.)*.2+1.;"
"}"
"float B(vec3 p)"
"{"
"return min(length(p+vec3(0.,8.,0.))-8.5,l(p,2.3)-.5);"
"}"
"float C(vec3 p)"
"{"
"p.xz=r(p.xz,Y.z*11.);"
"float d1=max(length(p)-6.,p.y);"
"s(p.xz,5.,g/32.);"
"p.x=abs(p.x)-2.;"
"float dist=mix(length(p.yz),length(p.xyz),step(0.,p.x));"
"return min(d1,dist-.4);"
"}"
"float D(vec3 p)"
"{"
"p.y-=4.;"
"p.xz=r(p.xz,j*6.);"
"s(p.xz,0.,g/1.5);"
"p.yz=r(p.yz,g/2.);"
"float z=l(p,2.4)-.5;"
"return min(max(.5-z,length(p)-1.5-Y.z*22.),z);"
"}"
"float f(vec3 p)"
"{"
"float z=min(min(A(p),B(p)),C(p));"
"return max(length(p)-33.,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==0.)"
"p=vec3(12.,1.,0.),q.yz=r(q.yz,1.+j*-1.2),q.xz=r(q.xz,3.-j*1.5);"
"else"
" if(k==1.)"
"p=vec3(-3.,3.,-16.+j*10.),q.xz=r(q.xz,j*-.6);"
"else"
" if(k==2.)"
"p=vec3(0.,12.-j*8.,-16.+j*12.),q.yz=r(q.yz,.4+j*.4);"
"else"
" if(k==3.)"
"p=vec3(2.,2.,-6.-Y.z*22.);"
"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(.05,.1,.2)*(t+5.)*.2;"
"d=.7;"
"if(z>D(p))"
"z=D(p),c=vec3(1.,0.,0.),d=.15;"
"if(z>B(p))"
"z=B(p),c=vec3(.1),d=.8;"
"if(z>C(p))"
"z=C(p),c=vec3(0.,.6,.8)*(.9-.15/clamp(dot(n,q),-1.,-.05)),d=.2,e.y=8.;"
"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_0_H_