sampler s; float2 j; float4 h:register(c1); float3 q(sampler s,float2 x) { float4 c=tex2D(s,x),d=3/pow(c.w,.15); return saturate(c.x/d)*d; } float3x3 r(float3 g) { g*=6.283; float a=cos(g.x),b=sin(g.x),c=cos(g.y),d=sin(g.y),e=cos(g.z),f=sin(g.z); return float3x3(c*e+b*d*f,-a*f,b*c*f-d*e,c*f-b*d*e,a*e,-d*f-b*c*e,a*d,b,a*c); } float3x3 w() { return r(float3(0,0,smoothstep(-7,30,t))+smoothstep(170,300,t)*float3(1,2,3)+sin(float3(5,6,7)*(h.z*100+t*.002))*.08*(2-sin((h.z*2222-h.w)))); } float f1(float3 p) { float3 g=(frac(mul(p+sin(p.yzx*.1)/3,r(sin(p.z*.07)*float3(0,0,.3)*smoothstep(150,60,p.z)))/6)-.5)*6; float d1=2.4*smoothstep(20,70,t)-abs(p.x)-1,d2=max(abs(g.x),max(abs(g.y),abs(g.z)))-2.3,d3=length(p-float3(0,0,84))-18; d1=lerp(d1,min(max(d1,-.7-d2),max(d2-.3,abs(d1-.9)-1.3)),saturate(p.z*.03-.5+sin(p.z*.1)*.1)); d1=max(max(d1,25-p.z),p.z-116); d1=min(min(max(d1,min(11-abs(d3),max(-p.z+84,abs(length(p.xy)-1.3+sin(p.z*.9)/5)-.2))),max(d1+.5,abs(d3-4)-.5))-.3*smoothstep(60,110,t),max(111-p.z,min(7-length(p.xy)/2-sin(p.z*.3+sin(p.z*2)/25+t/5)*6,max(-p.x+(p.z-105)*.1,abs(p.y)-1.8)))); g=mul(p-float3(0,0,44),r(pow(smoothstep(36,4,t)*float3(1,2,3),2)*step(-p.z,-15))); if(t<44) d1=lerp(d1,max(abs(g.x),max(abs(g.y),abs(g.z)))-4-15*smoothstep(27,36,t),smoothstep(44,30,t)); d1=min(d1,.8*max(p.z-14,abs(length(p.xy)-1.5-sin(floor(p.z))/5)-1)); return d1; } float f2(float3 p) { p.z-=138; float ln=pow(1/length(p+3*sin(t*float3(5.1,7.6,1)*.023)),2)+pow(1/length(p+3*sin(t*float3(4.5,2.7,2)*.033)),2)+pow(1/length(p+3*sin(t*float3(6.3,3.7,4)*.031)),2)+pow(1/length(p+3*sin(t*float3(7.5,6.3,5)*.023)),2),d1=1/sqrt(ln)-1; d1=min(lerp(d1-.7,min(abs(d1+.3)-.3,abs(d1-.7)*2-.3),smoothstep(150,230,t-p.y/9)),abs(d1-5)-1+4.2*smoothstep(210,150,t+p.y/5))+2*smoothstep(230,270,t+p.y); return d1; } float3 k() { return mul(float3(0,.1,-.1-2*smoothstep(170,190,t)),w())+float3(0,0,smoothstep(-.07,1,t*.005)*140); } float f(float3 p) { p+=.01; float d1=95-length(p-k()),d2=f2(p); if(t<280) d1=min(d1,f1(p))+14*smoothstep(140,230,t); if(t>130) d1=min(d1,d2); d1*=.3; p*=.3; for(float i=0; i<4; i++) { float3 q=1+i*i*.18*(1+4*(1+.3*sin(t*.001))*sin(float3(5.7,6.4,7.3)*i*1.145+.3*sin(h.w*.015)*(3+i))),g=(frac(p*q)-.5)/q; d1=min(d1+.03,max(d1,max(abs(g.x),max(abs(g.y),abs(g.z)))-.148)); } return d1/.28; } float3 nn(float3 p) { float2 e={4e-3,0}; return -normalize(float3(f(p+e.xyy),f(p+e.yxy),f(p+e.yyx))); } float u(float3 p,float3 y) { float o=.8,g=f(p),d; for(float i=0;i<1;i+=.25) { d=i*.15+.025; o-=(g<.01)*(d-f(p-y*d))*2*(2-i*1.8); } return o; } float4 p0(float2 vp:vpos):color0 { float2 x=(vp+.5)/j; float3 p=k(),a=p,y=mul(normalize(float3(2*sin((vp-.5-j/2)/j.y),cos(length((vp-.5-j/2)/j.y/2)*2*sqrt(2)))),w()); float g=0,df=f(p)+.002; for(float i=0;i<90&&abs(df)>.00032;i++) { g+=smoothstep(.5,.07,df)*.01*(1-g); p+=y*(df+.000001*length(p-a)); df=f(p).x; } float3 n=nn(p); float d=length(p-a),o=u(p,n),z=2*pow(.5+dot(n,normalize(normalize(sin(p.yzx/5+h.w+float3(.14,.47,.33)*t))))/2,.5); z*=1+.8/pow(d+.5,.6)*sin(floor(p*1.6+sin(floor(p.yzx*3))*3)+sin(floor(p.zxy*1.7)))+.7*sin(t*.08+4*length(sin(floor(p*3+t*.1+sin(floor(p.yzx*133))*.24/d*sin(t*.3+floor(p.zxy*.15)))+sin(floor(p.yzx*7))))+step(length(frac(p.xy*7)-.5)+.6*sin(length(sin(t*float2(.5,.7)+floor(p.xy*7)))),.5))*sin(floor(p.z)*3+floor(p.x+sin(floor(p.yzx*15)))); z+=pow(.45+.45*sin(o*38+t),19); return float4(z,g,o,d); } float4 p1(float2 vp:vpos):color0 { float2 x=(vp+.5)/j; float3 c=tex2D(s,x).x,b=tex2D(s,x).yzw; float2 w=4e-4/j*j.x/pow(b.z+.03,.5)*(pow(b.y,2)+.1); float3 e={1,-1,0},_11=q(s,x+w*e.yy),_12=q(s,x+w*e.zy),_13=q(s,x+w*e.xy),_21=q(s,x+w*e.yz),_23=q(s,x+w*e.xz),_31=q(s,x+w*e.yx),_32=q(s,x+w*e.zx),_33=q(s,x+w*e.xx),v=_13+2*_23+_33-(_11+2*_21+_31),z=_11+2*_12+_13-(_31+2*_32+_33); c=lerp((saturate(pow(sqrt(v*v*float3(.5,.01,1)+z*z*float3(.02,1,1)),.5)*.4/pow(b.z,.3))*sqrt(h.x*50+1)+b.x*b.x*12/pow(b.z+.5,.6))*pow(b.y,1.1)*1.04,h.x*70+h.x*smoothstep(50,10,t)*2,saturate(b.z/110-.1+h.x*3)); c=pow(c+saturate(1-c)*b.x,1.8*float3(1.8,1.2,1.1)-1+9/t+.1/(pow(h.x*20,float3(3,4,3))+.05))*2; return c.xyzz; }