1

私は、GLES 3 を使用するアプリケーションでレンダリングからテクスチャへのアプローチを実装しようとしてきましたが、動作しましたが、フレーム レートの低下に少しがっかりしています。

これまでのところ、EGL_SAMPLES=8 を使用して作成されたマルチサンプリング FBO であるメイン FBO に直接レンダリングしてきました。

私が基本的に望んでいるのは、まだ描画している間に、既に描画されているピクセルを保持できるようにすることです。だから私はテクスチャへのレンダリングアプローチがそれを行うべきだと考えました。次に、必要なときにオフスクリーン FBO のテクスチャのセクションを読み取り、レンダリングが完了したら、すべてをメイン FBO にブリットします。

これを掘り下げると、マルチサンプル FBO と、マルチサンプル FBO を解決しなければならない非マルチサンプル テクスチャ FBO を備えたシステムを実装する必要があることがわかりました。次に、解決済みをメインの FBO にブリットします。

これはすべて機能しますが、問題は、上記のシステムとマルチサンプリングされていないメイン FBO (EGL_SAMPLES=0) を使用すると、EGL_SAMPLES= でメイン FBO のみを使用した場合に得られるフレーム レートと比較して、フレーム レートが大幅に低下することです。 8.

これをもう少し掘り下げると、オンラインで報告している人々と、マルチサンプリングへの最速のアプローチは EGL_SAMPLES を使用することであると書かれているhttps://community.arm.com/thread/6925の投稿を見つけました。実際、ターゲット ボードである jetson tk1 でも同じように見えます。

これが最終的に私を質問に導き、長い紹介をお詫びします:

EGL_SAMPLES を使用するメインのマルチサンプル FBO に最終的にブリットされるすべてのレンダリングに非マルチサンプルのオフスクリーン fbo を使用するように設計できる方法はありますか?

4

2 に答える 2

0

EGL_SAMPLES を使用するメインのマルチサンプル FBO に最終的にブリットされるすべてのレンダリングに、非マルチサンプルのオフスクリーン fbo を使用するようにこれを設計できる方法はありますか?

本当に役立つものではありません。

フレームバッファ ブリッティングでは、単一サンプル バッファからマルチサンプル バッファへのブリットが可能です。ただし、ピクセル内のすべてのサンプルにソースからの値と同じ値を与えるだけです。

ブリッティングでは新しい情報を生成できません。したがって、実際のアンチエイリアシングは得られません。得られるのは、はるかに効率の悪い方法で保存された同じデータだけです。

于 2016-12-04T02:57:21.400 に答える