glInterleavedArrays 関数

glInterleavedArrays 関数は、より大きな集計配列で複数のインターリーブ配列を同時に指定して有効にします。

構文

void WINAPI glInterleavedArrays(
         GLenum  format,
         GLsizei stride,
   const GLvoid  *pointer
);

パラメーター

format

有効にする配列の型。 パラメーターは、シンボリック値 (GL_V2F、GL_V3F、GL_C4UB_V2F、GL_C4UB_V3F、GL_C3F_V3F、GL_N3F_V3F、GL_C4F_N3F_V3F、GL_T2F_V3F、GL_T4F_V4F、GL_T2F_C4UB_V3F、GL_T2F_C3F_V3F、GL_T2F_N3F_V3F、GL_T2F_C4F_N3F_V3F、GL_T4F_C4F_N3F_V4Fのいずれか) を想定できます。

stride

各集計配列要素間のオフセット (バイト単位)。

pointer

集計配列の最初の要素へのポインター。

戻り値

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

エラー コード

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

名前 意味
GL_INVALID_ENUM
format が受け入れられた値ではありません。
GL_INVALID_VALUE
ストライド は負の値でした。
GL_INVALID_OPERATION
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。

解説

glInterleavedArrays 関数を使用すると、より大きな集計配列要素の一部である要素を持つ複数のインターリーブカラー、法線、テクスチャ、頂点配列を同時に指定して有効にすることができます。 一部のメモリ アーキテクチャでは、配列を個別に指定するよりも効率的です。

stride パラメーターが 0 の場合、集計配列要素は連続して格納されます。それ以外の場合は、集計配列要素間でストライド バイトが発生します。

format パラメーターは、集計配列から個々の配列を抽出する方法を説明するキーとして機能します。

  • format に T が含まれている場合、テクスチャ座標はインターリーブ配列から抽出されます。
  • C が存在する場合は、色の値が抽出されます。
  • N が存在する場合は、標準座標が抽出されます。
  • 頂点座標は常に抽出されます。
  • 数字 2、3、および 4 は、抽出される値の数を示します。
  • F は、値が浮動小数点値として抽出されることを示します。
  • 4UB が C に従う場合、色は 4 つの符号なしバイトとして抽出される場合もあります。 色が 4 つの符号なしバイトとして抽出された場合、次の頂点配列要素は、可能な最初の浮動小数点アラインド アドレスにあります。

表示リストのコンパイル中 に glInterleavedArrays を呼び出すと、リストにはコンパイルされませんが、すぐに実行されます。

glBegin の呼び出しと glEnd への対応する呼び出しの間に、glDisableClientStateglInterleavedArrays の呼び出しを含めることはできません。

注意

glInterleavedArrays 関数は、OpenGL バージョン 1.1 以降でのみ使用できます。

glInterleavedArrays 関数は、プロトコルなしでクライアント側に実装されます。 頂点配列パラメーターはクライアント側の状態であるため、 glPushAttrib および glPopAttrib によって保存または復元されません。 代わりに glPushClientAttribglPopClientAttrib を 使用してください。

要件

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

関連項目

glArrayElement

glColorPointer

glDrawArrays

glDrawElements

glEdgeFlagPointer

glEnableClientState

glGetPointerv

glIndexPointer

glNormalPointer

glPushAttrib

glPushClientAttrib

glTexCoordPointer

glVertexPointer