2016-04-28 8 views
0

Direct2D用のピクセルシェーダを作成しました。これは、アルファチャンネルが1.0より小さいエッジに沿ってぼかします。 ピクセルごとに、ピクセルの上下左右のピクセルをblurRadiusでサンプリングします。中央(垂直方向と水平方向)にはレンダリングエラーが発生します。これらは、私が処理しているピクセルのピクセルだけをサンプリングするときに消えてしまいます。私は自分の入力イメージ(サイズ1920x1080)が細かく切り詰められていると思います。 私の前提が正しければ何をするのか、誰かが何が起こっているのか分かりませんか?結果のイメージについては以下を参照してください。暗い線はそこにあるはずではなく、左または上の周囲のピクセルのみをサンプリングすると消えます。Direct2Dのピクセルシェーダが真ん中に沿ってレンダリングエラー

Alpha blur errors

答えて

0

私は最終的にこれを固定し、私は、これは他の人を助けることができると思います。 出力サイズとは異なる入力サイズを使用しているときにのみ問題が発生していることがわかりました。私は、hereというマイクロソフトのサンプルエフェクトに基づいてエフェクトを作成しました。この問題は、pInputRects[0]pOutputRectに、MapOutputRectToInputRectsにマッピングしていることが原因です。これは何らかの形で実際にサンプリングを混乱させる。修正はpInputRects[0]MapInputRectsToOutputRect機能からpInputRects[0]に設定することです。

関連する問題