MILKDROP_PRESET_VERSION=201
PSVERSION=3
PSVERSION_WARP=2
PSVERSION_COMP=3
[preset00]
fRating=4.000000
fGammaAdj=2.000
fDecay=0.980
fVideoEchoZoom=2.000
fVideoEchoAlpha=0.000
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=1
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.800
fWaveScale=1.000
fWaveSmoothing=0.750
fWaveParam=0.000
fModWaveAlphaStart=0.750
fModWaveAlphaEnd=0.950
fWarpAnimSpeed=1.000
fWarpScale=1.000
fZoomExponent=1.00000
fShader=0.000
zoom=1.00000
rot=0.00000
cx=0.500
cy=0.500
dx=0.00000
dy=0.00000
warp=1.00000
sx=1.00000
sy=1.00000
wave_r=0.000
wave_g=0.000
wave_b=0.000
wave_x=0.000
wave_y=0.000
ob_size=0.010
ob_r=0.000
ob_g=0.000
ob_b=0.000
ob_a=0.000
ib_size=0.010
ib_r=0.250
ib_g=0.250
ib_b=0.250
ib_a=0.000
nMotionVectorsX=12.000
nMotionVectorsY=9.000
mv_dx=0.000
mv_dy=0.000
mv_l=0.900
mv_r=1.000
mv_g=1.000
mv_b=1.000
mv_a=0.000
b1n=0.000
b2n=0.000
b3n=0.000
b1x=1.000
b2x=1.000
b3x=1.000
b1ed=0.250
wavecode_0_enabled=1
wavecode_0_samples=100
wavecode_0_sep=10
wavecode_0_bSpectrum=1
wavecode_0_bUseDots=0
wavecode_0_bDrawThick=0
wavecode_0_bAdditive=1
wavecode_0_scaling=1.00000
wavecode_0_smoothing=0.00000
wavecode_0_r=1.000
wavecode_0_g=1.000
wavecode_0_b=1.000
wavecode_0_a=0.000
wave_0_init1=samples=2;
wave_0_per_frame1=t1=0; t2=0; 
wave_0_per_point1=
wave_0_per_point2=if(t1==0,d=1-0.3/fps;reg01=reg01*d+(1-d)*sqrt(v/q5);v=0,d=1-10/fps);
wave_0_per_point3=sc=(q5-t1*0.8)/q5;;
wave_0_per_point4=v1=value1/reg01*sc; v2=value2/reg01*sc;
wave_0_per_point5=i=(t1-1)*6;
wave_0_per_point6=
wave_0_per_point7=gmegabuf(i)  = v1-gmegabuf(i+2);
wave_0_per_point8=d2=1-if (gmegabuf(i)>0,0.5,3/fps);
wave_0_per_point9=gmegabuf(i+1)  = d2*gmegabuf(i+1) + (1-d2)*v1;
wave_0_per_point10=gmegabuf(i+2)= gmegabuf(i+2)*d+(1-d)*v1;
wave_0_per_point11=
wave_0_per_point12=gmegabuf(i+3) = v2-gmegabuf(i+5);
wave_0_per_point13=d2=1-if (gmegabuf(i+1)>0,0.5,3/fps);
wave_0_per_point14=gmegabuf(i+4) = d2*gmegabuf(i+4) + (1-d2)*v2;
wave_0_per_point15=gmegabuf(i+5)= gmegabuf(i+5)*d+(1-d)*v2;
wave_0_per_point16=
wave_0_per_point17=v+=max(0.00001,sqr(value1*sc)+sqr(value2*sc))*(t1<q5);//slots
wave_0_per_point18=t1+=1;
wavecode_1_enabled=0
wavecode_1_samples=102
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=0
wavecode_1_bDrawThick=1
wavecode_1_bAdditive=0
wavecode_1_scaling=1.00000
wavecode_1_smoothing=0.50000
wavecode_1_r=1.000
wavecode_1_g=1.000
wavecode_1_b=1.000
wavecode_1_a=1.000
wave_1_per_frame1=t1=0;
wavecode_2_enabled=0
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=0
wavecode_2_bDrawThick=0
wavecode_2_bAdditive=0
wavecode_2_scaling=1.00000
wavecode_2_smoothing=0.50000
wavecode_2_r=1.000
wavecode_2_g=1.000
wavecode_2_b=1.000
wavecode_2_a=1.000
wavecode_3_enabled=0
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=0
wavecode_3_bUseDots=0
wavecode_3_bDrawThick=0
wavecode_3_bAdditive=0
wavecode_3_scaling=1.00000
wavecode_3_smoothing=0.50000
wavecode_3_r=1.000
wavecode_3_g=1.000
wavecode_3_b=1.000
wavecode_3_a=1.000
shapecode_0_enabled=0
shapecode_0_sides=4
shapecode_0_additive=0
shapecode_0_thickOutline=1
shapecode_0_textured=0
shapecode_0_num_inst=101
shapecode_0_x=0.500
shapecode_0_y=0.500
shapecode_0_rad=0.02362
shapecode_0_ang=0.00000
shapecode_0_tex_ang=0.00000
shapecode_0_tex_zoom=1.00000
shapecode_0_r=0.000
shapecode_0_g=0.000
shapecode_0_b=0.000
shapecode_0_a=1.000
shapecode_0_r2=0.000
shapecode_0_g2=0.000
shapecode_0_b2=0.000
shapecode_0_a2=0.500
shapecode_0_border_r=1.000
shapecode_0_border_g=1.000
shapecode_0_border_b=1.000
shapecode_0_border_a=0.000
shape_0_init1=bob = 1.5;
shape_0_init2=ro = 0;
shape_0_init3=red = rand(20);
shape_0_per_frame1=  fov=q1;
shape_0_per_frame2=  z0=q2;
shape_0_per_frame3=  ym=q3;
shape_0_per_frame4=  wid=q4;
shape_0_per_frame5=
shape_0_per_frame6=
shape_0_per_frame7=  bb=instance*4+2000;
shape_0_per_frame8=  x0=gmegabuf(bb);
shape_0_per_frame9=  y0=gmegabuf(bb+1);
shape_0_per_frame10=  z= gmegabuf(bb+2);
shape_0_per_frame11=
shape_0_per_frame12=d=sqrt(x0*x0 +y0*y0 +z*z);
shape_0_per_frame13=
shape_0_per_frame14=x = instance/num_inst;
shape_0_per_frame15=y = 0.1;
shape_0_per_frame16=
shape_0_per_frame17=k=d/z0;
shape_0_per_frame18=r=k;g=k;b=k;
shapecode_1_enabled=1
shapecode_1_sides=20
shapecode_1_additive=0
shapecode_1_thickOutline=1
shapecode_1_textured=0
shapecode_1_num_inst=260
shapecode_1_x=0.500
shapecode_1_y=0.500
shapecode_1_rad=0.03697
shapecode_1_ang=0.00000
shapecode_1_tex_ang=0.00000
shapecode_1_tex_zoom=1.00000
shapecode_1_r=1.000
shapecode_1_g=0.000
shapecode_1_b=0.000
shapecode_1_a=1.000
shapecode_1_r2=0.000
shapecode_1_g2=0.000
shapecode_1_b2=0.000
shapecode_1_a2=1.000
shapecode_1_border_r=0.000
shapecode_1_border_g=0.000
shapecode_1_border_b=0.000
shapecode_1_border_a=0.000
shape_1_per_frame1=//balls
shape_1_per_frame2=if (instance<q6,
shape_1_per_frame3=  fov=q1;z0=q2;ym=q3;wid=q4;
shape_1_per_frame4=
shape_1_per_frame5=  bb=instance*4+2000; x0=gmegabuf(bb); y0=gmegabuf(bb+1); z= gmegabuf(bb+2);
shape_1_per_frame6=  x=0.5 + x0/z/fov;
shape_1_per_frame7=  y=1-q3 + y0/z/fov;
shape_1_per_frame8=  rad=2*q7/z/fov*reg32;
shape_1_per_frame9=
shape_1_per_frame10=  a=(z>0)*(rad<0.7); a2=a;
shape_1_per_frame11=  b=z/z0;b2=b; //dist
shape_1_per_frame12=,
shape_1_per_frame13=rad=0);
shapecode_2_enabled=1
shapecode_2_sides=10
shapecode_2_additive=1
shapecode_2_thickOutline=0
shapecode_2_textured=0
shapecode_2_num_inst=200
shapecode_2_x=0.500
shapecode_2_y=0.500
shapecode_2_rad=0.40272
shapecode_2_ang=0.00000
shapecode_2_tex_ang=2.51327
shapecode_2_tex_zoom=0.55045
shapecode_2_r=0.000
shapecode_2_g=0.000
shapecode_2_b=0.000
shapecode_2_a=1.000
shapecode_2_r2=0.000
shapecode_2_g2=0.000
shapecode_2_b2=0.000
shapecode_2_a2=1.000
shapecode_2_border_r=1.000
shapecode_2_border_g=1.000
shapecode_2_border_b=1.000
shapecode_2_border_a=0.000
shape_2_per_frame1=//shadows
shape_2_per_frame2=if (instance<q8, 
shape_2_per_frame3=  fov=q1;z0=q2;ym=q3;wid=q4;
shape_2_per_frame4=  bb=instance*4+4000;
shape_2_per_frame5=  x0=gmegabuf(bb); y0=gmegabuf(bb+1); z= gmegabuf(bb+2);
shape_2_per_frame6=  x=0.5 + x0/z/fov;
shape_2_per_frame7=  y=1-q3 + y0/z/fov;
shape_2_per_frame8=  rad=2*q7/z/fov*reg32;
shape_2_per_frame9=  h=max(0,-1-y0);
shape_2_per_frame10=   rad*=1+h/2;
shape_2_per_frame11=  g=(1-pow(z/(z0-1),2)) * min(1,.2/h)/2 ; g2=0;
shape_2_per_frame12=  a=(z0>0)*(y<0.975)*(rad<0.5); a2=a;
shape_2_per_frame13=,
shape_2_per_frame14=rad=0);
shapecode_3_enabled=1
shapecode_3_sides=4
shapecode_3_additive=1
shapecode_3_thickOutline=0
shapecode_3_textured=0
shapecode_3_num_inst=48
shapecode_3_x=0.970
shapecode_3_y=0.790
shapecode_3_rad=0.03697
shapecode_3_ang=0.00000
shapecode_3_tex_ang=0.00000
shapecode_3_tex_zoom=0.90529
shapecode_3_r=0.000
shapecode_3_g=0.000
shapecode_3_b=0.000
shapecode_3_a=1.000
shapecode_3_r2=0.000
shapecode_3_g2=0.000
shapecode_3_b2=0.000
shapecode_3_a2=0.000
shapecode_3_border_r=1.000
shapecode_3_border_g=1.000
shapecode_3_border_b=1.000
shapecode_3_border_a=0.000
shape_3_per_frame1=fov=q1;z0=q2;ym=q3;wid=q4;slots=q5;
shape_3_per_frame2=rad=reg32*wid/z0/fov*1.2;
shape_3_per_frame3=s=instance;
shape_3_per_frame4=ch=if(s<slots,0,1);
shape_3_per_frame5=
shape_3_per_frame6=x0=if(ch==0,-(0.5+s),(0.5+s-slots))*wid;
shape_3_per_frame7=x=0.5 + x0/(z0-wid/2*0)/fov;
shape_3_per_frame8=y=1-rad/2;
shape_3_per_frame9=
shape_3_per_frame10=g0 = gmegabuf((s-ch*slots)*6+3*ch+1)/4;
shape_3_per_frame11=g = g0*g0;
shape_3_per_frame12=g=max(0,min(1,g));
shape_3_per_frame13=g2=g;
shape_3_per_frame14=
shape_3_per_frame15=b = gmegabuf((s-ch*slots)*6+3*ch+2)/2;
shape_3_per_frame16=b=max(0,min(1,b));
shape_3_per_frame17=b2=b;
shape_3_per_frame18=
shape_3_per_frame19=a2=instance<=2*slots; a=a2;
shape_3_per_frame20=d=1-.1/fps;
per_frame_init_1=n=0;loop(10000,megabuf(n)=0;gmegabuf(n)=0;n+=1);
per_frame_init_2=pi2 = 3.1416/2;
per_frame_init_3=fov=2.6; 
per_frame_init_4=z0=5; //backgd
per_frame_init_5=ym = 0.32;  //y offset; floor is y0=-1
per_frame_init_6=slots=24;  //pro Stereokanal
per_frame_init_7=wid=fov/slots*z0/2.7; //slot width
per_frame_init_8=maxbps=15; //balls per slot
per_frame_init_9=brad=wid*.49; //ball rad
per_frame_init_10=o1=0;o2=0;o3=0;o4=0;o5=0;o6=0;o7=0;o8=0;o9=0;
per_frame_init_11=start=time; nlive=0;
per_frame_init_12=reg01=.01; //v_
per_frame_init_13=recsize=6;
per_frame_init_14=eff=0;
per_frame_1=dt = min (1/fps,0.1); dec_m=1-4*dt; dec_s=1-dt;
per_frame_2=vol= (bass+mid+treb)/3; 
per_frame_3=vol_= vol_*dec_m + (1-dec_m)*vol; 
per_frame_4=bt=(vol>pk+2)&&(time>t0+1)&&(time>start+8);
per_frame_5=if(bt,t0=time;pk=4+vol*12,0); pk*=dec_s;
per_frame_6=
per_frame_7=if (bt,h=rand(5)<qua_; 
per_frame_8=  o1=h*(rand(3)); o2=h*(rand(6)-3); o3=h*(rand(6)-3); 
per_frame_9=  o4=h*(rand(4)-2); o5=h*rand(6); o6=h*-rand(4);
per_frame_10=  o7= rand(6)<qua_; o8=0; o9=0;,0);
per_frame_11=d=1-2*dt;
per_frame_12=o1_=d*o1_+(1-d)*o1; o2_=d*o2_+(1-d)*o2; o3_=d*o3_+(1-d)*o3;
per_frame_13=o4_=d*o4_+(1-d)*o4; o5_=d*o5_+(1-d)*o5; o6_=d*o6_+(1-d)*o6; 
per_frame_14=o7_=d*o7_+(1-d)*o7; o5_=d*o8_+(1-d)*o8; o6_=d*o9_+(1-d)*o9; 
per_frame_15=
per_frame_16=eno+=if(ber,.1,-0.1*(eno>0))*dt;
per_frame_17=if(!ber,if(qua_>1.9+eno,ber=1;u1=rand(1),0), 
per_frame_18=        ber=qua_>1+eno);
per_frame_19=
per_frame_20=i=0;bb=10000;qavg=avg=0.1;i=0;ores=20;bst=100; 
per_frame_21=loop (2*ores,
per_frame_22=  n = bb+i*8;  BPM=bst*pow(2,i/ores);  sp=sqr(BPM*0.1047);
per_frame_23=  megabuf(n+4)=megabuf(n+1);megabuf(n+1)*=1-0.2*dt; 
per_frame_24=  ecs = int(BPM/2*dt)+1;
per_frame_25=  loop (ecs,
per_frame_26=    fo=atan(vol-vol_)-sp*megabuf(n+2) ;
per_frame_27=    megabuf(n+1)+=fo*dt/ecs; megabuf(n+2)+=megabuf(n+1)*dt/ecs);
per_frame_28=  bc=megabuf(n+1); bs=megabuf(n+2)*BPM*0.1047;
per_frame_29=  q=sqrt (pow(bs,2)+pow(bc,2));
per_frame_30=  megabuf(n+3)=megabuf(n+3)*dec_m + q*(1-dec_m);
per_frame_31=  if ((i>0)&&(megabuf(n+3)>megabuf(bb+mi*8+3)),mi=i,0);
per_frame_32=  avg+=megabuf(n+3);qavg+=pow(megabuf(n+3),2)*10;
per_frame_33=i += 1;);
per_frame_34=BPM=bst*pow(2,mi/ores);
per_frame_35=if (BPM>200, BPM/=2,0);
per_frame_36=tr+=BPM/60*dt;bs=sin(tr*pi2/2); 
per_frame_37=qua=sqrt(qavg/avg);d=1-4*dt;qua_=qua_*d+(1-d)*qua;
per_frame_38=tra+=qua_*dt;
per_frame_39=
per_frame_40=ytop=z0*fov*ym;//startpos "oben"
per_frame_41=s=0;
per_frame_42=loop (2*slots,
per_frame_43=  sb = recsize*s*maxbps; //erster ball des slots
per_frame_44=  ch=if(s<slots,0,1);
per_frame_45=  thres = exp(nlive/300)/2.3;
per_frame_46=  logv = log(1+gmegabuf((s-ch*slots)*6+3*ch));
per_frame_47=  if ((logv>thres) && rel && (nlive<250), //new ball
per_frame_48=  b=maxbps-1;
per_frame_49=  loop (maxbps-1,//ball recs nach oben schieben
per_frame_50=    bb=sb+recsize*b;
per_frame_51=    memcpy(bb,bb-recsize,recsize);
per_frame_52=  b-=1);
per_frame_53=  megabuf(sb) = time; //neuer ball an Pos 0
per_frame_54=  megabuf(sb+1) = if(ch==0,-(0.5+s),(0.5+s-slots))*wid;
per_frame_55=  megabuf(sb+2) = ytop+0.06*s;
per_frame_56=  megabuf(sb+3) = z0-brad/2;  //eig. brad !
per_frame_57=  megabuf(sb+4) = 0; //phase
per_frame_58= ,0);
per_frame_59=s+=1);
per_frame_60=
per_frame_61=//Now move!
per_frame_62=vmax=z0*max(1.4,min(2.4,qua_))*.5;
per_frame_63=acc+=vmax*dt;
per_frame_64=if (acc>acco+0.3,rel=1;acco=acc,rel=0); 
per_frame_65=
per_frame_66=nlive=0; nshad=0;
per_frame_67=n=2000; m=4000;
per_frame_68=b=0;
per_frame_69=loop (maxbps,
per_frame_70=  s=2*slots; 
per_frame_71=  loop (2*slots,
per_frame_72=  ch=if(s<slots,0,1);
per_frame_73=  x=if(ch==0,-(0.5+s),(0.5+s-slots))*wid;
per_frame_74=    bb=recsize*(s*maxbps + b);
per_frame_75=    v=vmax;
per_frame_76=    if (megabuf(bb)>0,  //ball live
per_frame_77=      trel=time-megabuf(bb);
per_frame_78=      x=megabuf(bb+1);y=megabuf(bb+2);z=megabuf(bb+3); 
per_frame_79=      if (megabuf(bb+4)==0,
per_frame_80=        y-=dt*v*1.5;
per_frame_81=        if (y<0,megabuf(bb+4)=1,0);
per_frame_82=     ,//ab Kurvenanfang
per_frame_83=        if (megabuf(bb+4)==1,
per_frame_84=          ang = max(0,min(pi2,-asin(y)));
per_frame_85=          h1=(1-brad)*dt*v;
per_frame_86=          y+=-h1*cos(ang); 
per_frame_87=          y=max(y,-1+brad);
per_frame_88=          z+=-h1*sin(ang); 
per_frame_89=          if (z<z0-1,megabuf(bb+4)=2,0);
per_frame_90=     ,//ab Kurvenende 
per_frame_91=          cen=x*x+y*y+z*z+0.02; 
per_frame_92=          h1=max(0,z0-1-z)*v*0.08*(1+.2/cen);  //not in my face !
per_frame_93=          vx=h1*(o2_+(s%2-0.5)*o3_+(ch-0.5)*o4_) ;
per_frame_94=          vx+=h1*max(-1,min(1,pow(x,3)))*-o7_*4*(s%4); //zusammenziehen
per_frame_95=          vy=h1*o1_;  
per_frame_96=          vz=sqrt(max(5,v*v-vx*vx-vy*vy)); 
per_frame_97=
per_frame_98=//b nicht verwenden, kann springen !
per_frame_99=          x+=dt*vx; y+=dt*vy; z-=dt*vz;
per_frame_100=      ));
per_frame_101=      if (z<0, megabuf(bb)=0; //loeschen
per_frame_102=      , 
per_frame_103=      nlive+=1; 
per_frame_104=      if (megabuf(bb+4)==2,  //Schatten, nur Phase 2
per_frame_105=        nshad+=1;
per_frame_106=        gmegabuf(m)  =x;
per_frame_107=        gmegabuf(m+1)= -2-y+brad;
per_frame_108=        gmegabuf(m+2)=z;
per_frame_109=        m+=4;
per_frame_110=     ,0);
per_frame_111=      gmegabuf(n)  =x;
per_frame_112=      gmegabuf(n+1)=y;
per_frame_113=      gmegabuf(n+2)=z;
per_frame_114=      gmegabuf(n+3)=z*z+y*y+x*x;
per_frame_115=      megabuf(bb+1)=x;megabuf(bb+2)=y;megabuf(bb+3)=z; 
per_frame_116=      n+=4;);
per_frame_117=   ,0); //not live
per_frame_118=  s-=1); 
per_frame_119=b+=1);
per_frame_120=
per_frame_121=//Bubblesort
per_frame_122=eff=0;
per_frame_123=while(
per_frame_124=  i=0; swap=0;
per_frame_125=  while ( 
per_frame_126=    n=2000+i*4; m=n+4;
per_frame_127=    d1=gmegabuf(n+3); d2=gmegabuf(m+3);
per_frame_128=    if(d2>d1,
per_frame_129=      swap+=1; eff+=1;
per_frame_130=      b0=gmegabuf(n);   gmegabuf(n)  =gmegabuf(m);   gmegabuf(m)  =b0;
per_frame_131=      b1=gmegabuf(n+1); gmegabuf(n+1)=gmegabuf(m+1); gmegabuf(m+1)=b1;
per_frame_132=      b2=gmegabuf(n+2); gmegabuf(n+2)=gmegabuf(m+2); gmegabuf(m+2)=b2;
per_frame_133=      b3=gmegabuf(n+3); gmegabuf(n+3)=gmegabuf(m+3); gmegabuf(m+3)=b3;
per_frame_134=   ,0);
per_frame_135=  i+=1; i<nlive-1); 
per_frame_136=(swap>0) & (eff<8000));
per_frame_137=
per_frame_138=reg32 = aspecty;
per_frame_139=q1=fov;q2=z0;q3=ym;q4=wid;zoom=1;q5=slots;q6=nlive;q7=brad;q8=nshad;
per_frame_140=q10=tr*pi2/8;q11=tra*0.06;
per_frame_141=
per_frame_142=monitor = int(1000*qua_)+ber*0.001;
per_frame_143=if (nlive>nnn,nnn=nlive,0);
per_frame_144=monitor = nlive;
per_frame_145=if (eff>me,me=eff,0);
per_frame_146=if (nlive>nnn,nnn=nlive,0);
per_frame_147=monitor = me;
warp_1=`shader_body {
warp_2=`ret=0;
warp_3=`}
comp_1=`#define sat saturate
comp_2=`sampler sampler_pw_noise_lq;
comp_3=`#define snl sampler_noise_lq
comp_4=`#define pnl sampler_pw_noise_lq
comp_5=`float3 ball,refl,bcol;
comp_6=`float2 uv1,uv2,uv3,uv4,dz,dz2,pro,h,v;
comp_7=`float str,ey,a,b,c,s,z,d,k1,p,q, alp,fl,struc,mask,dist,smask,bli;
comp_8=`static const float fov=q1,z0=q2,ym=q3,wid=q4,slots=q5,brad=q7;
comp_9=`
comp_10=`float3 scol (float x) {x=x/(slots*2)+0.4; 
comp_11=`return .4+0.7*sat (0.5+sin(M_PI/6*(12*x+time/4+float3(3,-1,-5))));}
comp_12=`
comp_13=`float getr (float2 uvi) {return 1/(.1+pow(1-GetPixel(uvi).r,2));}
comp_14=`float getr1 (float2 uvi) {return (1-pow(1-GetBlur1(uvi).r,2));}
comp_15=`
comp_16=`float3 spa(float2 uvi,float t) 
comp_17=`{float3 tmp=0; float2 uv4,uv5=uvi; float3 m;
comp_18=`for (int n=1; n<6; n++)
comp_19=`{  uv5 = uvi*(1+n*0.5) +float2(n*0.1,t);
comp_20=`  m=tex2D(pnl,uv5.yx);
comp_21=`  tmp+=4*tex2D(snl,uv5)*(m>0.98)*sin(t*m.z*128);}
comp_22=`  return tmp+lum(tmp);}
comp_23=`
comp_24=`float3 noise2(float2 uvi) {return tex2D(snl,uvi);}
comp_25=`
comp_26=`shader_body {
comp_27=`//uv = ((uv-0.5)+float2(0,0.02))*0.96+0.5;
comp_28=`uv1 = float2 (uv.x-0.5, ym-uv.y)*fov;
comp_29=`dist=GetPixel(uv).b;
comp_30=`mask=GetPixel(uv).r>0.02;
comp_31=`struc=GetPixel(uv)*mask;
comp_32=`ey=1-(uv.y-ym)*dist*fov*z0;
comp_33=`
comp_34=`if (uv1.y>0) { p=z0*uv1.x;  q=z0*uv1.y+M_PI/2+z0-1;} //hinten
comp_35=`else if (uv1.y<-1/(z0-1)) { q=-1/uv1.y*1; p=uv1.x*q;} //vorn
comp_36=`else 
comp_37=`  { a=-(1+uv1.y); b=2*uv1.y; c= 1+uv1.y*(z0-1);
comp_38=`    float bet=(b+sqrt(b*b-4*a*c))/(2*a); alp=bet*-(M_PI/2);
comp_39=`    q=alp-1+z0; p=uv1.x * (z0+sin(alp)-1);}
comp_40=`uv3 = float2(p,q);
comp_41=`
comp_42=`ret = sat(16*abs(frac(p/wid+0.5)-0.5))/4;
comp_43=`str = int(p/wid);
comp_44=`smask=(str<slots)*(str>-slots); 
comp_45=`ret *= smask;
comp_46=`
comp_47=`float2 ka=tex2D(pnl,uv3/wid/256);
comp_48=`ret *= (1+1*noise2(uv3*ka.y).x)*scol(str);
comp_49=`
comp_50=`pro=noise2(uv3*ka.y).x-noise2(uv3*ka.y+0.001);
comp_51=`bli=pow((1-uv.x+pro.x*!mask),7);
comp_52=`ret*=(1+GetBlur1((uv+pro*0.05)).g*10); //shadows
comp_53=`ret *= 0.2+bli ;
comp_54=`
comp_55=`k1=1+(1/dist);
comp_56=`h = float2 (k1,0)*texsize.zw;
comp_57=`v = float2 (0,k1)*texsize.zw;
comp_58=`
comp_59=`dz.x = getr (uv+h) - getr (uv-h);
comp_60=`dz.y = getr (uv+v) - getr (uv-v);
comp_61=`dz *= mask*0.3;
comp_62=`
comp_63=`//streifenbeleuchtung
comp_64=`s=(p/fov/z0+0.5) ;
comp_65=`uv4=frac(float2(s+dz.x*-.02*(1+ey),wid/fov/z0/2));
comp_66=`fl = lerp (GetBlur1(uv4),GetBlur1(uv4),!mask).g*1.5;
comp_67=`
comp_68=`//#######################################################
comp_69=`uv4=frac(float2(s,0)+float2(0,wid/fov/z0/2));
comp_70=`float bb=GetPixel(uv4).b;
comp_71=`float ll=(4*pow(sin(q10*8-0.5*uv.x*M_PI),1114));
comp_72=`fl += sat(1-pow(q-7,2)*(3*bb)+2*pro) * bb * (1+0*ll) * !mask;
comp_73=`
comp_74=`ret += fl*sat(0.5+q/z0)*scol(str);
comp_75=`
comp_76=`ball=dz.y/3;
comp_77=`
comp_78=`bcol=scol(+p/wid*sat(1-ey*(1-dist)));
comp_79=`refl=(sat(-dz.y)*(0.5+4*fl))*bcol;
comp_80=`ball+=refl*sat(1-ey*0.);
comp_81=`
comp_82=`//lichtreflektion
comp_83=`ball += lum(GetBlur1(frac(uv-dz*0.7)))*mask*bcol;
comp_84=`k1=2+(1-dist)*6;
comp_85=`h = float2 (k1,0)*texsize.zw;
comp_86=`v = float2 (0,k1)*texsize.zw;
comp_87=`
comp_88=`dz2.x = getr1 (uv+h) - getr1 (uv-h);
comp_89=`dz2.y = getr1 (uv+v) - getr1 (uv-v);
comp_90=`ball += 0.03/length(dz2-0.2*uv)*struc*(1+bcol);
comp_91=`ball *= 1-dist/3;
comp_92=`
comp_93=`k1 = 0.1/length(cos(42*uv*float2(1,0.08)+float2((uv.y)*3*uv1.x,0)));
comp_94=`ret = lerp(ret,k1* (2+spa(uv,q11*(floor(k1*32)/4)))*(.5+scol(p/wid)),!smask);
comp_95=`
comp_96=`ret = lerp (ret,ball,mask);
comp_97=`//ret = GetPixel(uv);
comp_98=`}
comp_99=`
comp_100=`
