1

頂点バッファー オブジェクトを使用して GPU にコピーする頂点のリストを含む配列があります。ただし、頂点配列へのインデックスのリストを含む整数配列もあるため、頂点座標自体は無意味です。

このシナリオでは、別のバッファ オブジェクトを作成してインデックスを格納し、レンダリング関数で頂点配列とインデックス配列の両方を描画用にバインドすることができます。

//vertex coordinates
glBindBuffer(GL_ARRAY_BUFFER, bufferId1);         
//index coordinates
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, bufferId2); 

glVertexPointer(3, GL_FLOAT, 0, 0);
//Not sure if this should be Unsigned BYTE or Unsigned SHORT
glDrawElements(GL_POINTS, 6, GL_UNSIGNED_BYTE, 0);  

私はAPIを読み、次のことで混乱しました:
「ゼロ以外のバッファオブジェクトがGL_ELEMENT_ARRAY_BUFFERターゲットにバインドされている間、伝統的にクライアント側メモリへのポインタとして解釈されるglDrawElementsのインデックスパラメータは、代わりに内部のオフセットとして解釈されます基本マシン単位で測定されたバッファ オブジェクトです。」

私はグラフィックプログラミングにかなり慣れていないので、これが意味をなさない場合は申し訳ありません.

4

1 に答える 1

2

はい、可能です。公式のチュートリアルが役に立ちます。彼らは符号なしバイトの使用を推奨せず、速度のために 16 ビットまたは 32 ビットのインデックスを使用します。

于 2008-11-06T09:26:05.650 に答える