offscreen rendering in opengl:a fetterming guide
Overview
Basic Method
次の手順が含まれます。
glgenframebuffers関数を使用してオフスクリーンフレームバッファを作成します。 ]シーンをレンダリング:- 目的のシーンをフレームバッファにレンダリングします。 ] フレームバッファーを解除: glbindframebufferを使用して、framebufferオブジェクト(fbos)
- を使用して、glbindframebufferを使用してデフォルトのフレームバッファを再びターゲットとして設定します。 ]
デフォルトのバックバッファに依存する代わりに、オフスクリーンレンダリングにFrameBufferオブジェクト(FBO)を使用する方が効率的です。 FBOSはより柔軟性を提供し、特定のプロパティを備えたカスタムレンダリングターゲットを作成できます。 ] GlgenRenderBuffersを使用してRenderBufferを生成し、GlbindRenderBufferを使用してバインドします。 renderbuffer to the fbo:
glframebufferrenderbufferを使用した色のアタッチメントとしてrenderbufferをfboに接続します。ピクセルバッファーオブジェクト(PBO)を使用して、非同期ピクセル転送を可能にすることにより、より効率的にレンダリングするオフスクリーンを作成できます。ピクセルデータが完全に転送されるまでCPUをブロックする代わりに、GlreadPixelsをPBOで使用してすぐに返すことができます。 CPUの実行への影響。フレームバッファの概念を理解し、ピクセルを読み、FBOやPBOSなどのテクニックを利用することで、開発者はOpenGLアプリケーションでオフスクリーンレンダリングを効果的に実装できます。
。