glNormalPointer 関数

glNormalPointer 関数は、法線の配列を定義します。

構文

void WINAPI glNormalPointer(
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

パラメーター

type

次のシンボリック定数を使用する配列内の各座標のデータ型: GL_BYTE、GL_SHORT、GL_INT、GL_FLOAT、およびGL_DOUBLE。

stride

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

pointer

配列内の最初の法線へのポインター。

戻り値

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

エラー コード

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

名前 意味
GL_INVALID_ENUM
type は受け入れ可能な値ではありません。
GL_INVALID_OPERATION
ストライド または カウント が負でした。

解説

glNormalPointer 関数は、レンダリング時に使用する法線の配列の位置とデータを指定します。 type パラメーターは、各標準座標のデータ型を指定します。 stride パラメーターは、1 つの法線から次の法線へのバイト オフセットを決定し、1 つの配列または個別の配列内のストレージ内の頂点と属性のパッキングを可能にします。 頂点と属性を 1 つの配列に格納する実装によっては、個別の配列を使用するよりも効率的な場合があります。詳細については 、glInterleavedArrays を参照してください。

glEnableClientState でGL_NORMAL_ARRAY定数を指定すると、通常の配列が有効になります。 有効にすると、 glDrawArraysglDrawElementsglArrayElement は通常の配列を使用します。 既定では、通常の配列は無効になっています。

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

glNormalPointer を使用して標準配列を指定すると、すべての関数の通常の配列パラメーターの値がクライアント側の状態で保存されます。 通常の配列パラメーターはクライアント側の状態で保存されるため、その値は glPushAttrib および glPopAttrib によって保存または復元されません。

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

次の関数は glNormalPointer に関連付けられています。

引数GL_NORMAL_ARRAY_STRIDEを含む glGet

引数GL_NORMAL_ARRAY_COUNTを含む glGet

引数GL_NORMAL_ARRAY_TYPEを含む glGet

引数がGL_NORMAL_ARRAY_POINTERされた glGetPointerv

glIsEnabled と引数 GL_NORMAL_ARRAY

必要条件

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

関連項目

glArrayElement

glColorPointer

glDrawElements

glDrawArrays

glEnable

glEdgeFlagPointer

glGetPointerv

glIndexPointer

glIsEnabled

glInterleavedArrays

glTexCoordPointer

glVertexPointer

glGetString