你好，这一段代码的34行提示“float expected”，请帮我修改一下：float4 x1, x2, y1, y2;

#define THRESHOLD (0.33/255)

bool unequal(inout float4 test, in float3 from, in float3 to)
{
    if (distance(test.rgb, from) < THRESHOLD) {
        test.rgb = to;
        return false;
    }
    else {
        return true;
    }
}

float4 pass_0(in float2 In : TEXCOORD0) : COLOR0
{
    float4 o = tex2D(img,In);
    return o;
}

float4 pass_1(in float2 In : TEXCOORD0) : COLOR0
{
    float4 o = tex2D(img,In);

   if (In.x < x1 || In.y < y1 || In.x > x2 || In.y > y2) {
       o.a = 0.0;
   }
   else if (unequal(o, from1.rgb, to1.rgb) &&
       unequal(o, from2.rgb, to2.rgb) &&
       unequal(o, from3.rgb, to3.rgb) &&
       unequal(o, from4.rgb, to4.rgb) &&
       unequal(o, from5.rgb, to5.rgb)) {
        o.a = 0.0;
   }

return o;
}



technique tech_main {
    pass { PixelShader = compile ps_2_0 pass_0(); }
    pass { PixelShader = compile ps_2_0 pass_1(); }
}