5

現在、画像のさまざまな部分がテクスチャでレンダリングされ、シェーダーを使用して結合される複数のパスを使用するレンダリング エンジンがあります。それは機能し、マルチサンプリングを有効にしたいと思います。

ここ ( http://www.opengl.org/wiki/Framebuffer_Object_Examples#MSAA )を読みましたが、OpenGL を使用するGL_TEXTURE2D_MULTISAMPLEと、フレームバッファー オブジェクトに をアタッチできません。

マルチサンプリングを使用し、テクスチャとして結果にアクセスする方法の 1 つは、マルチサンプリングされたレンダー バッファを使用し、その結果をマルチサンプル テクスチャにコピーすることです。

私の質問は次のとおりです。前進するための最良の方法は何ですか?

  • テクスチャにコピーせずに、レンダー バッファーでレンダリングし、シェーダーで出力を使用することは可能ですか?
  • 実際にバッファの内容をテクスチャにコピーしてから使用する必要がありますか?
  • 別のより良い解決策はありますか?

ありがとう。

4

1 に答える 1

6

ここ( http://www.opengl.org/wiki/Framebuffer_Object_Examples#MSAA )を読みましたが、OpenGLでは、GL_TEXTURE2D_MULTISAMPLEをフレームバッファーオブジェクトにアタッチすることはできません。

もう一度お読みください。GL_TEXTURE_2D_MULTISAMPLEテクスチャについては何も述べていません。実際、私はそれを取り戻します。そのページを二度と読まないでください。優れたFBO情報が必要な場合は、3.xの動作について説明しているフレームバッファオブジェクトのページをお読みください。リンクしたページは古いです。

EXTの時代には、マルチサンプルテクスチャが存在しなかったため、マルチサンプルのレンダーバッファしかありませんでした。マルチサンプルバッファを作成することはできますが、それらを使用してテクスチャを作成することはできません。あなたはそれらをブリットすることしかできませんでした。

3.3 OpenGLでは、マルチサンプルテクスチャを作成できます。また、他のテクスチャと同じようにFBOにアタッチできます。

于 2012-02-16T18:46:01.500 に答える