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
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連項目
-
Time: 07:01:06 GMT, January 12, 2009