1

OpenGL プログラムに複数のカラー アタッチメントを持つフレーム バッファ オブジェクトがあり、それをマルチサンプル FBO にアップグレードしようとしています。

私が理解しているように、マルチサンプリングされた FBO はレンダー バッファー、特に を使用して作成されたもののみを使用できますglRenderbufferStorageMultisampleEXT。テクスチャでこの FBO に何かをレンダリングしたい場合は、付属のテクスチャを使用して 2 番目の FBO を作成し、次に を使用してマルチサンプリングされた FBO を通常の FBO にブリットする必要がありますglBlitFramebufferEXT

私が見た非常にまばらな例は、単色のアタッチメントを想定しています。複数の色のアタッチメントをブリットしたい場合はどうすればよいですか?

4

2 に答える 2

2

仕様書よりEXT_framebuffer_blit

12) 複数のカラー バッファを BlitFramebuffer への 1 回の呼び出しでコピーできるように、複数の ReadBuffer のサポートを追加する必要がありますか?

解決済み: いいえ、検討しましたが、動作の定義が難しく、機能の使用が制限されています。

arb_framebuffer_object 仕様から(EXT_ バージョンを置き換える)

カラー バッファーが転送されると、CopyPixels の場合と同様に、読み取りフレームバッファーの読み取りバッファーから値が取得され、描画フレームバッファーの各描画バッファーに書き込まれます。

だから...ブリットごとに単一のカラーバッファからのみ解決することは明らかです。

複数のことを行うには、バッファごとにブリットを実行し、ブリットするバッファごとに変更してREAD_BUFFER、描画フレームバッファの対応する描画バッファを選択する必要があります。

于 2009-11-24T21:40:46.050 に答える