float time = 0; sampler2D image : register(s0); float4 main( float4 Pos : POSITION, float2 texCoord: TEXCOORD0) : COLOR { float4 img = tex2D(image, texCoord); // convert to gray float4 sum = dot(img, float4(0.30f, 0.59f, 0.11f, 0.0f)); sum.a = img.a; // keep alpha return sum; }