GLINDEXPOINTER

Section: Misc. Reference Manual Pages (3G)
索引 xjman
 

名前

glIndexPointer - 色インデックスの配列を定義する

 

書式

void glIndexPointer( GLenum type,

                       GLsizei stride,
                       const GLvoid *ptr )

delim $$  

引き数

type
配列中のそれぞれの色インデックスの型を指定する。 シンボル定数 GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE を指定できる。 初期値は GL_FLOAT である。
stride
連続する色インデックスの間のオフセット値(バイト単位)を指定する。 stride が 0 (初期値)の場合には、色インデックスは配列中で すきまなく並んでいるものと理解される。 初期値は 0 である。
ptr
配列中の最初のインデックスを指すポインタを指定する。 初期値は 0 である。
 

説明

glIndexPointer は描画時に使われる色インデックスの配列の 位置とデータ型を指定する。 type は各色インデックスのデータ型を指定し、 stride は、ある色インデックスから次の色インデックスまでの 幅(バイト単位)を指定する。これにより、頂点と属性をひとつの 配列に格納したり、別々の配列に格納することができる。 (実装によっては、ひとつの配列に格納する方が効率がよいことがある。 glInterleavedArrays を参照。) type, stride, ptr はクライアント側の状態として 保存される。 色インデックスの配列は初期状態では無効になっている。 この配列を有効または無効にするには、引き数に GL_INDEX_ARRAY を 指定して glEnableClientState または glDisableClientState を 呼ぶこと。 有効な場合には、色インデックスの配列は glDrawArrays, glDrawElements, glArrayElement のいずれかが呼ばれたときに使われる。 事前に指定してある頂点および頂点属性の配列からプリミティブの列 (全て同じ型)を作るには、glDrawArrays を用いる。 頂点および頂点属性のインデックス指定によりプリミティブを指定する 場合には glArrayElement を用いる。 頂点と頂点属性のインデックス指定によりプリミティブの列を作るには glDrawElements を用いる。  

注意

glIndexPointer が使えるのは、バージョン 1.1 以降の GL だけである。 色インデックスの配列は初期状態では無効になっており、 glArrayElement, glDrawElements, glDrawArrays の いずれかが呼ばれても配列へのアクセスはない。 glBegin と、その対になる glEnd の間で glIndexPointer を実行することは許されていないが、 エラーは起こる場合も起こらないもあり得る。 エラーが起こらなかった場合の動作は未定義である。 glIndexPointer は通常はクライアント側に実装される。 色インデックスの配列はクライアント側の状態であるため、これらは glPushAttribglPopAttrib では保存されない。 これらの関数ではなく、 glPushClientAttribglPopClientAttrib を用いること。  

エラー

GL_INVALID_ENUM: type が不正な値の場合に起こる。 GL_INVALID_VALUE: stride の値が負の場合に起こる。  

関連する取得値

引き数 GL_INDEX_ARRAY を指定した glIsEnabled
引き数 GL_INDEX_ARRAY_TYPE を指定した glGet
引き数 GL_INDEX_ARRAY_STRIDE を指定した glGet
引き数 GL_INDEX_ARRAY_POINTER を指定した glGetPointerv  

関連項目

glArrayElement(3G), glColorPointer(3G), glDrawArrays(3G), glDrawElements(3G), glEdgeFlagPointer(3G), glEnable(3G), glGetPointerv(3G), glInterleavedArrays(3G), glNormalPointer(3G), glPopClientAttrib(3G), glPushClientAttrib(3G), glTexCoordPointer(3G), glVertexPointer(3G)


 

Index

名前
書式
引き数
説明
注意
エラー
関連する取得値
関連項目

jman



Time: 07:01:08 GMT, January 12, 2009