GLINTERLEAVEDARRAYS
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glInterleavedArrays
- 複数の交互的配列(interleaved arrays)を同時に指定したり、有効にする
書式
void 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
-
集合的配列のそれぞれの要素間のオフセットをバイト単位で指定する。
説明
glInterleavedArrays を使うと、より大きな集合的配列の要素
の一部分として含まれる、色、法線、テクスチャ、頂点の配列を個別に
指定したり有効にすることができる。
実装によっては、配列を個別に指定するよりも、こちらの方が効率的である。
stride が 0 ならば、集合的配列の要素は隙間なく格納されている。
それ以外の場合には、集合的配列のある要素の先頭と、
集合的配列の次の要素の先頭の間には stride バイトある。
format は、集合的配列から個々の配列を取り出すための
「鍵」となる。
format が "T" を含んでいると、テクスチャ座標が交互的配列
から取り出される。
"C" を含む場合には、色の値が取り出される。
"N" を含む場合には、法線座標が取り出される。
頂点座標は常に取り出される。
数字 "2", "3", "4" は、取り出すバイト数を示す。
"F" は、値を浮動小数点値として取り出すことを示す。
"C" の後に "4UB" を続けることにより、色を 4 個の符号無しバイト値
として取り出すこともできる。
色を 4 個の符号無しバイト値として取り出した場合には、その後に続く
頂点配列の要素は、浮動小数点値の並びにおいて置くことのできる
最初のアドレスに置かれる。
注意
glInterleavedArrays はバージョン 1.1 以降の GL でのみ
使用できる。
ディスプレイリストの構築中に glInterleavedArrays を
呼んでも、これはディスプレイリストには含まれず、即座に
実行される。
glBegin と、その対になる glEnd の間で
glInterleavedArrays を実行することは許されていない。
ただし、エラーは起きることも起きないこともある。
エラーが起きなかった場合の動作は未定義である。
glInterleavedArrays は通常はクライアント側に実装される。
頂点配列のパラメータはクライアント側の状態値である。したがって、
glPushAttrib や glPopAttrib で保存・復元することは
できない。
こういった場合には glPushClientAttrib と
glPopClientAttrib を使うこと。
GL_ARB_multitexture 機能拡張に対応している場合には、
glInterleavedArrays はアクティブなテクスチャユニットに
関するテクスチャ座標配列の更新だけを行う。
有効状態かどうかに関わらず、クライアントの他のテクスチャユニット
に関するテクスチャ座標の状態は更新されない。
エラー
GL_INVALID_ENUM:
format の値が不正の場合に起こる。
GL_INVALID_VALUE:
stride の値が負の場合に起こる。
関連項目
glArrayElement(3G),
glClientActiveTextureARB(3G),
glColorPointer(3G),
glDrawArrays(3G),
glDrawElements(3G),
glEdgeFlagPointer(3G),
glEnableClientState(3G),
glGetPointer(3G),
glIndexPointer(3G),
glNormalPointer(3G),
glTexCoordPointer(3G),
glVertexPointer(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連項目
-
Time: 07:01:08 GMT, January 12, 2009