私自身の試行錯誤の経験から、DirectXピクセルシェーダは、DirectXでレンダリングされた幾何学プリミティブの範囲内にあるピクセル/フラグメントに対してのみ実行され、フレームのピクセルに対しては実行されないようですクリアカラー。WPFピクセルシェーダのようなフレームの各ピクセルでDirectXピクセルシェーダが動作しますか?
ピクセルシェーダが頂点シェーダと協調して動作します。頂点シェーダの出力はピクセルシェーダの入力を提供します。これは、WPFは3Dプリミティブをレンダリングしていないため、フレームの画素毎に実行され、したがって、それは、幾何学的プリミティブピクセルであることの意味を知っているか気にしないWPFのピクセルシェーダとは対照的である
またはクリアカラーピクセルである。
次の画像では、DirectXピクセルシェーダは、頂点シェーダによる幾何学的プリミティブ出力に対応するため、黒色領域ではないため、白領域でのみ実行されます。一方、WPFピクセルシェーダは、フレームのすべてのピクセル(白と黒の両方)に対して実行されます。
は、この理解は正しいですか?
私の大学のコース(2年前)から、頂点シェーダーとピクセルシェーダーの両方が正しく記憶されていると思います。頂点シェーダに渡してからピクセルシェーダに渡すので、その部分ではそのジオメトリのピクセルだけにエフェクトを適用します。ピクセルシェーダでシーン全体に効果を持たせたい場合は、シーン全体をテクスチャに渡します。だから、もしあなたがそれについて考えるなら、あなたはこの場合正方形の幾何学を渡します。 – Sam