次の方法で共有


glEdgeFlagPointer 関数

glEdgeFlagPointer 関数は、エッジ フラグの配列を定義します。

構文

void WINAPI glEdgeFlagPointer(
         GLsizei stride,
   const GLvoid  *pointer
);

パラメーター

stride

連続するエッジ フラグ間のバイト オフセット。 stride が 0 の場合、エッジ フラグは配列に密にパックされます。

pointer

配列内の最初のエッジ フラグへのポインター。

戻り値

この関数は値を返しません。

エラー コード

glGetError 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_ENUM
ストライド または カウント が負の値でした。

解説

glEdgeFlagPointer 関数は、レンダリング時に使用するブール型エッジ フラグの配列の場所とデータを指定します。 stride パラメーターは、1 つのエッジ フラグから次のエッジ フラグへのバイト オフセットを決定します。これにより、1 つの配列または個別の配列内のストレージに頂点と属性をパッキングできます。 一部の実装では、頂点と属性を 1 つの配列に格納する方が、個別の配列を使用するよりも効率的な場合があります。

glEnableClientState でGL_EDGE_FLAG_ARRAY定数を指定すると、エッジ フラグ配列が有効になります。 有効にすると、 glDrawArrays または glArrayElement は edge フラグ配列を使用します。 既定では、エッジ フラグ配列は無効になっています。

glDrawArrays を使用して、事前に指定された頂点と頂点の属性配列からプリミティブのシーケンス (すべて同じ種類) を構築します。 glArrayElement を使用して頂点と頂点属性のインデックスを作成してプリミティブを指定し、glDrawElements を使用して頂点と頂点属性のインデックスを作成してプリミティブのシーケンスを構築します。

表示リストに glEdgeFlagPointer を含めることはできません。

glEdgeFlagPointer を使用してエッジ フラグ配列を指定すると、すべての関数のエッジ フラグ配列パラメーターの値がクライアント側の状態で保存され、静的配列要素をキャッシュできます。 エッジ フラグ配列パラメーターはクライアント側の状態であるため、 glPushAttrib および glPopAttrib は値を保存または復元しません。

glBegin/glend ペア内で glEdgeFlagPointer を呼び出してもエラーは生成されませんが、結果は未定義です。

次の関数は 、glEdgeFlagPointer 関数に関連する情報を取得します。

glGet と引数 GL_EDGE_FLAG_ARRAY_STRIDE

glGet と引数 GL_EDGE_FLAG_ARRAY_COUNT

引数がGL_EDGE_FLAG_ARRAY_POINTERされた glGetPointerv

glIsEnabled with argument GL_EDGE_FLAG_ARRAY

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Gl.h
ライブラリ
Opengl32.lib
[DLL]
Opengl32.dll

関連項目

glArrayElement

glBegin

glColorPointer

glDrawArrays

glEnableClientState

glEnd

glGet

glGetPointerv

glGetString

glIndexPointer

glIsEnabled

glNormalPointer

glPopAttrib

glPushAttrib

glTexCoordPointer

glVertexPointer