MILKDROP_PRESET_VERSION=201 PSVERSION=3 PSVERSION_WARP=3 PSVERSION_COMP=3 [preset00] fRating=0.000 fGammaAdj=1.560 fDecay=1.000 fVideoEchoZoom=0.362 fVideoEchoAlpha=0.000 nVideoEchoOrientation=1 nWaveMode=0 bAdditiveWaves=0 bWaveDots=0 bWaveThick=1 bModWaveAlphaByVolume=0 bMaximizeWaveColor=1 bTexWrap=0 bDarkenCenter=0 bRedBlueStereo=0 bBrighten=0 bDarken=1 bSolarize=0 bInvert=0 fWaveAlpha=0.004 fWaveScale=9.731 fWaveSmoothing=0.000 fWaveParam=1.000 fModWaveAlphaStart=1.000 fModWaveAlphaEnd=1.000 fWarpAnimSpeed=1.459 fWarpScale=2.007 fZoomExponent=1.00000 fShader=1.000 zoom=0.99990 rot=0.00000 cx=0.500 cy=0.500 dx=0.00000 dy=0.00000 warp=0.01000 sx=0.99990 sy=1.00000 wave_r=1.000 wave_g=1.000 wave_b=1.000 wave_x=0.500 wave_y=0.040 ob_size=0.050 ob_r=0.000 ob_g=0.100 ob_b=1.000 ob_a=1.000 ib_size=0.000 ib_r=0.000 ib_g=0.000 ib_b=0.000 ib_a=0.000 nMotionVectorsX=64.000 nMotionVectorsY=48.000 mv_dx=0.000 mv_dy=0.000 mv_l=0.000 mv_r=1.000 mv_g=1.000 mv_b=0.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=0 wavecode_0_samples=452 wavecode_0_sep=0 wavecode_0_bSpectrum=0 wavecode_0_bUseDots=0 wavecode_0_bDrawThick=0 wavecode_0_bAdditive=1 wavecode_0_scaling=2.44415 wavecode_0_smoothing=0.00000 wavecode_0_r=1.000 wavecode_0_g=1.000 wavecode_0_b=1.000 wavecode_0_a=0.150 wave_0_init1=t2 = 0; wave_0_init2=t3 = 0; wave_0_init3=t4 = 0; wave_0_init4=cl = 0; wave_0_per_frame1=t1 = 0; wave_0_per_frame2=t2 = 0; wave_0_per_point1=ppo = 9; wave_0_per_point2=index = t2*q32; wave_0_per_point3=sample = t1 % ppo; wave_0_per_point4= wave_0_per_point5=nindex = gmegabuf(index + q30); // the next neighbor's index wave_0_per_point6=nnindex = gmegabuf(index + q30+1); // the next neighbor's index wave_0_per_point7=nnnindex = gmegabuf(index + q30+2); // the next neighbor's index wave_0_per_point8= wave_0_per_point9=x = gmegabuf(index); wave_0_per_point10=y = gmegabuf(index+1); wave_0_per_point11=r = 0.5 + gmegabuf(index+5)*0.5; wave_0_per_point12=g = 0.5 + gmegabuf(index+6)*0.5; wave_0_per_point13=b = 0.5 + gmegabuf(index+7)*0.5; wave_0_per_point14= wave_0_per_point15=nx = gmegabuf(nindex); wave_0_per_point16=ny = gmegabuf(nindex+1); wave_0_per_point17=nnx = gmegabuf(nnindex); wave_0_per_point18=nny = gmegabuf(nnindex+1); wave_0_per_point19=nnnx = gmegabuf(nnnindex); wave_0_per_point20=nnny = gmegabuf(nnnindex+1); wave_0_per_point21= wave_0_per_point22=x = 0.5 + (x-0.5)/q2; wave_0_per_point23=y = 0.5 + (y-0.5)/q2; wave_0_per_point24=nx = 0.5 + (nx-0.5)/q2; wave_0_per_point25=ny = 0.5 + (ny-0.5)/q2; wave_0_per_point26=nnx = 0.5 + (nnx-0.5)/q2; wave_0_per_point27=nny = 0.5 + (nny-0.5)/q2; wave_0_per_point28=nnnx = 0.5 + (nnnx-0.5)/q2; wave_0_per_point29=nnny = 0.5 + (nnny-0.5)/q2; wave_0_per_point30= wave_0_per_point31=x = if( equal(sample,2), nx, x); wave_0_per_point32=y = if( equal(sample,2), ny, y); wave_0_per_point33=x = if( equal(sample,4), nnx, x); wave_0_per_point34=y = if( equal(sample,4), nny, y); wave_0_per_point35=x = if( equal(sample,6), nnnx, x); wave_0_per_point36=y = if( equal(sample,6), nnny, y); wave_0_per_point37= wave_0_per_point38=a = above(sample,1)*below(sample,ppo-1)*a; wave_0_per_point39= wave_0_per_point40=t1 = t1 + 1; wave_0_per_point41=t2 = if( equal(t1%ppo,0), t2 +1, t2); wavecode_1_enabled=1 wavecode_1_samples=65 wavecode_1_sep=0 wavecode_1_bSpectrum=1 wavecode_1_bUseDots=1 wavecode_1_bDrawThick=1 wavecode_1_bAdditive=1 wavecode_1_scaling=0.33408 wavecode_1_smoothing=0.00000 wavecode_1_r=1.000 wavecode_1_g=1.000 wavecode_1_b=1.000 wavecode_1_a=0.000 wave_1_init1=t2 = 0; wave_1_init2=t3 = 0; wave_1_init3=t4 = 0; wave_1_init4=cl = 0; wave_1_per_frame1=t8 = 1; wave_1_per_frame2= wave_1_per_frame3=t1 = 0.5; wave_1_per_frame4=t2 = 0.9; wave_1_per_point1=d = 0;//d*0.85 + (value1)*1; wave_1_per_point2= wave_1_per_point3=y = 0.2 + value1+value2; wave_1_per_point4=x = 0.9 - sample*0.8; wave_1_per_point5= wave_1_per_point6=gmegabuf((sample*64-1)*q32 + 14) = value1 + value2; wavecode_2_enabled=0 wavecode_2_samples=280 wavecode_2_sep=0 wavecode_2_bSpectrum=0 wavecode_2_bUseDots=0 wavecode_2_bDrawThick=0 wavecode_2_bAdditive=1 wavecode_2_scaling=5.92556 wavecode_2_smoothing=0.00000 wavecode_2_r=1.000 wavecode_2_g=1.000 wavecode_2_b=1.000 wavecode_2_a=0.500 wave_2_per_frame1=t1 = 0; wave_2_per_frame2=t2 = 0; wave_2_per_frame3= wave_2_per_frame4= wave_2_per_point1=// q32 number of attributes wave_2_per_point2=// q31 number of objects wave_2_per_point3= wave_2_per_point4=ppo = 7; // number of points used for each object wave_2_per_point5=index = t2*q32; // object's index wave_2_per_point6= wave_2_per_point7=x = 0.5 +(gmegabuf(index)-0.5)/q2; wave_2_per_point8=y = 0.5 + (gmegabuf(index+1)-0.5)/q2; wave_2_per_point9= wave_2_per_point10=// collecting pairs of index and distance to the current object in a local buffer wave_2_per_point11=i = 0; wave_2_per_point12=j = 0; wave_2_per_point13=loop(q31, wave_2_per_point14= d = sqrt( sqr(gmegabuf(index)-gmegabuf(i)) + sqr(gmegabuf(index+1)-gmegabuf(i+1))); wave_2_per_point15= d = if( equal(d,0), 1, d); wave_2_per_point16= megabuf(j) = i; // store index/distance pairs wave_2_per_point17= megabuf(j+1) = d; wave_2_per_point18= j = j+2; wave_2_per_point19= i = i+q32; wave_2_per_point20= ); wave_2_per_point21= wave_2_per_point22=// sort that buffer, but only 5 cycles for the 5 nearest objects wave_2_per_point23=i = 0; wave_2_per_point24=loop( 5, wave_2_per_point25= j = i; wave_2_per_point26= smallestfind = 100; wave_2_per_point27= findindex = 0; wave_2_per_point28= loop( q31-j, wave_2_per_point29= distance =megabuf(j*2+1); wave_2_per_point30= smaller = above( smallestfind, distance); wave_2_per_point31= smallestfind = if(smaller, distance, smallestfind); wave_2_per_point32= findindex = if( smaller, j*2, findindex); wave_2_per_point33= j = j + 1; wave_2_per_point34= ); wave_2_per_point35= wave_2_per_point36= // now that the nearest object was found, swap it to the buffer's top wave_2_per_point37= wave_2_per_point38= j = megabuf(i); wave_2_per_point39= d = megabuf(i+1); wave_2_per_point40= wave_2_per_point41= megabuf(i) = megabuf(findindex); wave_2_per_point42= megabuf(i+1) = megabuf(findindex+1); wave_2_per_point43= megabuf(findindex) = j; wave_2_per_point44= megabuf(findindex+1) = d; wave_2_per_point45= wave_2_per_point46= i = i+1; wave_2_per_point47= ); wave_2_per_point48= wave_2_per_point49= wave_2_per_point50=index2 = (t1)%ppo; wave_2_per_point51=i = megabuf(index2-2); wave_2_per_point52=xx = 0.5 + (gmegabuf(i)-0.5)/q2; wave_2_per_point53=yy = 0.5 + (gmegabuf(i+1)-0.5)/q2; wave_2_per_point54=w = asin(1)*index2/4; wave_2_per_point55=//xx = x + sin(w)*0.1; wave_2_per_point56=//yy = y + cos(w)*0.1; wave_2_per_point57=x = if( equal(index2%2,0), x, xx); wave_2_per_point58=y = if( equal(index2%2,0), y, yy); wave_2_per_point59= wave_2_per_point60= wave_2_per_point61=a = below(index2,ppo-1)*above(index2,1)*a; wave_2_per_point62=r = 0.5 + gmegabuf(index + 5)*0.5; wave_2_per_point63=g = 0.5 + gmegabuf(index + 6)*0.5; wave_2_per_point64=b = 0.5 + gmegabuf(index + 7)*0.5; wave_2_per_point65= wave_2_per_point66= wave_2_per_point67=t2 = t2 + equal(t1%ppo,ppo-1); wave_2_per_point68=t1 = t1 + 1; wave_2_per_point69= wave_2_per_point70=//a = above(t1,128); wavecode_3_enabled=0 wavecode_3_samples=15 wavecode_3_sep=0 wavecode_3_bSpectrum=0 wavecode_3_bUseDots=0 wavecode_3_bDrawThick=1 wavecode_3_bAdditive=1 wavecode_3_scaling=5.92556 wavecode_3_smoothing=0.00000 wavecode_3_r=1.000 wavecode_3_g=1.000 wavecode_3_b=1.000 wavecode_3_a=0.400 wave_3_init1=t2 = 0 wave_3_per_frame1=t1 = 0; wave_3_per_frame2=t2 = 0; wave_3_per_frame3=t3 = 0; wave_3_per_frame4=t4 = 0.5; wave_3_per_point1=ppo = 5; wave_3_per_point2= wave_3_per_point3=index = t2*q32; wave_3_per_point4=neighbor = 1; wave_3_per_point5=neighbor = gmegabuf(index+10+neighbor); wave_3_per_point6=x = 0.5 + (gmegabuf(index)-0.5)/q2; wave_3_per_point7=y = 0.5 + (gmegabuf(index+1)-0.5)/q2; wave_3_per_point8=xx = 0.5 + ( gmegabuf(neighbor) - 0.5)/q2; wave_3_per_point9=yy = 0.5 + ( gmegabuf(neighbor+1) - 0.5)/q2; wave_3_per_point10= wave_3_per_point11=x = if( equal(t1 % 2, 0), x, xx); wave_3_per_point12=y = if( equal(t1 % 2, 0), y, yx); wave_3_per_point13= wave_3_per_point14= wave_3_per_point15=t2 = t2 + equal(t1,ppo); wave_3_per_point16=t1 = if(above(t1,ppo),t1-ppo,t1) + 1; wave_3_per_point17= shapecode_0_enabled=0 shapecode_0_sides=41 shapecode_0_additive=1 shapecode_0_thickOutline=0 shapecode_0_textured=0 shapecode_0_num_inst=50 shapecode_0_x=0.500 shapecode_0_y=0.500 shapecode_0_rad=0.01000 shapecode_0_ang=3.20442 shapecode_0_tex_ang=0.00000 shapecode_0_tex_zoom=6.23873 shapecode_0_r=1.000 shapecode_0_g=1.000 shapecode_0_b=1.000 shapecode_0_a=0.000 shapecode_0_r2=1.000 shapecode_0_g2=1.000 shapecode_0_b2=1.000 shapecode_0_a2=0.000 shapecode_0_border_r=1.000 shapecode_0_border_g=1.000 shapecode_0_border_b=1.000 shapecode_0_border_a=1.000 shape_0_per_frame1=index = instance*q32; shape_0_per_frame2= shape_0_per_frame3=x = gmegabuf(index); shape_0_per_frame4=y = gmegabuf(index+1); shape_0_per_frame5= shape_0_per_frame6=ang = gmegabuf(index+9); shape_0_per_frame7=rad = gmegabuf(index+4)*2; shape_0_per_frame8= shape_0_per_frame9=r = gmegabuf(index+5); shape_0_per_frame10=g = gmegabuf(index+6); shape_0_per_frame11=b = gmegabuf(index+7); shape_0_per_frame12= shape_0_per_frame13=r2 = r; g2 = g; b2 = b; shape_0_per_frame14= shape_0_per_frame15= shape_0_per_frame16=x = 0.5 + (x-0.5)/q2; shapecode_1_enabled=0 shapecode_1_sides=23 shapecode_1_additive=1 shapecode_1_thickOutline=0 shapecode_1_textured=0 shapecode_1_num_inst=50 shapecode_1_x=0.740 shapecode_1_y=0.270 shapecode_1_rad=0.01000 shapecode_1_ang=0.00000 shapecode_1_tex_ang=0.00000 shapecode_1_tex_zoom=0.81948 shapecode_1_r=1.000 shapecode_1_g=1.000 shapecode_1_b=1.000 shapecode_1_a=1.000 shapecode_1_r2=0.000 shapecode_1_g2=0.000 shapecode_1_b2=0.000 shapecode_1_a2=0.000 shapecode_1_border_r=1.000 shapecode_1_border_g=1.000 shapecode_1_border_b=1.000 shapecode_1_border_a=0.000 shape_1_init1=vx = 0 shape_1_per_frame1=sample = instance/(num_inst-1); shape_1_per_frame2= shape_1_per_frame3=x1 = 0.5; shape_1_per_frame4=y1 = 0.5 + (q3-0.5)*0.01; shape_1_per_frame5=y2 = 0.5; shape_1_per_frame6=x = x1 + (sample-0.5)*0.2; shape_1_per_frame7=y = y2*sample + y1*(1-sample); shapecode_2_enabled=0 shapecode_2_sides=100 shapecode_2_additive=1 shapecode_2_thickOutline=0 shapecode_2_textured=0 shapecode_2_num_inst=1 shapecode_2_x=0.500 shapecode_2_y=0.500 shapecode_2_rad=0.09990 shapecode_2_ang=0.00000 shapecode_2_tex_ang=0.00000 shapecode_2_tex_zoom=0.73458 shapecode_2_r=0.000 shapecode_2_g=1.000 shapecode_2_b=0.000 shapecode_2_a=0.000 shapecode_2_r2=0.000 shapecode_2_g2=1.000 shapecode_2_b2=0.000 shapecode_2_a2=0.000 shapecode_2_border_r=1.000 shapecode_2_border_g=1.000 shapecode_2_border_b=1.000 shapecode_2_border_a=1.000 shape_2_init1=vx = 0 shapecode_3_enabled=1 shapecode_3_sides=3 shapecode_3_additive=1 shapecode_3_thickOutline=0 shapecode_3_textured=0 shapecode_3_num_inst=400 shapecode_3_x=0.500 shapecode_3_y=0.500 shapecode_3_rad=0.16283 shapecode_3_ang=0.00000 shapecode_3_tex_ang=0.00000 shapecode_3_tex_zoom=0.73458 shapecode_3_r=1.000 shapecode_3_g=1.000 shapecode_3_b=1.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_init1=i3 = 0; shape_3_init2=i4 = 0; shape_3_per_frame1=i3 = if(equal(instance,0),0,i3); shape_3_per_frame2=i4 = if(equal(instance,0),0,i4); shape_3_per_frame3=ppo = 8; shape_3_per_frame4=index = i4*q32; shape_3_per_frame5=sample = i3 % ppo; shape_3_per_frame6= shape_3_per_frame7=size = gmegabuf(index+4)*40; shape_3_per_frame8= shape_3_per_frame9=x = gmegabuf(index); shape_3_per_frame10=y = gmegabuf(index+1); shape_3_per_frame11= shape_3_per_frame12=ang = gmegabuf(index+9); shape_3_per_frame13=rad = size*0.05; shape_3_per_frame14= shape_3_per_frame15=r = gmegabuf(index+5); shape_3_per_frame16=g = gmegabuf(index+6); shape_3_per_frame17=b = gmegabuf(index+7); shape_3_per_frame18= shape_3_per_frame19= shape_3_per_frame20=sample = sample/ppo; shape_3_per_frame21=bending = gmegabuf(index + 12)*5 + gmegabuf(index + 10)*5; shape_3_per_frame22=dir = -ang + (sample-0.4)*bending; shape_3_per_frame23= shape_3_per_frame24= ang = asin(1)*1.5 - dir + bending*0.05; shape_3_per_frame25= shape_3_per_frame26=x = x + ((sample-0.3)*0.06*cos(dir)*size + sin(dir)*size*bending*0.01); shape_3_per_frame27=y = y + ((sample-0.3)*0.06*sin(dir)*size - cos(dir)*size*bending*0.01); shape_3_per_frame28= shape_3_per_frame29=x = 0.5 + (x-0.5)/q2; shape_3_per_frame30= shape_3_per_frame31=rad = rad*1.5 - sample*0.05*size; shape_3_per_frame32= shape_3_per_frame33=i3 = i3 + 1; shape_3_per_frame34=i4 = if( equal(i3%ppo,0), i4 +1, i4); per_frame_init_1= per_frame_init_2=//******** INITIALIZATION ********* per_frame_init_3=//---------- some global vars, do not change ------------- per_frame_init_4=avg = 0.01; per_frame_init_5=q7 = .25; //MyZoom per_frame_init_6=q8 = rand(2.0)-1.0; //fractal modifier per_frame_init_7=//q8 = 1; //# per_frame_init_8=q16 = 1 + rand(2); //Tele ; rather fish eye per_frame_init_9=//q16 = 1; //# per_frame_init_10=q18 = rand(0.8)+.1; //brightness balance back/front per_frame_init_11=q30 = 1; //logarithmic Z-Dist storage; unused per_frame_init_12=q31 =128; per_frame_init_13=start = 1; travel = 0; RotZ = 0; look = 0; slow = 0; t0 = time+3; lampx = .5; lampy = .5; per_frame_init_14=cran0 = rand(1); per_frame_init_15=n = 0; loop (10000, gmegabuf(n)=0; n=n+1; ); per_frame_init_16=n = 0; loop (10000, megabuf(n)=0; n=n+1; ); per_frame_init_17=trelx = 0; trely = 0; trelz = 0; per_frame_init_18=reg20 = 1; reg21 = 0; reg22 = 0; reg23 = 0; reg24 = 1; reg25 = 0; reg26 = 0; reg27 = 0; reg28 = 1; per_frame_init_19= per_frame_init_20=//Find random starting point per_frame_init_21=while (exec2( per_frame_init_22= ran1 = rand(800)/100; ran2 = rand(800)/100; ran3 = rand(800)/100; per_frame_init_23= PosX = rand(5)-2; PosY = rand(5)-2; PosZ = rand(5)-2; per_frame_init_24= per_frame_init_25=// PosX = 3.3; PosY = 2; PosZ = -2; ran1 = 0; ran2 = 0; ran3 = 0; //# per_frame_init_26= per_frame_init_27= c1 = cos(ran1); c2 = cos(ran2); c3 = cos(ran3); per_frame_init_28= s1 = sin(ran1); s2 = sin(ran2); s3 = sin(ran3); per_frame_init_29= per_frame_init_30= reg20 = c2*c1; reg21 = c2*s1; reg22 = -s2; per_frame_init_31= reg23 = s3*s2*c1 - c3*s1; reg24 = s3*s2*s1 + c3*c1; reg25 = s3*c2; per_frame_init_32= reg26 = c3*s2*c1 + s3*s1; reg27 = c3*s2*s1 - s3*c1; reg28 = c3*c2; per_frame_init_33= per_frame_init_34= //***********BOT************* per_frame_init_35= //Coord. Trans. must exactly match def in warp S. !!!! per_frame_init_36= dist = 0.001; per_frame_init_37= while (exec2( per_frame_init_38= uvx = reg26*dist/q7; uvy = reg27*dist/q7; uvz = reg28*dist/q7; per_frame_init_39= uvx += PosX; uvy += PosY; uvz += PosZ; per_frame_init_40= uvx = 8.0*((uvx/8+30.5 - int(uvx/8+30.5))-.5); per_frame_init_41= uvy = 8.0*((uvy/8+30.5 - int(uvy/8+30.5))-.5); per_frame_init_42= uvz = 8.0*((uvz/8+30.5 - int(uvz/8+30.5))-.5); per_frame_init_43= uvx0 = uvx+q8; uvy0 = uvy+q8; uvz0 = uvz+q8; per_frame_init_44= loop (7+1, per_frame_init_45= uvx = if (uvx > 1, 2-uvx, if(uvx < -1, -2-uvx, uvx)); per_frame_init_46= uvy = if (uvy > 1, 2-uvy, if(uvy < -1, -2-uvy, uvy)); per_frame_init_47= uvz = if (uvz > 1, 2-uvz, if(uvz < -1, -2-uvz, uvz)); per_frame_init_48= slen = uvx*uvx + uvy*uvy + uvz*uvz; per_frame_init_49= uvx = if (slen < 0.25, uvx*4, if (slen < 1, uvx/slen, uvx)) *2.6 + uvx0; per_frame_init_50= uvy = if (slen < 0.25, uvy*4, if (slen < 1, uvy/slen, uvy)) *2.6 + uvy0; per_frame_init_51= uvz = if (slen < 0.25, uvz*4, if (slen < 1, uvz/slen, uvz)) *2.6 + uvz0; per_frame_init_52= ); per_frame_init_53= len = sqrt(uvx*uvx + uvy*uvy + uvz*uvz); per_frame_init_54= dist *= 1.05; per_frame_init_55= ,(dist < 0.6)*(len > 30))); per_frame_init_56=,(dist < .06))); //end while per_frame_init_57= per_frame_1=fps_ = .0 * fps_ + 1*if(fps<=25,fps,25+.5*(fps-25)); per_frame_2=dec_s = 1-.06*30/fps_; per_frame_3=beat = (time > t0+3); t0 = if(beat, time, t0); per_frame_4= per_frame_5=speed = min(0.2,dist_-.02) * (1+2*avg) *(1-slow*.0)*.7/q7; //# per_frame_6=ds = ds * dec_s + (1-dec_s)*speed*.25/fps_; per_frame_7=RotZ = if (RotZ==0,beat*(rand(100)<20*travel)*(rand(10)/10-.3), per_frame_8= bnot(beat*(rand(100)<30))*RotZ); per_frame_9=slow = if (bnot(slow), beat*(rand(1000*avg)<6), bnot(beat*(rand(100)<50))); per_frame_10=look = if (bnot(look), beat*(rand(1000*speed)<12), bnot(beat*(rand(100)<50))); per_frame_11= per_frame_12=//Lamp View per_frame_13=lx = if (beat,rand(150)/200+.15,lx); per_frame_14=ly = if (beat,rand(150)/200+.15,ly); per_frame_15=lampx = lampx * dec_s + (1-dec_s)*if (look,lx,0.5); per_frame_16=lampy = lampy * dec_s + (1-dec_s)*if (look,ly,0.5); per_frame_17=q1 = lampx; q2 = lampy; per_frame_18= per_frame_19=//Position per_frame_20=DirX= reg26; DirY= reg27; DirZ = reg28; per_frame_21=PosX = PosX + ds*DirX ; PosY = PosY + ds*DirY; PosZ = PosZ + ds*DirZ; per_frame_22=q4 = PosX; q5 = PosY; q6 = PosZ; per_frame_23= per_frame_24=angchg = (.2-dist_)*(dist_ < .2)*2; per_frame_25=travel = if (angchg > 0,0,travel+ds); per_frame_26=v1 = v1 * dec_s + (1-dec_s)* RotZ * ds; per_frame_27=v2 = v2 *dec_s + (1-dec_s)*angchg *xslope/fps_; per_frame_28=v3 = v3 *dec_s + (1-dec_s)*(angchg *yslope/fps_ + 2*v1*sin(time*.1)); per_frame_29=//v2 = .008; per_frame_30=//push old RotMat per_frame_31=reg30 =reg20; reg31 =reg21; reg32 =reg22; per_frame_32=reg33 =reg23; reg34 =reg24; reg35 =reg25; per_frame_33=reg36 =reg26; reg37 =reg27; reg38 =reg28; per_frame_34= per_frame_35=n = 0; avg = 0; per_frame_36=loop (5, per_frame_37= n = n+1; per_frame_38= //new Rot. Mat for infinitesimal angles per_frame_39= ran1 = rand(100)/100; per_frame_40= ran2 = rand(100)/200-.25; per_frame_41= tx = cos(n*1.57+ran2) * (n <= 4)*ran1; ty = sin(n*1.57+ran2) * (n <= 4)*ran1; per_frame_42= c1 = cos(v1); c2 = cos(v2+ty); c3 = cos(v3+tx); per_frame_43= s1 = sin(v1); s2 = sin(v2+ty); s3 = sin(v3+tx); per_frame_44= reg10 = c2*c1; reg11 = c2*s1; reg12 = -s2; per_frame_45= reg13 = s3*s2*c1 - c3*s1; reg14 = s3*s2*s1 + c3*c1; reg15 = s3*c2; per_frame_46= reg16 = c3*s2*c1 + s3*s1; reg17 = c3*s2*s1 - s3*c1; reg18 = c3*c2; per_frame_47= per_frame_48= //pop old RotMat per_frame_49= reg20 =reg30; reg21 =reg31; reg22 =reg32; per_frame_50= reg23 =reg33; reg24 =reg34; reg25 =reg35; per_frame_51= reg26 =reg36; reg27 =reg37; reg28 =reg38; per_frame_52= per_frame_53= //Multiply new RotMat by old one per_frame_54= q20 = reg10*reg20 + reg11*reg23 + reg12*reg26; per_frame_55= q21 = reg10*reg21 + reg11*reg24 + reg12*reg27; per_frame_56= q22 = reg10*reg22 + reg11*reg25 + reg12*reg28; per_frame_57= q23 = reg13*reg20 + reg14*reg23 + reg15*reg26; per_frame_58= q24 = reg13*reg21 + reg14*reg24 + reg15*reg27; per_frame_59= q25 = reg13*reg22 + reg14*reg25 + reg15*reg28; per_frame_60= q26 = reg16*reg20 + reg17*reg23 + reg18*reg26; per_frame_61= q27 = reg16*reg21 + reg17*reg24 + reg18*reg27; per_frame_62= q28 = reg16*reg22 + reg17*reg25 + reg18*reg28; per_frame_63= per_frame_64= reg20 =q20; reg21 =q21; reg22 =q22; per_frame_65= reg23 =q23; reg24 =q24; reg25 =q25; per_frame_66= reg26 =q26; reg27 =q27; reg28 =q28; per_frame_67= per_frame_68= //***********BOT************* per_frame_69= //Coord. Trans. must exactly match def in warp S. !!!! per_frame_70= dist = 0.002; per_frame_71= while (exec2( per_frame_72= uvx = reg26*dist/q7; uvy = reg27*dist/q7; uvz = reg28*dist/q7; per_frame_73= uvx += PosX; uvy += PosY; uvz += PosZ; per_frame_74= uvx = 8.0*((uvx/8+30.5 - int(uvx/8+30.5))-.5); per_frame_75= uvy = 8.0*((uvy/8+30.5 - int(uvy/8+30.5))-.5); per_frame_76= uvz = 8.0*((uvz/8+30.5 - int(uvz/8+30.5))-.5); per_frame_77= uvx0 = uvx+q8; uvy0 = uvy+q8; uvz0 = uvz+q8; per_frame_78= loop (7+1, per_frame_79= uvx = if (uvx > 1, 2-uvx, if(uvx < -1, -2-uvx, uvx)); per_frame_80= uvy = if (uvy > 1, 2-uvy, if(uvy < -1, -2-uvy, uvy)); per_frame_81= uvz = if (uvz > 1, 2-uvz, if(uvz < -1, -2-uvz, uvz)); per_frame_82= slen = uvx*uvx + uvy*uvy + uvz*uvz; per_frame_83= uvx = if (slen < 0.25, uvx*4, if (slen < 1, uvx/slen, uvx)) *2.6 + uvx0; per_frame_84= uvy = if (slen < 0.25, uvy*4, if (slen < 1, uvy/slen, uvy)) *2.6 + uvy0; per_frame_85= uvz = if (slen < 0.25, uvz*4, if (slen < 1, uvz/slen, uvz)) *2.6 + uvz0; per_frame_86= ); per_frame_87= len = sqrt(uvx*uvx + uvy*uvy + uvz*uvz); per_frame_88= dist *= 1.1; per_frame_89= ,(dist < 0.6)*(len > 30))); per_frame_90= megabuf(n) = megabuf(n)*dec_s + (1-dec_s)*dist; //stores the 4 trial points per_frame_91= avg = avg+abs(megabuf(n)/5); per_frame_92=); //end loop 5 per_frame_93= per_frame_94=n = 0; avg = 0; loop (5, n=n+1; avg = avg+abs(megabuf(n)/5)); per_frame_95= per_frame_96=xslope = min(max(2/avg*(megabuf(1)-megabuf(3)),-3),3); per_frame_97=yslope = min(max(2/avg*(megabuf(4)-megabuf(2)),-3),3); per_frame_98=monitor = avg; per_frame_99=dist_ = dist_*dec_s + (1-dec_s)*dist; per_frame_100= per_frame_101=q10 = ds*q7; //compensation of lin. movement in GetDist and zoom uv per_frame_102=q14 = 1*abs(ds) + 2*(abs(v1) + abs(v2) + abs(v3)) + 1.0/255 + start*.05; per_frame_103=q19 = .6 + .4*sin(time*.02+cran0*6); //brightness backgd per_frame_104=start = start * .9; per_frame_105=q11 = v1; q12 = v2; q13 = v3; per_frame_106=//forward comp. of Rotation per_frame_107=monitor = q16; per_pixel_1= warp = 0.0; zoom = 1; dx = -q12/q16*(1+0*pow(x-.5,2)); dy = q13/q16*(1+0*pow(y-.5,2)); rot =q11; warp_1=`float dist, struc; float2 uv0, uv1; float3 box; warp_2=`static const float3x3 RotMat = float3x3(q20,q21,q22,q23,q24,q25,q26,q27,q28); warp_3=`static const float3 CamPos = float3(q4,q5,q6); warp_4=`static const float myzoom = q7, res = q31, resInv = q29, res2 = 64, res2Inv = 1.0/64.0, limit = 20; warp_5=`static const float sustain = .98 - q14*2, change = q14; warp_6=` warp_7=`float2 fstep2(float2 xy) warp_8=`{ warp_9=` //Eo.S. replaced 1.0/res with resInv so shader doesn't have to do division warp_10=` return resInv*round(res*xy); warp_11=` warp_12=`} warp_13=` warp_14=`float GetDist(float2 uvi) warp_15=`{ warp_16=` float2 tmp; warp_17=` tmp = fstep2( tex2D(sampler_pw_main, uvi).gb ); warp_18=` //return pow( 1.0-( res2Inv*(tmp.x-0.505) + tmp.y ), q3 );//Eo.S> replaced 1/q30 with q3 warp_19=` return 1.0-( res2Inv*(tmp.x-0.505) + tmp.y );//Eo.S> q3 is always 1, so remove pow() warp_20=`} warp_21=` warp_22=`float2 PutDist(float x) { warp_23=` float tmp; x = pow(x,q30); warp_24=` tmp = fstep2(1-x); warp_25=` return (float2(res2*((1-x)-tmp)+.495,tmp)); warp_26=`} warp_27=` warp_28=`float MinDist (float2 uvi) warp_29=`{ warp_30=` float tmp; float4 nb; float4 nb2; float2 pix; warp_31=` warp_32=` pix = texsize.zw*(1.0+length(uvi-0.5)*3.0); warp_33=` tmp = GetDist(uvi); warp_34=` nb.x = GetDist(uvi+pix*float2(-1,-1)); warp_35=` nb.y = GetDist(uvi+pix*float2(1,-1)); warp_36=` nb.z = GetDist(uvi+pix*float2(1,1)); warp_37=` nb.w = GetDist(uvi+pix*float2(-1,1)); warp_38=` //tmp = min(tmp,min(min(min(nb.x, nb.y),nb.z),nb.w)) ; warp_39=` nb2.x = GetDist(uvi+pix*float2(0,-1)); warp_40=` nb2.y = GetDist(uvi+pix*float2(1,0)); warp_41=` nb2.z = GetDist(uvi+pix*float2(0,1)); warp_42=` nb2.w = GetDist(uvi+pix*float2(-1,0)); warp_43=` //tmp = min(tmp,min(min(min(nb.x, nb.y),nb.z),nb.w)) ; warp_44=` warp_45=` //Eo.S. more efficient usage of min to get min value of all 8 GetDist() calls, removes 11ALU warp_46=` nb = min( nb, nb2 ); warp_47=` nb.xy = min( nb.xy, nb.zw ); warp_48=` tmp = min( nb.x, nb.y ); warp_49=` return tmp; warp_50=`} warp_51=` warp_52=`float3 Get1 (float2 uvi) warp_53=`{ warp_54=` float3 tmp; float2 pix; warp_55=` tmp = GetBlur1(uvi)*3; warp_56=` return lerp (GetPixel(uvi),tmp/3,change*4); warp_57=`} warp_58=` warp_59=`float3 mbox (float3 uvi) warp_60=`{ warp_61=` float3 zz, zz0; float tmp, li; warp_62=` zz = uvi; zz0 = zz; warp_63=` for (int n = 0; n <= 7; n++) warp_64=` { warp_65=` zz = 2.0*clamp(zz,-1,1)-zz; tmp = dot(zz,zz); warp_66=` if (tmp <= 0.25) {zz *= 4;} else if (tmp <= 1) {zz /= pow(tmp,1);} warp_67=` zz = 2.6*zz + zz0; warp_68=` } warp_69=` return zz; warp_70=`} warp_71=` warp_72=`shader_body { warp_73=` warp_74=` uv = (uv-.5)*q13 + .5; warp_75=` uv1 = (uv-.5)*aspect.xy; warp_76=` float3 noise = frac(8*tex2D(sampler_noise_lq,uv+rand_frame.yz)); warp_77=` warp_78=` dist = noise.r; warp_79=` if (noise.g > 0.2) warp_80=` { warp_81=` //dist = MinDist( (noise.zy-0.5) * 0.003 +uv ) + 0.005 * (noise.x-0.4) * abs(noise.y-0.5); warp_82=` float3 noiseBiased = noise - float3( 0.4, 0.5, 0.5 );//Eo.S. combine the subtraction on noise to a single float3 to ensure compiler does the subtraction in a single ALU warp_83=` dist = MinDist( (noiseBiased.zy) * 0.003 +uv ) + 0.005 * (noiseBiased.x) * abs(noiseBiased.y); warp_84=` } warp_85=` dist = min(dist,GetDist(uv)); warp_86=` warp_87=` float3 uv2 = mul(float3(uv1*dist,dist-.02)/myzoom,RotMat)+CamPos; warp_88=` uv2 = (frac(uv2/8.0+.5)-.5)*8.0; warp_89=` box = mbox (uv2); warp_90=` float len = (length(box)); warp_91=` struc = length(box.zy) /limit; warp_92=` warp_93=` if ((dist <= GetDist(uv)) && (len < limit) && (dist > 0.005)) warp_94=` { warp_95=` ret.r = (1-sustain)*struc+sustain*(Get1(uv).r); ret.gb= PutDist(dist); warp_96=` } warp_97=` else warp_98=` { warp_99=` ret = tex2D(sampler_pc_main,uv_orig) * float3(sustain, 1.0, 1.0)-float3(0.0, 0.0, change); warp_100=` } warp_101=` //ret = noise; warp_102=`} comp_1=`float2 complex_div(float2 numerator, float2 denominator){ comp_2=` return float2( numerator.x*denominator.x + numerator.y*denominator.y, comp_3=` numerator.y*denominator.x - numerator.x*denominator.y)/ comp_4=` (denominator.x*denominator.x + denominator.y*denominator.y); comp_5=`} comp_6=` comp_7=`float2 uv_polar(float2 domain, float2 center){ comp_8=` float2 c = domain - center; comp_9=` float rad_hq = length(c); comp_10=` float ang_hq = atan2(c.x,c.y); comp_11=` return float2(ang_hq*M_INV_PI_2, rad_hq); comp_12=`} comp_13=` comp_14=`float2 uv_polar_logarithmic(float2 domain, float2 center, int fins, float log_factor, float2 coord){ comp_15=` float2 polar = uv_polar(domain, center); comp_16=` return float2(polar.x*fins+coord.x, log_factor*log(polar.y) + coord.y); comp_17=`} comp_18=` comp_19=`float2 uv_moebius_transformation(float2 domain, float2 zeroPoint, float2 infinityPoint,float zoom){ comp_20=` return complex_div((domain - zeroPoint)*zoom, domain - infinityPoint)+0.5; comp_21=`} comp_22=` comp_23=`float2 uv_bipolar(float2 domain, float2 northPole, float2 southPole, int fins, float log_factor, float2 coord){ comp_24=` float2 help_uv = uv_moebius_transformation(domain, northPole, southPole, 1); comp_25=` return uv_polar_logarithmic(help_uv,0.5,fins,log_factor,coord); comp_26=`} comp_27=` comp_28=` comp_29=`float2 uv_rotate( float2 domain, float2 center, float sinw, float cosw, float scale){ comp_30=` float2 uv_r = (domain-center); comp_31=` return center + float2( cosw*uv_r.x - sinw*uv_r.y, sinw*uv_r.x + cosw*uv_r.y)*scale; comp_32=`} comp_33=` comp_34=`float2 polar, factorA, factorB, product; comp_35=`sampler sampler_wrenches; comp_36=` comp_37=`shader_body comp_38=`{ comp_39=`float2 c = (uv-0.5)*aspect.xy;float z = 0.08;polar = float2( atan2(c.x,z), atan2(c.y,z)); comp_40=`float3 p = float3( sin(polar.x)*cos(polar.y),sin(polar.y)*cos(polar.x),cos(polar.x)*cos(polar.y)); comp_41=`factorA = p.zy;factorB = float2(q2,q3); comp_42=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); comp_43=`p.zy = product.xy;factorA = p.zx;factorB = float2(q4,q5); comp_44=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y,factorA.x*factorB.y + factorA.y*factorB.x); comp_45=`p.zx = product.xy;factorA = p.yx;factorB = float2(q6,q7); comp_46=`product = float2( factorA.x*factorB.x - factorA.y*factorB.y, factorA.x*factorB.y + factorA.y*factorB.x); comp_47=`p.yx = product.xy;polar = float2( atan2(p.x,p.z)*q1,atan2(p.y,length(p.xz))*q1*2 + 0.5); comp_48=` comp_49=`float2 uvo = uv; comp_50=` comp_51=`float2 rotate_uv = 0.5-uv_rotate(0 + (uv-0.5)*aspect.xy, 0, q7, -q6, 2); comp_52=`float2 bipolar_uv = uv_bipolar(rotate_uv,float2(0,0.5),float2(1,0.5), 2, 0.3, float2(q9*0.5,q8*0.5)); comp_53=`float2 mirror_uv = 0.5 + (0.5 - abs( frac( bipolar_uv * 0.5 ) * 2.0 - 1.0 )); comp_54=` comp_55=`ret = lerp(ret, 1-pow(hue_shader,4), GetPixel(mirror_uv).x*1.5); comp_56=` comp_57=`//ret = lerp(ret, float3(0,0,0), GetPixel(uv).y); comp_58=` comp_59=`float2 d = texsize.zw; comp_60=`float3 dx = ( GetPixel(uv+float2(1,0)*d)-GetPixel(uv-float2(1,0)*d) ); comp_61=`float3 dy = ( GetPixel(uv+float2(0,1)*d)-GetPixel(uv-float2(0,1)*d) ); comp_62=`float2 dz = float2(dx.y,dy.y)*3; d = texsize.zw*2; comp_63=`dx = ( GetBlur1(uv+float2(1,0)*d)-GetBlur1(uv-float2(1,0)*d) ); comp_64=`dy = ( GetBlur1(uv+float2(0,1)*d)-GetBlur1(uv-float2(0,1)*d) ); comp_65=`dz +=float2(dx.y,dy.y); comp_66=` comp_67=`ret = lerp(ret, 1.5, GetBlur1(frac(polar) - float2(dx.x,dy.x)*texsize.zw*256).z); comp_68=` comp_69=`ret = lerp(ret, 1, length(dz) + GetPixel(uv + float2(dx.y,dy.y)*texsize.zw*18).y*0.25); comp_70=` comp_71=`ret = lerp(ret, pow(hue_shader,4)*1.4, GetBlur1(mirror_uv).z); comp_72=` comp_73=`ret = lerp(ret, 0, GetPixel(frac(polar)).z*0.76); comp_74=` comp_75=` comp_76=`//ret = GetPixel(uv).y; comp_77=`}