GLDRAWELEMENTS

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

名前

glDrawElements - 配列データを使ってプリミティブをレンダリングする

 

書式

void glDrawElements( GLenum mode,

                       GLsizei count,
                       GLenum type,
                       const GLvoid *indices )

delim $$  

引き数

mode
レンダリングするプリミティブの種類を指定する。 指定できるシンボル定数は GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, GL_POLYGON である。
count
レンダリングする要素の数を指定する。
type
indices に格納されている値の型を指定する。 GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT のいずれかでなければならない。
indices
インデックスが格納されている場所を指すポインタを指定する。
 

説明

glDrawElements は複数の幾何プリミティブを 非常に少ない関数呼び出しで指定する。 個々の頂点・法線・テクスチャ座標・稜線フラグ・色を GL の関数 に渡すのではなく、頂点・法線などを別々の配列として予め用意しておき、 これらを使って glDrawElements を一回呼び出すだけで プリミティブ列を生成できる。 glDrawElements が呼ばれると、この関数は count 個の 連続する要素を有効状態にされている配列から取り出し、幾何プリミティブ の列を生成する。配列は indices の位置から参照を始める。 複数の配列が有効状態ならば、どの配列も使われる。 GL_VERTEX_ARRAY が無効の場合は、幾何プリミティブはまったく 生成されない。 glDrawElements によって変更された頂点属性について、 glDrawElements から復帰した後の値は不定である。 例えば、GL_COLOR_ARRAY が有効な場合、現在の色の値は glDrawElements の実行後には不定となる。 変更されていない属性値は正しく定義されたままである。  

注意

glDrawElements はバージョン 1.1 以降の GL でしか使えない。 glDrawElements はディスプレイリストに含まれる。 glDrawElements がディスプレイリストに入っている場合は、必要とされる 配列データ(配列を指すポインタと有効状態により決まる)もディスプレイリスト に入っている。 配列を指すポインタと有効状態はクライアント側の状態であるため、 これらの値はディスプレイリストが作られる際にディスプレイリストに 影響を与える。ディスプレイリストが実行される際ではない。  

エラー

GL_INVALID_ENUM: mode の値が不正である場合に起こる。 GL_INVALID_VALUE: count が負の値である場合に起こる。 GL_INVALID_OPERATION: glBegin と、その対になる glEnd の間で glDrawElements が実行されると起こる。  

関連項目

glArrayElement(3G), glColorPointer(3G), glDrawArrays(3G), glDrawRangeElements(3G), glEdgeFlagPointer(3G), glGetPointerv(3G), glIndexPointer(3G), glInterleavedArrays(3G), glNormalPointer(3G), glTexCoordPointer(3G), glVertexPointer(3G)


 

Index

名前
書式
引き数
説明
注意
エラー
関連項目

jman



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