2

遅延レンダリングを試すために、MRT を OpenGL で動作させようとしています。私が把握している状況はこうです。

  1. 3 つのレンダー バッファーを作成します (たとえば)。2 つの RGBA8 と 1 つの Depth32。
  2. FBO を作成します。
  3. レンダー バッファを FBO にアタッチします。カラー バッファーの場合は ColorAttachment0/1、深度バッファーの場合は DepthAttachment。
  4. FBO をバインドします。
  5. ジオメトリを描画します。
  6. gl_FragData[]frag シェーダーを使用して、さまざまなアタッチメントにデータを送信します。

この時点で、GLSL を使用して別のパスでデータを取得したいと思います。どのように a) フレームバッファ カラー アタッチメントからデータを取得し、b) 深度コンポーネントからデータを取得しますか。

4

1 に答える 1

2

FBOアタッチメントとして何を使用していますか?レンダーバッファ?テクスチャ?

次のパスでテクスチャを読み取ることができるように、テクスチャをカラーアタッチメント(および深度アタッチメント)として使用する必要があります。レンダーバッファで同じことをする方法はありません。

于 2010-06-06T21:52:18.353 に答える