最近、最新の OpenGL コンテキストを必要とするいくつかの機能を使用しました (具体的には、ARB_debug_output は wglCreateContextAttribs を介して WGL_CONTEXT_DEBUG_BIT_ARB でコンテキストを作成する必要があります)。 )。したがって、明らかな疑問が生じます。
- 最新のopenglコンテキストを使用するのは合理的ですか?
- 拡張機能を介して古いコンテキストで使用できない多くの機能はありますか?
- 現代の文脈はより速いですか?
以下は、OpenGL 3.3コア プロファイルコンテキストをしばらく使用した後の私の考慮事項です。
最新のopenglコンテキストを使用するのは合理的ですか?
場合によります。wglCreateContextAttribsなどをまだサポートしていないライブラリやミドルウェアは多数ありますが、コードにアクセスして必要なものを変更するだけで十分にオープン/小さいものもあります。
個人的には、「推奨されない」関数がないことはありがたいことだと思います。なぜなら、私たちの時代のジューシーな GPU ハードウェア機能に集中できるからです。
OpenGL 機能のほとんどをサポートする必要がある一種のミドルウェアを作成している場合、「最新の」コンテキストを使用することは、祝福以上のものです。命の恩人です。
拡張機能を介して古いコンテキストで使用できない多くの機能はありますか?
ハードウェアが同じである限り、ほとんどありません。ただし、拡張機能の数が非常に多いため、多くのコーナー ケースが存在する可能性があります。
モダン コンテキストは高速ですか
確かに遅くなることはありません。