私はゲーム(d3d9)(最終的にはGUIの一部になる)の上に部分的に透明な矩形をレンダリングしています。この矩形の背後にあるコンテンツをぼかしたいと思います。私は、シェーダで行うのが最善の方法だと理解していますが、それは基本的に私が知っている範囲です。私が見つけた実装の多くは、私が必要とするはずのものよりはるかに複雑に見えるか、またはイメージをぼかしていますが、私はすでに描画されているものをぼかしています。同様の質問がC#のhereに聞かれましたが、かなり曖昧な回答がありました。DirectXでガウスぼかしを実装する方法は?
0
A
答えて
0
ぼかしするオブジェクトを画面に描画するのではなく、レンダーターゲットとしてバインドされているテクスチャに描画します。次に、そのテクスチャを計算シェーダにバインドし、ぼかし結果を他のテクスチャに保存します。次に、ぼやけた最終結果を「フルスクリーンクワッド」(基本的に2d rect)で描画して、画面全体をカバーし、シーンテクスチャを描画します。 This articleは2003年のものなので、ソースコードは役に立たないかもしれませんが、基本的な考え方を網羅しています。