GLDRAWARRAYS
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glDrawArrays
- 配列データを使ってプリミティブをレンダリングする
書式
void glDrawArrays(
GLenum mode,
GLint first,
GLsizei count )
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
である。
- first
-
有効な状態にある配列の開始インデックスを指定する。
- count
-
レンダリングするインデックスの数を指定する。
説明
glDrawArrays は、非常に少ない関数呼び出しで
複数の幾何形状プリミティブを指定する。
頂点、法線、テクスチャ座標、稜線フラグ、色を別々の GL 関数に渡す
のではなく、頂点、法線、色の配列を予め個別に用意しておき、
glDrawArrays を一度呼び出すだけでプリミティブ列を作ること
ができる。
glDrawArrays が呼ばれると、この関数は有効な状態にある
それぞれの配列から連続する count 個の要素を取り出し、
これを使って幾何形状プリミティブの列を作る。
配列は first 番目の要素から参照する。
mode は作るプリミティブの種類と、配列の要素からのプリミティブ
の作り方を指定する。
GL_VERTEX_ARRAY が有効でない場合は、幾何形状プリミティブは
まったく作られない。
glDrawArrays によって変更された頂点属性について、
glDrawArrays から復帰した後の値は不定である。
例えば、GL_COLOR_ARRAY が有効な場合、現在の色の値は
glDrawArrays の実行後には不定となる。
変更されていない属性値は正しく定義されたままである。
注意
glDrawArrays は、バージョン 1.1 以降の GL でしか使えない。
glDrawArrays はディスプレイリストに含まれる。
glDrawArrays がディスプレイリストに入っている場合は、必要とされる
配列データ(配列を指すポインタと有効状態により決まる)もディスプレイリスト
に入っている。
配列を指すポインタと有効状態はクライアント側の状態であるため、
これらの値はディスプレイリストが作られる際にディスプレイリストに
影響を与える。ディスプレイリストが実行される際ではない。
エラー
GL_INVALID_ENUM:
mode の値が不正である場合に起こる。
GL_INVALID_VALUE:
count が負の値である場合に起こる。
GL_INVALID_OPERATION:
glBegin と、その対になる glEnd の間で
glDrawArrays が実行されると起こる。
関連項目
glArrayElement(3G),
glColorPointer(3G),
glDrawElements(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