WPF・Silverlightでもピクセルシェーダーが使えます。Direct3DではピクセルシェーダーはGPU上で動作し、頂点シェーダーと組み合わせて頂点からラスタ化されたピクセル(サブピクセル)とテクスチャなどを処理しますが、WPF・Silverlightで使われるピクセルシェーダーはUIElementに適用する画像処理です。WPFのピクセルシェーダーはGPUで、SilverlightのピクセルシェーダーはCPUで動作します。 ピクセルシェーダーとは単純に言うと各ピクセルの色を出力するプログラムです。次のピクセルシェーダーでは全てのピクセルに赤を出力します(returnで返します)。
ピクセルシェーダーはピクセル単位で全ピクセルを処理するので、条件分岐すれば出力色を変えることができます。次の例では、元のUIElementの範囲(中央より上下左右)によって出力する色を変えています。uvは現在処理しているピクセルの相対座標を示す変数で、tex2DはUIElement(レジスタS0に割り当てられている)の色を取得するメソッドです。
ピク...

まだコメントはありません。最初のコメントを登録してみませんか?