2

HLSLを理解しようとしています...テクスチャカラーをフェッチする特定のピクセルを指定する方法を理解していますが、これは色合いを無視しCOLOR0、関数の入力として使用して、ピクセルの色合いを取得できます。私が知る限りCOLORCOORD0、周囲のピクセルの色合いをつかむことができるように呼び出されると想定していた、ある種のプロパティにアクセスすることはできません。

関数が現在処理しているピクセル以外のピクセルからどのように色合いを取得しますか?

また、x座標とy座標はどの単位を使用しますか?私が正しく覚えていれば、ずっと前に読んだことを覚えています。それ{0f, 0f}はウィンドウの中央であり、{-1f, -1f}左上隅であり{1f, 1f}、右下隅です。これは正しいです?これは、シェーダーが使用するゲームウィンドウのサイズに応じて、シェーダーが人によって異なることを意味しますか?

4

2 に答える 2

1

XNA Bloom Sampleは、ぼかしを行う方法の良い例です。

基本的に、シーンをレンダー ターゲットにレンダリングします。マルチタップ ブラー シェーダーを介して一方向 (水平または垂直) に別のターゲットにバウンスし、次にブラー シェーダーを介して別の方向に画面に描画します。

また、バイリニア フィルタリングを使用して半分のサイズにダウンサンプリングしてからアップサンプリングすることで、テクスチャ サンプルを追加することなく追加のブラーを得ることができます。

于 2012-09-04T05:41:18.503 に答える
1

最初に (ぼやけていない) シーンをテクスチャにレンダリングする必要があります。次に、ぼやけたシーンを描画するには、そのテクスチャ内の周囲のポイントから値を調べて、これを実行できるようにします。

(提案されたとおりに回答に移動しました)。

于 2012-09-04T08:21:44.130 に答える