4

深度テクスチャに解決される msaa 深度バッファに問題があります。カラー テクスチャと深度テクスチャの両方に対して glTexImage2d を作成し、それらを「解決」(非 msaa ) フレームバッファにバインドします。次に、別のフレーム バッファを作成してバインドし、マルチサンプリングされたレンダ バッファ (色と深度の両方) を作成します。マルチサンプリングされたレンダーバッファーからカラー テクスチャー情報を取得することはわかっています。書き込みバッファーはカラー テクスチャー フレームバッファーであり、読み取りバッファーは msaa-framebuffer です。私の質問は、マルチサンプリングされた深度バッファを深度テクスチャにブリットする方法です。

4

1 に答える 1

4

これは、カラー バッファに対して行うのと同じ方法で行いますが、フィルタ モードに対してのみGL_DEPTH_BUFFER_BIT使用し、使用することを確認してください。GL_NEAREST何らかの理由で深度/ステンシル バッファで線形フィルタリングが必要な場合、深度テクスチャを使用すれば GLSL で実際にこれを行うことができます (もちろん、これは MSAA テクスチャでは無効のままです) - しかし、 を使用してこれを行うのは無効ですglBlitFramebuffer (...)

glReadBuffer (...)個々のカラー バッファーを選択する場合のように、無意味なことを行う必要はありません。バウンドからglBlitFramebuffer (...)バウンドに深度バッファーがコピーされます。GL_READ_FRAMEBUFFERGL_DRAW_FRAMEBUFFER

于 2013-09-17T18:40:24.207 に答える