古いバージョンのOpenglを使用するアプリケーションは、新しいカードでも実行できますか?


8

OpenGl 3.0以降は、OpenGl 2.xやopengl 1.xなどの旧バージョンとは実装がかなり異なります。つまり、旧バージョンのopenglで記述されたアプリケーションは、ビデオカードを搭載したコンピューターでは実行できません。 Opengl 3.x以降をサポートしていますか?

これがこれを尋ねるのに適切な場所でない場合は、申し訳ありません。

ありがとう。

回答:


2

つまり、OpenGL 1.xは引き続きサポートされます。

理論的には、誰かが3.x以降のみをサポートするOpenGL実装を作成することは可能ですが、古いものをサポートすることで、既存のアプリケーションを幅広くサポートするので、サポートしないのはばかげています。

OpenGL 1.xパイプラインの一部は、最適ではない(つまり遅い)方法で実装されている場合がありますが、問題はありません。ATIドライバーは、ある時点でピッキングをひどく遅くし、たとえばBlenderの変更を促しました。

OpenGL ES側では、物事はもう少し複雑です。私はそのインスタンスを認識していませんが、ES 2.0以降はES 1.xとは大きく異なるため、一部のデバイスがES 1.xをサポートしていない可能性があります。ほとんどの場合、ES2 +ハードウェアはソフトウェアでES 1.xをエミュレートしました(オンザフライでシェーダーを生成し、そのような楽しいものを生成します)。


3

現在、OpenGLの以前のバージョンのサポートを削除したドライバーはありません。その上、ほとんどは互換性拡張機能も実装しています。つまり、古いものとOpenGL 3.2+のコンテキストを混在させることができます(Mac OSXは例外で、OpenGL 3.2のコアプロファイルしか使用できません。古いものは使用できますが、使用できません。新しいものと一緒に)。


1
glBegin..glEndコードが最新のOSXでコンパイルされないと言っていますか?
Jari Komppa 2012

@JariKomppa、私の答えを修正しました。
Tapio
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.