4

私のプログラムは VBO で効率的に動作していますが、OpenGL 3.0 のサポートに近いコンピューターを持っている人は 1 人を除いて誰もいないことがわかりました。彼ら全員がプログラムを実行すると、カードが VBO や私が使用しているシェーダー言語をサポートしていないため、深さのない平らなテクスチャしか得られません。

私は現在、古いコンピューターをサポートするためにコーディングしています (以前の OpenGL 3.0 サポート)。完全に必要な場合を除き、即時モードでの描画でコードを書きたくないので、頂点配列に戻ります。

頂点配列をサポートするには、どのバージョンの OpenGL が必要ですか?

私はこれをどこにも見つけられないようです。

拡張レジストリ: http://www.opengl.org/registry/

明確にするために、サーバー側の頂点配列オブジェクト (VAO) または頂点バッファー オブジェクト (VBO) と混同しないように、クライアント側の頂点配列について話している

4

2 に答える 2

8

ここではある程度包括的に説明します。

基本的な頂点配列 API は、OpenGL 1.1 以降のコアです。

OpenGL 1.1が導入されました:

  • glDrawArraysおよびglDrawElements(と同様に、しかし実際には誰もこれまでglArrayElementにそれを使用するべきではありません)レンダリング用。
  • glVertexPointer、、、および「属性」の場合glTexCoordPointer。取得できるテクスチャ座標ポインタは 1 つだけであることに注意してください。glNormalPointerglColorPointer

OpenGL 1.2が導入されました:

  • glDrawRangeElements、一部のドライバーでのパフォーマンスを向上させるため。最近はあまり役に立ちませんが、古いハードウェア用にコーディングしている場合は、調べてください。

OpenGL 1.3が導入されました:

  • glActiveTextureGL_MAX_TEXTURE_UNITS、したがって s の数を許可しますglTexCoordPointer

OpenGL 1.4が導入されました:

  • glMultiDrawArraysglMultiDrawElements
  • glSecondaryColorPointerglFogCoordPointer

OpenGL 1.5が導入されました:

  • バッファ オブジェクト。

OpenGL 2.0 の導入:

  • glVertexAttribPointerジェネリック シェーダー アトリビュート用。クライアント側の頂点配列で使用できます。
于 2013-01-08T03:07:27.497 に答える
5

仕様で見つけることができる頂点配列の最初の言及は、OpenGL 1.1です(セクション 2.8 頂点配列、ページ 21)。

于 2013-01-08T02:06:49.237 に答える