"float one_x = 1.0 / IN.texture_size.x;\n"
"float3 signal = float3(0.0);\n"
"for (int i = 0; i < TAPS; i++)\n"
"{\n"
"   float offset = float(i);\n"
"\n"
"   float3 sums = fetch_offset(offset - float(TAPS), one_x) +\n"
"      fetch_offset(float(TAPS) - offset, one_x);\n"
"\n"
"   signal += sums * float3(luma_filter[i], chroma_filter[i], chroma_filter[i]);\n"
"}\n"
"signal += tex2D(s0, vertex.tex).xyz *\n"
"   float3(luma_filter[TAPS], chroma_filter[TAPS], chroma_filter[TAPS]);\n"
"\n"

