OES / EXT/ARB_framebuffer_object拡張機能の違いは何ですか。これらの拡張機能はすべて、OpenGLES 1.1またはOpenGLES2.0アプリケーションで使用できますか?または、GLESx.xのどのバージョンでどの拡張機能を使用するかについてのガイドラインはありますか?
1 に答える
OK いくつかのグーグルの後、私は以下の情報を見つけました...
- GLES FBO a. GLES2 の下のコアです b. GLES1 では、拡張 GL_OES_framebuffer_object を介して公開され、その API エントリ ポイントは glFunctionNameOES です。
- API エントリ ポイントが glSomeFunctionEXT である GL_EXT_framebuffer_object を使用する OpenGL 1.x/2.x
GL 3.x での OpenGL 3.x FBO/GL_ARB_framebuffer_object、FBO はコアであり、API ポイントは glSomeFunction です。また、GL 2.x には「バックポート」拡張機能があり、GL_ARB_framebuffer_object API エントリ ポイントは glSomeFunction() です。EXT または ARB サフィックスがないことに注意してください。
トークンの命名: 1a. 接尾辞 1b なし。_OES
- _EXT
- 接尾辞なし。
幸いなことに、トークン名は同じ値にマップされます。さらに、それらの使用法は異なります: 1a,1b: デプス バッファとステンシル バッファはレンダー バッファとして別々にアタッチされます。または、拡張 GL_OES_packed_depth_stencil を使用して両方を 1 つのバッファとしてアタッチすることもサポートされる可能性があります。
デプスバッファはデフォルトで16ビット!2,3: 仕様では、深度とステンシルを別々にアタッチすることができますが、コンシューマー レベルのデスクトップ ハードウェアはすべてこれをサポートしておらず、ステンシルとデプス バッファ呼び出しの両方をデプス ステンシル テクスチャにアタッチすることをサポートしています。2. 拡張 GL_EXT_packed_depth_stencil、タイプは GL_DEPTH24_STENCIL8_EXT 3. FBO 仕様の一部、タイプは GL_DEPTH24_STENCIL8 注: トークン GL_DEPTH24_STENCIL8 と GL_DEPTH24_STENCIL8_EXT の値は同じです。
GL_EXT_framebuffer_object に関する問題 a) FBO はコアであるため、GL_EXT_framebuffer_object は GL 3.x コンテキストにリストされない場合があります。b) また、新しいハードウェアで GL 2.x コンテキストを使用している場合、GL_EXT_framebuffer_object がリストされていなくても、GL_ARB_framebuffer_object がリストされている可能性があります。
機能の違い: 3.x/GL_ARB_framebuffer_object による FBO のサポートにより、カラー バッファーの添付ファイルにさまざまなタイプと解像度を持たせることができます。さらに、MSAA とブリット機能
は 3.x コアの一部であり、GL_ARB_framebuffer_object の一部です。GL_EXT_framebuffer_object による FBO のサポート。blit と MSAA の両方のサポートが個別の拡張機能として公開されています。