3

ブルーム/グロー効果の背後にある考え方を理解しています。テクスチャをダウンサンプリングして、畳み込みカーネルを小さく保ちます。実装しようとしている今、どの道を進むべきかよくわかりません。

私の最初のアイデアは、ダウンサンプリングを行うために使用glGenerateMipMapすることでした。ただし、たとえば 4 ステップ後に停止するように指示することはできません。これは私にとってはちょっとしたブラック ボックスであり、私の知る限り、1024*768 から 1*1 までの画面をサンプリングするために 10 個の画像を生成する可能性があります。すべてがすでに非常に小さいため、これらの最後のステップは安価かもしれませんが、そうではないかもしれません。

グーグルで検索したところ、多くの人が .com ではなく FBO に依存していることがわかりましたglGenerateMipMap。私はディファード ライティングを使用しているので、FBO に精通しています。私の 2 番目のアイデアは、線形サンプラーを使用して「クワッド」をより小さなテクスチャに単純にレンダリングすることです。これを 4 回続けて行い、毎回幅と高さを半分にします。ただし、ダウンサンプリングに依存するよりも独自のフラグメントシェーダーを使用することを好む人もいることを発見しました。多分それは速いですか?GL_LINEAR

フルスクリーン テクスチャを 4 回連続してすばやくダウンサンプリングし、各バージョンを維持するにはどうすればよいでしょうか? とにかくすべてをぼかすつもりなので、凝ったエッジ保存サンプリング アルゴリズムは必要ありません。

4

1 に答える 1