WebGLRenderingContext.drawElements()
WebGLRenderingContext.drawElements() は WebGL API のメソッドで、配列データのプリミティブを描画します。
構文
js
drawElements(mode, count, type, offset)
引数
mode-
GLenumで、描画するプリミティブの型を指定します。取りうる値は次の通りです。gl.POINTS: 単一の点を描きます。gl.LINE_STRIP: 直線を次の頂点に向けて描きます。gl.LINE_LOOP: 直線を次の頂点に向けて描き、最後の頂点を最初の頂点に接続します。gl.LINES: 2 つの頂点の間に線を描きます。gl.TRIANGLE_STRIPgl.TRIANGLE_FANgl.TRIANGLES: 3 つの頂点のグループで三角形を描きます。
- count
-
GLsizeiで、レンダリングする要素配列バッファーの要素数を指定します。例えば、gl.LINESを使ってワイヤーフレームの三角形を描く場合、線 1 本あたり 2 つの端点× 3 本 = 6 要素になります。しかし、同じワイヤーフレームの三角形をgl.LINE_STRIPで描画する場合、要素配列バッファーは 1 本目の終点/ 2 本目の始点、 2 本目の終点/ 3 本目の始点のインデックスを繰り返さないので、countは 4 個となります。同じ三角形をgl.LINE_LOOPで描画する場合、要素配列バッファーは最初と最後の頂点を繰り返さないので、countは 3 となります。 - type
-
GLenumで、要素の配列バッファーの値の型を指定します。取りうる値は次の通りです。gl.UNSIGNED_BYTEgl.UNSIGNED_SHORTOES_element_index_uint(en-US) 拡張を使用する場合:gl.UNSIGNED_INT
- offset
-
GLintptrで、要素の配列バッファー内における倍とオフセットを指定します。指定されたtypeの大きさの正しい倍数でなければなりません。
返値
なし (undefined)。
例外
modeが受け付けられる値のいずれでもなかった場合、gl.INVALID_ENUMエラーが発生します。offsetが指定された型の正しい倍数でなければ、gl.INVALID_OPERATIONエラーが発生します。countが負の数であった場合は、gl.INVALID_VALUEエラーが発生します。
例
js
gl.drawElements(gl.POINTS, 8, gl.UNSIGNED_BYTE, 0);
仕様書
| Specification |
|---|
| WebGL Specification # 5.14.11 |
ブラウザーの互換性
BCD tables only load in the browser