2016-05-31 3 views
1

テクスチャ(ボタンの場合)またはレンダリングクワッドの場合、コードでOpenGL 1.1の関数を使用しても問題ありませんか? glBegin、glVertex、glEndのような関数?
P. 3Dモデルでは、OpenGLの新しいバージョンからVBOを使用します。OpenGL 1.1を使用してもよろしいですか?

+0

いいえ違うです。あなたは非常に価値のない、廃止されたものを使用しています。あなたのプログラムからもっと多くのものを使いたい場合は、シェーダーを使用してください。 – Poriferous

+0

"ok"があなたに何を意味するかによって異なります。それは2016年の趣味主義者としてWindows 95を使用するのが "ok"と同じように "ok"です。しかし、実際の製品では現代の技術を有効に置き換えることはできません。 – Dan

答えて

3

OpenGL-3.3以降での互換性プロファイルのサポートはオプションです。プログラムでも最新機能を使用している場合は、レガシー機能を使用することはできません。一般に、新しいコードではglBegin/glVertex/glEndを使用しないでください。現代のOpenGLプリミティブを使用して病理学的に単純な形状であっても、より簡単で読みやすくなります。唯一の「欠点」は、シェーダとシェーダの設定を指定しなければならないということです。シェーダの設定が抽象化されていない場合は少し面倒かもしれません。

+0

偉大な答え、@ datenwolf。しかし、ゲーム開発を容易にし、GPUプロセッサを利用するために、OpenGL APIの「アップグレード」のほとんどが実装されていることを忘れてはいけません。 'shaders'パラダイムに移植できない' glBegin/glVertex/glEnd' CPUパラダイムに依存する、科学的な視覚化のためのオープンソースコードの多くは放棄されます。 – user3078414

+0

@ user3078414:OpenGL-2.1以前は消えません。メサの実装(長期的には将来の可能性)や、ベンダー独自の実装ではないことは確かです。それは緩むためにあまりにも重要な市場です。科学的な視覚化に関する限り、特に、それらのアプリケーションはゲームとして最適化されておらず、CPUのオーバーヘッドを削減することが大いに役立つため、最新のOpenGLへの移行から大きな利益を得ます。 Vertex ArraysはOpenGL-1.1以来存在しています(クライアント側のみ)。 – datenwolf

+0

@ user3078414:最近、AMDのRadeon Technology Groupのエンジニア(プロフェッショナル用の技術者も担当)が、CADソフトウェアがAPIを誤用していることについて教えてくれました。正しさとそれはまだ周囲の混乱(より正確に言うことではなく、通常はそうではなく、ドライバーはそれをカバーするために多くの内部の回避策を適用する)よりも演奏されます。 – datenwolf

関連する問題