OpenGL マルチパス レンダリングの例があり、マルチサンプリングを追加する必要があります。
私は2つのアプローチを試みました。どちらのアプローチも、深度バッファーやステンシル バッファーを使用せず、レンダリング カラーのみを使用します。
プリンシパル レンダリング中のマルチサンプリング
1. Bind Multisampling Fbo
2. Render geometry
3. Blit / resolve multisampling
4. [1..n] Bind normal Fbo and apply post-process
最後にマルチサンプリング
1. Bind normal Fbo
2. Render geometry
3. [1..n] Bind normal Fbo and apply post-process
4. Bind Multisample Fbo
5. Render result texture onto a quad into the multisample fbo
6. Blit / resolve multisampling
問題
どちらのアプローチも機能しているように見えますが (完全なフレームバッファーなど)、2 番目のアプローチではハード エッジがはっきりとわかります。最初のアプローチを使用するだけで、実際にはアンチエイリアス処理されたソフト エッジが得られます。
2 番目のアプローチに概念的な問題はありますか? 説明どおりに機能しないように、マルチサンプリングに特定の前提条件はありますか?
私は2番目のアプローチを使用することを大いに好みます。