MILKDROP_PRESET_VERSION=201
PSVERSION=4
PSVERSION_WARP=3
PSVERSION_COMP=4
[preset00]
fRating=5.000
fGammaAdj=1.980
fDecay=0.500
fVideoEchoZoom=1.000
fVideoEchoAlpha=0.500
nVideoEchoOrientation=3
nWaveMode=6
bAdditiveWaves=1
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=1
bSolarize=0
bInvert=0
fWaveAlpha=0.001
fWaveScale=1.893
fWaveSmoothing=0.540
fWaveParam=0.380
fModWaveAlphaStart=0.810
fModWaveAlphaEnd=1.400
fWarpAnimSpeed=1.459
fWarpScale=2.007
fZoomExponent=1.00000
fShader=0.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=0.000
wave_g=0.000
wave_b=0.000
wave_x=0.500
wave_y=0.500
ob_size=0.000
ob_r=0.000
ob_g=0.000
ob_b=0.000
ob_a=1.000
ib_size=0.260
ib_r=0.250
ib_g=0.250
ib_b=0.250
ib_a=0.000
nMotionVectorsX=64.000
nMotionVectorsY=48.000
mv_dx=0.000
mv_dy=0.000
mv_l=1.850
mv_r=0.500
mv_g=0.500
mv_b=0.500
mv_a=0.000
b1n=0.000
b2n=0.000
b3n=0.000
b1x=1.000
b2x=1.000
b3x=1.000
b1ed=0.000
wavecode_0_enabled=0
wavecode_0_samples=342
wavecode_0_sep=0
wavecode_0_bSpectrum=1
wavecode_0_bUseDots=0
wavecode_0_bDrawThick=1
wavecode_0_bAdditive=0
wavecode_0_scaling=0.04505
wavecode_0_smoothing=0.00000
wavecode_0_r=1.000
wavecode_0_g=1.000
wavecode_0_b=1.000
wavecode_0_a=1.000
wave_0_per_point1=x = .5+.1*sample; y = .5;
wave_0_per_point2=r = 0; g = 0; b = 0; 
wavecode_1_enabled=0
wavecode_1_samples=100
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=1
wavecode_1_bDrawThick=1
wavecode_1_bAdditive=0
wavecode_1_scaling=0.89152
wavecode_1_smoothing=0.00000
wavecode_1_r=1.000
wavecode_1_g=1.000
wavecode_1_b=1.000
wavecode_1_a=0.100
wave_1_per_point1=mul = sin(time/17)*51;
wave_1_per_point2=
wave_1_per_point3=x = q5/3+.5+ + .15*sin(sample*mul);
wave_1_per_point4=y = q6/3+.5 + .15*sin(sample*32+time/13);
wavecode_2_enabled=0
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=0
wavecode_2_bDrawThick=1
wavecode_2_bAdditive=0
wavecode_2_scaling=0.89152
wavecode_2_smoothing=0.82000
wavecode_2_r=1.000
wavecode_2_g=1.000
wavecode_2_b=1.000
wavecode_2_a=0.100
wavecode_3_enabled=0
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=1
wavecode_3_bUseDots=1
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
wave_3_per_point1=ra = .8;
wave_3_per_point2=rb = .5;
wave_3_per_point3=pib = 6.28318530718;
wave_3_per_point4=
wave_3_per_point5=
wave_3_per_point6=tic = min(time-tin,.1);
wave_3_per_point7=tin = if(equal(sample,0),time,tin);
wave_3_per_point8=
wave_3_per_point9=mod = 1.5 + .5*sin(time*.15);
wave_3_per_point10=med = 1.5 + .5*sin(time*.134);
wave_3_per_point11=med = 5;
wave_3_per_point12=amod = 3;
wave_3_per_point13=
wave_3_per_point14=vr = rand(10001)*.0001;
wave_3_per_point15=rb = rb + rand(10001)*.0001*.1;
wave_3_per_point16=
wave_3_per_point17=a = vr;
wave_3_per_point18=
wave_3_per_point19=sa = vr*pib*.5;
wave_3_per_point20=sp = sa*mod + q1*1.3;
wave_3_per_point21=sam = sa*med - q1*.219;
wave_3_per_point22=
wave_3_per_point23=ox = ra*sin(sam*pib);
wave_3_per_point24=oy = ra*cos(sam*pib);
wave_3_per_point25=ox = ox + rb*-cos(sp)*sin(sam*pib);
wave_3_per_point26=oz = rb*-sin(sp);
wave_3_per_point27=oy = oy + rb*-cos(sp)*cos(sam*pib);
wave_3_per_point28=
wave_3_per_point29=
wave_3_per_point30=xang = time*.132;
wave_3_per_point31=xang = q2;
wave_3_per_point32=yang = time*.153;
wave_3_per_point33=yang = q3;
wave_3_per_point34=zang = time*.110;
wave_3_per_point35=zang = q4;
wave_3_per_point36=fov = 0.6 + 0.2*sin(time);
wave_3_per_point37=fov = .5;
wave_3_per_point38=
wave_3_per_point39=mx = ox*cos(zang) - oy*sin(zang);
wave_3_per_point40=my = ox*sin(zang) + oy*cos(zang);
wave_3_per_point41=ox = mx;
wave_3_per_point42=oy = my;
wave_3_per_point43=mx = ox*cos(yang) + oz*sin(yang);
wave_3_per_point44=mz = - ox*sin(yang) + oz*cos(yang);
wave_3_per_point45=ox = mx;
wave_3_per_point46=oz = mz;
wave_3_per_point47=my = oy*cos(xang) - oz*sin(xang);
wave_3_per_point48=mz = oy*sin(xang) + oz*cos(xang);
wave_3_per_point49=oy = my;
wave_3_per_point50=oz = mz;
wave_3_per_point51=
wave_3_per_point52=oz = oz - 2;
wave_3_per_point53=x = ox*fov/oz + 0.5;
wave_3_per_point54=x = (x-.5)*0.75 + 0.5;
wave_3_per_point55=y = oy*fov/oz + 0.5;
wave_3_per_point56=
shapecode_0_enabled=1
shapecode_0_sides=3
shapecode_0_additive=0
shapecode_0_thickOutline=1
shapecode_0_textured=0
shapecode_0_num_inst=82
shapecode_0_x=0.530
shapecode_0_y=0.500
shapecode_0_rad=0.04915
shapecode_0_ang=0.00000
shapecode_0_tex_ang=0.00000
shapecode_0_tex_zoom=1.87511
shapecode_0_r=0.000
shapecode_0_g=0.000
shapecode_0_b=0.000
shapecode_0_a=0.000
shapecode_0_r2=0.000
shapecode_0_g2=0.000
shapecode_0_b2=0.000
shapecode_0_a2=0.700
shapecode_0_border_r=1.000
shapecode_0_border_g=1.000
shapecode_0_border_b=0.000
shapecode_0_border_a=0.000
shape_0_per_frame1=x0 = sin(instance *254);
shape_0_per_frame2=y0 = sin(instance *375);
shape_0_per_frame3=
shape_0_per_frame4=x = (x0+1)/2;
shape_0_per_frame5=y = (y0+1)/2;
shape_0_per_frame6=rad = .01 + .03*sin(instance * 12);
shape_0_per_frame7=angle = sin(instance * 112)
shapecode_1_enabled=0
shapecode_1_sides=16
shapecode_1_additive=0
shapecode_1_thickOutline=1
shapecode_1_textured=0
shapecode_1_num_inst=1
shapecode_1_x=0.600
shapecode_1_y=0.800
shapecode_1_rad=0.17916
shapecode_1_ang=1.25664
shapecode_1_tex_ang=0.00000
shapecode_1_tex_zoom=2.27970
shapecode_1_r=0.000
shapecode_1_g=0.000
shapecode_1_b=0.000
shapecode_1_a=0.400
shapecode_1_r2=0.000
shapecode_1_g2=0.000
shapecode_1_b2=0.000
shapecode_1_a2=0.420
shapecode_1_border_r=1.000
shapecode_1_border_g=0.590
shapecode_1_border_b=0.000
shapecode_1_border_a=0.000
shapecode_2_enabled=0
shapecode_2_sides=4
shapecode_2_additive=0
shapecode_2_thickOutline=0
shapecode_2_textured=1
shapecode_2_num_inst=1
shapecode_2_x=0.123
shapecode_2_y=0.200
shapecode_2_rad=0.54823
shapecode_2_ang=0.00000
shapecode_2_tex_ang=0.00000
shapecode_2_tex_zoom=0.04154
shapecode_2_r=1.000
shapecode_2_g=1.000
shapecode_2_b=1.000
shapecode_2_a=1.000
shapecode_2_r2=1.000
shapecode_2_g2=1.000
shapecode_2_b2=1.000
shapecode_2_a2=0.200
shapecode_2_border_r=0.500
shapecode_2_border_g=0.500
shapecode_2_border_b=0.500
shapecode_2_border_a=0.000
shapecode_3_enabled=0
shapecode_3_sides=4
shapecode_3_additive=0
shapecode_3_thickOutline=0
shapecode_3_textured=0
shapecode_3_num_inst=1
shapecode_3_x=0.500
shapecode_3_y=0.510
shapecode_3_rad=0.19869
shapecode_3_ang=0.00000
shapecode_3_tex_ang=1.00531
shapecode_3_tex_zoom=0.49981
shapecode_3_r=1.000
shapecode_3_g=0.400
shapecode_3_b=0.000
shapecode_3_a=0.700
shapecode_3_r2=1.000
shapecode_3_g2=1.000
shapecode_3_b2=1.000
shapecode_3_a2=0.000
shapecode_3_border_r=0.500
shapecode_3_border_g=0.500
shapecode_3_border_b=0.500
shapecode_3_border_a=0.000
per_frame_init_1=proxy = 3; pos_z = proxy*100;
per_frame_init_2=movz = 0;
per_frame_init_3=avg = 0;
per_frame_init_4=avg_= 2;
per_frame_1=dec_m = pow (0.95, 30/fps); dec_s = pow (0.99, 30/fps);
per_frame_2=
per_frame_3=beat = bass+mid+treb; 
per_frame_4=avg = avg*dec_s + beat*(1-dec_s);
per_frame_5=avg_ = avg_*dec_s + avg*(1-dec_s);
per_frame_6=is_beat = above(beat, 4+avg+peak) * above (time, t0+1);
per_frame_7=t0 = is_beat*time + (1-is_beat)*t0;
per_frame_8=peak = is_beat * beat + (1-is_beat)*peak*dec_m;
per_frame_9=index = (index + is_beat) %16;
per_frame_10=//index2 = (index2 + is_beat*bnot(index))%8;
per_frame_11=q20 = avg_/3;
per_frame_12=q22 = max(0,peak-.0)+.01;
per_frame_13=q24 = is_beat;
per_frame_14=q27 = index +1;
per_frame_15=
per_frame_16=push = (avg-2.5)/3;
per_frame_17=ax = -(xang + min(max(push,-.7),.7))/3; //Divisor: 1/Frequenz
per_frame_18=
per_frame_19=ax = if (below(ax,0),ax*2,ax);
per_frame_20=vx = vx *(1-1/fps)+ ax/fps; //1/fps: Daempfung
per_frame_21=xang = xang + vx/fps; 
per_frame_22=// WINKEL
per_frame_23=zang = 0; 
per_frame_24=yang = - .5*sin(time/16); 
per_frame_25=//yang = .7;
per_frame_26=
per_frame_27=//BEWEGUNG
per_frame_28=movz= if(above(avg_/3,1.2),1,movz);
per_frame_29=movz = if(below(avg_/3,.9),-1,movz);
per_frame_30=proxy = proxy + movz/fps/4;
per_frame_31=proxy = min(max(proxy,1.1),4);
per_frame_32=proxy = 4-3*abs(sin(time/24));
per_frame_33=pos_z = dec_s * pos_z + (1-dec_s)*proxy*100;
per_frame_34=
per_frame_35=trelx = trelx + .1*sin(time/11)/fps*yang;
per_frame_36=q5 = trelx;
per_frame_37=trely = trely + min(xang*.2,.04)/fps; q6 = trely;
per_frame_38=monitor = xang;
per_frame_39=//q6 = time*.03;
per_frame_40=vleaf = vleaf + (avg/64)/fps;
per_frame_41=q29 = vleaf;
per_frame_42=lrot = lrot + bass_att/fps*.2;
per_frame_43=q32 = lrot;
per_frame_44=
per_frame_45=ox = 0; oy = 0; oz = pos_z;
per_frame_46=mx = ox*cos(zang) - oy*sin(zang);
per_frame_47=my = ox*sin(zang) + oy*cos(zang);
per_frame_48=ox = mx;oy = my;
per_frame_49=mx = ox*cos(yang) + oz*sin(yang);
per_frame_50=mz = - ox*sin(yang) + oz*cos(yang);
per_frame_51=ox = mx;oz = mz;
per_frame_52=my = oy*cos(xang) - oz*sin(xang);
per_frame_53=mz = oy*sin(xang) + oz*cos(xang);
per_frame_54=oy = my;oz = mz;
per_frame_55=q11=ox; q12 = oy; q13 = oz; //Position
per_frame_56=
per_frame_57=//Vektor x nach rechts
per_frame_58=ox = 1; oy = 0; oz = 0;
per_frame_59=mx = ox*cos(zang) - oy*sin(zang);
per_frame_60=my = ox*sin(zang) + oy*cos(zang);
per_frame_61=ox = mx;oy = my;
per_frame_62=mx = ox*cos(yang) + oz*sin(yang);
per_frame_63=mz = - ox*sin(yang) + oz*cos(yang);
per_frame_64=ox = mx;oz = mz;
per_frame_65=my = oy*cos(xang) - oz*sin(xang);
per_frame_66=mz = oy*sin(xang) + oz*cos(xang);
per_frame_67=oy = my;oz = mz;
per_frame_68=q14=ox; q15 = oy; q16 = oz;
per_frame_69=
per_frame_70=
per_frame_71=//Vektor z nach hinten
per_frame_72=ox = 0; oy = 0; oz = 1;;
per_frame_73=
per_frame_74=mx = ox*cos(zang) - oy*sin(zang);
per_frame_75=my = ox*sin(zang) + oy*cos(zang);
per_frame_76=ox = mx;oy = my;
per_frame_77=mx = ox*cos(yang) + oz*sin(yang);
per_frame_78=mz = - ox*sin(yang) + oz*cos(yang);
per_frame_79=ox = mx;oz = mz;
per_frame_80=my = oy*cos(xang) - oz*sin(xang);
per_frame_81=mz = oy*sin(xang) + oz*cos(xang);
per_frame_82=oy = my;
per_frame_83=oz = mz;
per_frame_84=q17=ox; q18 = oy; q19 = oz;
per_frame_85=
per_frame_86=q31 = 20/pos_z;
per_frame_87=q32 = pos_z;
warp_1=`sampler sampler_pw_noise_lq;
warp_2=`
warp_3=`float3 ret1, window;
warp_4=`float2 rsk, uv1, uv2, uv3, uv4, dz1, Kugel1;
warp_5=`float mask1, rad1, rill, stone;
warp_6=`static float iter6 = (rand_preset.z > .5);
warp_7=`shader_body {
warp_8=`
warp_9=`float dx = abs(.5-frac(uv.x*88))*0;
warp_10=`float dy = abs(.5-frac(uv.y*88))*1;
warp_11=`uv += float2(dx,dy)*.0;
warp_12=`
warp_13=`uv1 = float2(uv.x-.5,uv.y-0.5);
warp_14=`
warp_15=`float2 uv3 = uv1;float dist = 42.5+18*iter6;
warp_16=`uv3 = dist * uv1;
warp_17=`
warp_18=`float ky = saturate(.04-uv3.y/40);
warp_19=`float k1 = uv3.x*.8 ;;
warp_20=`
warp_21=`k1 = k1 - sign (k1)*14; //Verdoppelung
warp_22=`//k1 = k1 - sign (k1)*11; //Verdoppelung
warp_23=`k1 = k1 - sign (k1)*(2+rand_preset.y*8); //Verdoppelung
warp_24=`
warp_25=`float ff = 16 + 16*rand_preset.z;
warp_26=`int n = 1 ;
warp_27=`float delta = .1;
warp_28=`while (n <= 4+2*iter6) 
warp_29=`{
warp_30=`  k1 += (-ff*n*sign(k1))*ky*ky;
warp_31=`  ky = saturate (ky - delta);
warp_32=`  delta *= 1;
warp_33=`  n++; 
warp_34=`}
warp_35=`float k2 = k1;
warp_36=`k1 = clamp(k1,-1.57,1.57);
warp_37=`stone = saturate(cos(k1)-.02);
warp_38=`
warp_39=`rill = (rand_preset-.5)*(cos(8*k2))*stone;
warp_40=`
warp_41=`ret1 = pow(stone,1)*float3(1,.86,.74)+rill/2;
warp_42=`float noise = tex2D (sampler_noise_lq,uv/8);
warp_43=`noise *= (noise <= .2)*2;
warp_44=`ret = max(ret1,0*(GetPixel((uv_orig+float2(.5,.5)))-.1)) - noise;
warp_45=`}
comp_1=`sampler sampler_pw_noise_lq;
comp_2=`static float quality = 2, depth = q31;
comp_3=`float3 neu, rsl, rsl2, rsl3, ret1, screen3, back,lcol, sky;
comp_4=`float2 uv0, uv1, uv2, uv4;
comp_5=`float  lprof,lprof2,m,n,dist,cloud,mask, shadow, mask1,lmask,leaves,clshadow,gmask;
comp_6=`static float lav_gnd = 0;
comp_7=`static const float anz = 3;
comp_8=`static float2 mov = float2 (q5,q6);
comp_9=`
comp_10=`static float3 t = float3(q14,q15,q16);
comp_11=`static float3 s = float3(q17,q18,q19);
comp_12=`static float3 ts = -cross(s,t);
comp_13=`static float3 pos = float3 (q11,q12,q13);
comp_14=`
comp_15=`float3 project (float3 pos, float dist) {
comp_16=`  float z; 
comp_17=`  z = dist/mul(cross(ts,-t),screen3) *(1-lav_gnd);
comp_18=`  gmask = (z <= 0)*(z >= -8); 
comp_19=`  return gmask* float3(mul(float2x3(ts,t),cross(pos,screen3))*z/256,-z);}
comp_20=`
comp_21=`float3 lproject (float3 pos, float dist) {
comp_22=`  float z; 
comp_23=`  z = dist/mul(cross(ts,-t),screen3) *(1-lav_gnd) ;
comp_24=`  return (z<=0)*(z>=-4)* float3(mul(float2x3(ts,t),cross(pos,screen3))*z/256,-z);}
comp_25=`
comp_26=`float noise2 (float2 uvi)
comp_27=`{return 1*(tex2D (sampler_noise_hq,uvi) + 0*tex2D (sampler_noise_hq,uvi*4)/4);}
comp_28=`
comp_29=`shader_body {uv0 = uv;
comp_30=`screen3 = float3 ((uv-.5)*aspect.xy,1);//wirkt wie zoom / Tele ###
comp_31=`
comp_32=`//*****leaves**********
comp_33=`lav_gnd = tex2D (sampler_noise_hq,uv)*.03;
comp_34=`rsl3 = lproject(pos,1.5) + float3 (q29,-time/118,0) + float3 (mov,0);
comp_35=`float glmask = tex2D (sampler_pw_noise_lq,rsl3.x*.01) >= .4;
comp_36=`uv2 = rsl3.xy*16;
comp_37=`uv2.y += tex2D (sampler_pw_noise_lq,uv2.x/256).g*-2*time;
comp_38=`float3 noise = 8*tex2D (sampler_pw_noise_lq,uv2/256);
comp_39=`lmask = noise.g >= 7.; lmask *= glmask;
comp_40=`uv2 = frac(uv2);
comp_41=`float lside = sin((noise.b-8)*2*time+q32);
comp_42=`float lsize = 3*(noise.g-6);
comp_43=`leaves = lmask*lsize *(3+frac(4*uv2.x/uv2.y))/4
comp_44=`        -26*length((uv2-.5)*float2(1,2/lside));
comp_45=`lcol = (1+tex2D (sampler_noise_hq,uv2/8+noise))* float3 (.8+lside/4,.5,0);;
comp_46=`lcol -= tex2D (sampler_noise_hq,uv2+noise).r*.25;
comp_47=`leaves = saturate(leaves);
comp_48=`
comp_49=`//**** main part ******
comp_50=`lav_gnd = 0;
comp_51=`rsl = project (pos, 1)+float3 (time*.006,.6,0);
comp_52=`back = saturate(1-rsl.y);
comp_53=`cloud = saturate(noise2(rsl.xy/8*float2(1,4))-.4)*saturate(.5+back);
comp_54=`back *= float3(.7,.77,.96);
comp_55=`sky = lerp(back,2*cloud,cloud/2);
comp_56=`//sky = back;
comp_57=`//sky = back + cloud/4;
comp_58=`ret1 = sky;
comp_59=`lprof2 = 0;
comp_60=`for (n=anz; n >= 1; n--) {
comp_61=`  dist = (n); lav_gnd = 0;  mov += n/anz;
comp_62=`  for (m=1; m <= quality; m++) {
comp_63=`    rsl = project (pos, dist)+float3 (mov,0);
comp_64=`    lprof =  .5-lum(GetBlur1(frac(rsl.xy))); //mittelwert null !#
comp_65=`    lav_gnd -= lprof/quality*depth/rsl.z; 
comp_66=`  }
comp_67=`
comp_68=`  rsl = project (pos, dist)+float3 (mov,0) ; 
comp_69=`  rsl2 = project (pos, dist*.8)+float3 (mov+time*.003,0); 
comp_70=`  int first = (n==1);
comp_71=`  if (!first) {shadow = saturate(4*GetPixel(frac(rsl2.xy))) ;}
comp_72=`  neu = GetPixel(frac(rsl.xy));
comp_73=`  float  dista = length(rsl.xy)*.001;
comp_74=`  mask = saturate(16/dist*lum(neu))*gmask;
comp_75=`  neu *= 1-.5*lum(tex2D (sampler_noise_lq,rsl.xy*4));
comp_76=`  clshadow = clamp (q20*1.6-noise2(rsl.xy*float2(.02,.1)+float2(time*.01,0)),.2,1);
comp_77=`  neu *= (1-shadow*.5* (!first))*clshadow;
comp_78=`
comp_79=`//  neu *= saturate(noise2(rsl.xy/16+time*.01)+q20-.5+0*(rsl.z)) ; // Abdunkelung hinten
comp_80=`  neu = lerp(back, neu, saturate(5-rsl.z)); //Nebel
comp_81=`    ret1 = lerp(ret1,neu,mask) ;
comp_82=`}
comp_83=`
comp_84=`rsl = project (pos, dist)+float3 (mov+lprof/2,0); 
comp_85=`
comp_86=`ret1 = lerp(ret1,leaves*(1-shadow/2)*clshadow*lcol, leaves*.5*saturate(!mask));
comp_87=`//ret1 *= clshadow;
comp_88=`//ret = 1-exp(-ret1*2+.1) ;
comp_89=`ret = ret1;
comp_90=`
comp_91=`//ret = GetPixel(uv0);
comp_92=`}
comp_93=`
comp_94=`written by martin
comp_95=`END
