diff --git a/src/libprojectM/Renderer/blur.cg b/src/libprojectM/Renderer/blur.cg deleted file mode 100644 index f641eb69a..000000000 --- a/src/libprojectM/Renderer/blur.cg +++ /dev/null @@ -1,151 +0,0 @@ -struct outtype {float4 color : COLOR;}; - -uniform float4 srctexsize; - -outtype blur1(float2 uv : TEXCOORD0, uniform sampler2D sampler_blur : TEX0) -{ -float2 uv2 = uv.xy + srctexsize.zw*float2(1,1); - -float d=.00175; - -float3 val = tex2D(sampler_blur, float2(uv.x-d, uv.y)).xyz; -val += tex2D(sampler_blur, float2(uv.x+d, uv.y)).xyz; -val += tex2D(sampler_blur, float2(uv.x, uv.y + d)).xyz; -val += tex2D(sampler_blur, float2(uv.x, uv.y - d)).xyz; - -float3 val2 = tex2D(sampler_blur, float2(uv.x-d, uv.y -d)).xyz; -val += tex2D(sampler_blur, float2(uv.x-d, uv.y +d)).xyz; -val += tex2D(sampler_blur, float2(uv.x+d, uv.y + d)).xyz; -val += tex2D(sampler_blur, float2(uv.x +d, uv.y - d)).xyz; - -outtype OUT; -val *= 0.65; -val2 *= 0.35; - -OUT.color.xyz = val* 0.25 + val2 * 0.25; -OUT.color.w = 1; -return OUT; -} - -outtype blur2(float2 uv : TEXCOORD0, uniform sampler2D sampler_blur : TEX0) -{ -float2 uv2 = uv.xy + srctexsize.zw*float2(1,0); - -float d = srctexsize.z; -d=.0015; - -float3 val = tex2D(sampler_blur, float2(uv.x-d, uv.y)).xyz; -val += tex2D(sampler_blur, float2(uv.x+d, uv.y)).xyz; -val += tex2D(sampler_blur, float2(uv.x, uv.y + d)).xyz; -val += tex2D(sampler_blur, float2(uv.x, uv.y - d)).xyz; - -val *= 0.25; - -float t = min( min(uv.x, uv.y), 1-max(uv.x,uv.y) ); -t = sqrt(t); - -float minimum = 0.5; -float variance = 0.5; -float size = 50; - -t = minimum + variance*saturate(t*size); -t = 1; -val.xyz *= t; - -outtype OUT; -OUT.color.xyz = val; -OUT.color.w = 1; -return OUT; -} - -outtype blurHoriz(float2 uv : TEXCOORD0, uniform sampler2D sampler_blur : TEX0) -{ - - // LONG HORIZ. PASS 1: - const float w[8] = { 4.0, 3.8, 3.5, 2.9, 1.9, 1.2, 0.7, 0.3 }; - const float w1 = w[0] + w[1]; - const float w2 = w[2] + w[3]; - const float w3 = w[4] + w[5]; - const float w4 = w[6] + w[7]; - const float d1 = 0 + 2*w[1]/w1; - const float d2 = 2 + 2*w[3]/w2; - const float d3 = 4 + 2*w[5]/w3; - const float d4 = 6 + 2*w[7]/w4; - const float w_div = 0.5/(w1+w2+w3+w4); - -float fscale = 1; -float fbias = 0; - - - // note: if you just take one sample at exactly uv.xy, you get an avg of 4 pixels. - //float2 uv2 = uv.xy;// + srctexsize.zw*float2(0.5,0.5); - float2 uv2 = uv.xy + srctexsize.zw*float2(1,1); // + moves blur UP, LEFT by 1-pixel increments - - float3 blur = - ( tex2D( sampler_blur, uv2 + float2( d1*srctexsize.z,0) ).xyz - + tex2D( sampler_blur, uv2 + float2(-d1*srctexsize.z,0) ).xyz)*w1 + - ( tex2D( sampler_blur, uv2 + float2( d2*srctexsize.z,0) ).xyz - + tex2D( sampler_blur, uv2 + float2(-d2*srctexsize.z,0) ).xyz)*w2 + - ( tex2D( sampler_blur, uv2 + float2( d3*srctexsize.z,0) ).xyz - + tex2D( sampler_blur, uv2 + float2(-d3*srctexsize.z,0) ).xyz)*w3 + - ( tex2D( sampler_blur, uv2 + float2( d4*srctexsize.z,0) ).xyz - + tex2D( sampler_blur, uv2 + float2(-d4*srctexsize.z,0) ).xyz)*w4 - ; - blur.xyz *= w_div; - - blur.xyz = blur.xyz*fscale + fbias; - - outtype OUT; - OUT.color.xyz = blur; - OUT.color.w = 1; - -return OUT; -} - -outtype blurVert(float2 uv : TEXCOORD0, uniform sampler2D sampler_blur : TEX0) -{ - //SHORT VERTICAL PASS 2: - - - const float w[8] = { 4.0, 3.8, 3.5, 2.9, 1.9, 1.2, 0.7, 0.3 }; - - const float w1 = w[0]+w[1] + w[2]+w[3]; - const float w2 = w[4]+w[5] + w[6]+w[7]; - const float d1 = 0 + 2*((w[2]+w[3])/w1); - const float d2 = 2 + 2*((w[6]+w[7])/w2); - const float w_div = 1.0/((w1+w2)*2); - - - - // note: if you just take one sample at exactly uv.xy, you get an avg of 4 pixels. - //float2 uv2 = uv.xy;// + srctexsize.zw*float2(-0.5,-0.5); - float2 uv2 = uv.xy + srctexsize.zw*float2(1,0); // + moves blur UP, LEFT by TWO-pixel increments! (since texture is 1/2 the size of blur1_ps) - - float3 blur = - ( tex2D( sampler_blur, uv2 + float2(0, d1*srctexsize.w) ).xyz - + tex2D( sampler_blur, uv2 + float2(0,-d1*srctexsize.w) ).xyz)*w1 + - ( tex2D( sampler_blur, uv2 + float2(0, d2*srctexsize.w) ).xyz - + tex2D( sampler_blur, uv2 + float2(0,-d2*srctexsize.w) ).xyz)*w2 - ; - blur.xyz *= w_div; - - // tone it down at the edges: (only happens on 1st X pass!) - float t = min( min(uv.x, uv.y), 1-max(uv.x,uv.y) ); - - float minimum = 0.5; - float variance = 0.5; - float size = 50; - - - blur.xyz *= t; - - t = sqrt(t); - t = minimum + variance*saturate(t*size); - t=1; - blur.xyz *= t; - -outtype OUT; -OUT.color.xyz = blur; -OUT.color.w = 1; -return OUT; -}