glVertexPointer 関数
glVertexPointer 関数は、頂点データの配列を定義します。
構文
void WINAPI glVertexPointer(
GLint size,
GLenum type,
GLsizei stride,
const GLvoid *pointer
);
パラメーター
-
size
-
頂点あたりの座標の数。 size の値は、2、3、または 4 である必要があります。
-
type
-
次のシンボリック定数を使用する配列内の各座標のデータ型: GL_SHORT、GL_INT、GL_FLOAT、およびGL_DOUBLE。
-
stride
-
連続する頂点間のバイト オフセット。 stride が 0 の場合、頂点は配列に密に詰め込まれます。
-
pointer
-
配列内の最初の頂点の最初の座標へのポインター。
戻り値
この関数は値を返しません。
エラー コード
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
size が 2、3、または 4 ではありません。 |
|
type は受け入れ可能な値ではありません。 |
|
ストライド または カウント が負でした。 |
解説
glVertexPointer 関数は、レンダリング時に使用する頂点座標の配列の位置とデータを指定します。 size パラメーターは、頂点あたりの座標の数を指定します。 type パラメーターは、各頂点座標のデータ型を指定します。 stride パラメーターは、ある頂点から次の頂点へのバイト オフセットを決定し、1 つの配列または個別の配列内のストレージ内の頂点と属性のパッキングを可能にします。 一部の実装では、頂点と属性を 1 つの配列に格納する方が、個別の配列を使用するよりも効率的です ( glInterleavedArrays を参照)。
glEnableClientState でGL_VERTEX_ARRAY定数を指定すると、頂点配列が有効になります。 有効にすると、 glDrawArrays、 glDrawElements、 および glArrayElement で頂点配列が使用されます。 既定では、頂点配列は無効になっています。
表示リストに glVertexPointer を含めることはできません。
glVertexPointer を使用して頂点配列を指定すると、すべての関数の頂点配列パラメーターの値がクライアント側の状態で保存され、静的配列要素をキャッシュできます。 頂点配列パラメーターはクライアント側の状態であるため、その値は glPushAttrib および glPopAttrib によって保存または復元されません。
glBegin と glEnd のペア内で glVertexPointer を呼び出してもエラーは生成されませんが、結果は未定義です。
次の関数は 、glVertexPointer に関連する情報を取得します。
引数GL_VERTEX_ARRAY_SIZEを含む glGet
引数GL_VERTEX_ARRAY_STRIDEを含む glGet
引数GL_VERTEX_ARRAY_COUNTを含む glGet
引数GL_VERTEX_ARRAY_TYPEを含む glGet
引数がGL_VERTEX_ARRAY_POINTERされた glGetPointerv
glIsEnabled と引数 GL_VERTEX_ARRAY
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|