シェーダーに畳み込み行列を使用してガウスぼかしを実装しようとしています。
これは私が持っているコードです:
float4 ppPS(float2 uv : TEXCOORD0, uniform sampler2D t1) : COLOR {
//kernel matrix
float3x3 kernel={1*(1/16),2*(1/16),1*(1/16),
2*(1/16),4*(1/16),2*(1/16),
1*(1/16),2*(1/16),1*(1/16)
};
int x,y;
float2 sum = 0;
for (x = -1; x <= 1; x++)
{
for (y = -1; y <= 1; y++)
{
float2 fl;
fl.x = uv.x+x;
fl.y = uv.y+y;
sum += (fl)*(kernel[x+1][y+1]);
}
}
return tex2D(t1, sum);
}
しかし、何らかの理由で、すべて 1 つの単色で画像が表示されます。
ぼかしのない画像は次のとおりです。
いわゆるぼかしのある画像は次のとおりです。
私はここで何が間違っているのか考えていますか?