WPF TextBlockに適用したいシェーダがあります。しかし、私のシェーダは、常にテキストの境界ボックスに等しいテクスチャに限られているようです。結果として、バウンディングボックスの外側のピクセルにアクセスすることはできません(例えば、大きなボーダーやカラーエフェクトを追加するなど)。シェーダを適用する前に、XAMLまたはC#のいずれかで境界ボックスを増やそうとしたすべてが失敗しました。WPFのサイズシェーダで使用されるテキストブロックのサイズを変更できません
この図は、シンプルな青色のオーバーレイシェーダをテキストに適用した場合の効果を示しています。これは、境界ボックスの範囲と、シェーダがアクセスできるピクセルを示します。だから問題は実際にシェーダを呼び出す前にテキストの境界ボックスを拡張する方法ですか?私は以下単にシェーダコード含ま
...誰かが前にこの問題を完了しているホープ:
sampler2D texSampler : register(S0);
float threshold : register (C0);
float4 txtColor : register (C1);
float4 main(float2 uv : TEXCOORD) : COLOR
{
float4 color = tex2D(texSampler, uv);
color.r = txtColor[0];
color.g = txtColor[1];
color.b = txtColor[2];
return color;
}