MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=4.0
fGammaAdj=1.0
fDecay=0.980
fVideoEchoZoom=2.0
fVideoEchoAlpha=0.0
nVideoEchoOrientation=0
nWaveMode=7
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=8.2
fWaveScale=3.228
fWaveSmoothing=0.9
fWaveParam=0.0
fModWaveAlphaStart=1.050
fModWaveAlphaEnd=1.650
fWarpAnimSpeed=1.0
fWarpScale=1.0
fZoomExponent=1.0
fShader=0.0
zoom=1.02500
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.01605
sx=1.0
sy=1.0
wave_r=0.8
wave_g=0.8
wave_b=0.8
wave_x=0.5
wave_y=0.5
ob_size=0.010
ob_r=0.0
ob_g=0.0
ob_b=0.0
ob_a=0.0
ib_size=0.010
ib_r=0.250
ib_g=0.250
ib_b=0.250
ib_a=0.0
nMotionVectorsX=12.0
nMotionVectorsY=9.0
mv_dx=0.0
mv_dy=0.0
mv_l=0.9
mv_r=1.0
mv_g=1.0
mv_b=1.0
mv_a=0.0
b1n=0.0
b2n=0.0
b3n=0.0
b1x=1.0
b2x=1.0
b3x=1.0
b1ed=0.250
wavecode_0_enabled=0
wavecode_0_samples=512
wavecode_0_sep=0
wavecode_0_bSpectrum=0
wavecode_0_bUseDots=0
wavecode_0_bDrawThick=0
wavecode_0_bAdditive=0
wavecode_0_scaling=1.0
wavecode_0_smoothing=0.5
wavecode_0_r=1.0
wavecode_0_g=1.0
wavecode_0_b=1.0
wavecode_0_a=1.0
wavecode_1_enabled=0
wavecode_1_samples=512
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=0
wavecode_1_bDrawThick=0
wavecode_1_bAdditive=0
wavecode_1_scaling=1.0
wavecode_1_smoothing=0.5
wavecode_1_r=1.0
wavecode_1_g=1.0
wavecode_1_b=1.0
wavecode_1_a=1.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.0
wavecode_2_smoothing=0.5
wavecode_2_r=1.0
wavecode_2_g=1.0
wavecode_2_b=1.0
wavecode_2_a=1.0
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.0
wavecode_3_smoothing=0.5
wavecode_3_r=1.0
wavecode_3_g=1.0
wavecode_3_b=1.0
wavecode_3_a=1.0
shapecode_0_enabled=0
shapecode_0_sides=4
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=0
shapecode_0_num_inst=1
shapecode_0_x=0.5
shapecode_0_y=0.5
shapecode_0_rad=0.1
shapecode_0_ang=0.0
shapecode_0_tex_ang=0.0
shapecode_0_tex_zoom=1.0
shapecode_0_r=1.0
shapecode_0_g=0.0
shapecode_0_b=0.0
shapecode_0_a=1.0
shapecode_0_r2=0.0
shapecode_0_g2=1.0
shapecode_0_b2=0.0
shapecode_0_a2=0.0
shapecode_0_border_r=1.0
shapecode_0_border_g=1.0
shapecode_0_border_b=1.0
shapecode_0_border_a=0.1
shapecode_1_enabled=0
shapecode_1_sides=4
shapecode_1_additive=0
shapecode_1_thickOutline=0
shapecode_1_textured=0
shapecode_1_num_inst=1
shapecode_1_x=0.5
shapecode_1_y=0.5
shapecode_1_rad=0.1
shapecode_1_ang=0.0
shapecode_1_tex_ang=0.0
shapecode_1_tex_zoom=1.0
shapecode_1_r=1.0
shapecode_1_g=0.0
shapecode_1_b=0.0
shapecode_1_a=1.0
shapecode_1_r2=0.0
shapecode_1_g2=1.0
shapecode_1_b2=0.0
shapecode_1_a2=0.0
shapecode_1_border_r=1.0
shapecode_1_border_g=1.0
shapecode_1_border_b=1.0
shapecode_1_border_a=0.1
shapecode_2_enabled=0
shapecode_2_sides=4
shapecode_2_additive=0
shapecode_2_thickOutline=0
shapecode_2_textured=0
shapecode_2_num_inst=1
shapecode_2_x=0.5
shapecode_2_y=0.5
shapecode_2_rad=0.1
shapecode_2_ang=0.0
shapecode_2_tex_ang=0.0
shapecode_2_tex_zoom=1.0
shapecode_2_r=1.0
shapecode_2_g=0.0
shapecode_2_b=0.0
shapecode_2_a=1.0
shapecode_2_r2=0.0
shapecode_2_g2=1.0
shapecode_2_b2=0.0
shapecode_2_a2=0.0
shapecode_2_border_r=1.0
shapecode_2_border_g=1.0
shapecode_2_border_b=1.0
shapecode_2_border_a=0.1
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.5
shapecode_3_y=0.5
shapecode_3_rad=0.1
shapecode_3_ang=0.0
shapecode_3_tex_ang=0.0
shapecode_3_tex_zoom=1.0
shapecode_3_r=1.0
shapecode_3_g=0.0
shapecode_3_b=0.0
shapecode_3_a=1.0
shapecode_3_r2=0.0
shapecode_3_g2=1.0
shapecode_3_b2=0.0
shapecode_3_a2=0.0
shapecode_3_border_r=1.0
shapecode_3_border_g=1.0
shapecode_3_border_b=1.0
shapecode_3_border_a=0.1
per_frame_1=wave_r = wave_r + 0.300*( 0.90*sin(1.753*time+0) + 0.40*sin(1.315*time+1) );
per_frame_2=wave_g = wave_g + 0.300*( 0.90*sin(2.883*time+3) + 0.40*sin(1.006*time+4) );
per_frame_3=wave_b = wave_b + 0.300*( 0.90*sin(1.393*time+5) + 0.40*sin(2.733*time+2) );
per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) );
per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) );
per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) );
per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) );
per_frame_8=dx = dx + 0.001*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) );
per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834));
per_frame_10=dx=dx+0.001*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334));
per_frame_11=dy=dy+0.001*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334));
warp_1=`shader_body
warp_2=`{
warp_3=`    // sample previous frame
warp_4=`    ret = tex2D( sampler_main, uv ).xyz;
warp_5=`
warp_6=`    // this vector points exactly one pixel, in the direction of motion
warp_7=`    float2 v = normalize(uv-uv_orig)*texsize.zw;
warp_8=`
warp_9=`    float3 s;
warp_10=`    ret = max(ret, tex2D(sampler_main, uv+v)*0.98);
warp_11=`    ret = max(ret, tex2D(sampler_main, uv-v)*0.98);
warp_12=`    ret = max(ret, tex2D(sampler_main, uv+v*2)*0.95);
warp_13=`    ret = max(ret, tex2D(sampler_main, uv-v*2)*0.95);
warp_14=`
warp_15=`    // darken over time
warp_16=`    ret *= 0.99;
warp_17=`
warp_18=`    // add noise
warp_19=`    //float2 uv_noise = uv*texsize_noise_lq.zw*texsize.xy + rand_frame.xy;
warp_20=`    //ret += (tex2D(sampler_noise_lq, uv_noise)*2-1)*0.02;
warp_21=`}
comp_1=`shader_body
comp_2=`{
comp_3=`    float2 uv2;
comp_4=`
comp_5=`    // the weights of the 4 height value frequencies:
comp_6=`    float4 c = float4(1,0,0,0);
comp_7=`
comp_8=`    uv2 = uv + float2(1,0)*texsize.zw;
comp_9=`    float gx1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w;
comp_10=`    uv2 = uv + float2(-1,0)*texsize.zw;
comp_11=`    float gx2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w;
comp_12=`
comp_13=`    uv2 = uv + float2(0,1)*texsize.zw;
comp_14=`    float gy1 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w;
comp_15=`    uv2 = uv + float2(0,-1)*texsize.zw;
comp_16=`    float gy2 = GetPixel(uv2).x*c.x + GetBlur1(uv2).x*c.y + GetBlur2(uv2).x*c.z + GetBlur3(uv2).x*c.w;
comp_17=`
comp_18=`    // compute gradient vector:
comp_19=`    float3 g = normalize(float3(gx1-gx2, gy1-gy2, 0.1));
comp_20=`
comp_21=`    // hacked default lighting from it:
comp_22=`    float3 dir1 = normalize(float3(0.3,-0.13,0.05));
comp_23=`    float3 col1 = float3(1.3,0.9,0.6)*1.5;
comp_24=`    float3 dir2 = normalize(float3(-0.2,0.3,0.01));
comp_25=`    float3 col2 = float3(0.5,0.7,0.55)*1;
comp_26=`    ret = col1 * saturate(dot(g,dir1)) + col2*saturate(dot(g,dir2));
comp_27=`
comp_28=`}
