Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web APIs
  3. WebGLRenderingContext
  4. drawElements()

WebGLRenderingContext: drawElements() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨July 2015⁩.

Note: This feature is available inWeb Workers.

TheWebGLRenderingContext.drawElements() method of theWebGL API renders primitives from array data.

Syntax

js
drawElements(mode, count, type, offset)

Parameters

mode

AGLenum specifying the type primitive to render. Possible valuesare:

  • gl.POINTS: Draws a single dot.
  • gl.LINE_STRIP: Draws a straight line to the next vertex.
  • gl.LINE_LOOP: Draws a straight line to the next vertex, andconnects the last vertex back to the first.
  • gl.LINES: Draws a line between a pair of vertices.
  • gl.TRIANGLE_STRIP
  • gl.TRIANGLE_FAN
  • gl.TRIANGLES: Draws a triangle for a group of three vertices.
count

AGLsizei specifying the number of elements of the bound element arraybuffer to be rendered. For example, to draw a wireframe triangle withgl.LINESthe count should be 2 endpoints per line × 3 lines = 6 elements. However to draw thesame wireframe triangle withgl.LINE_STRIP the element array buffer does notrepeat the indices for the end of the first line/start of the second line, and end of thesecond line/start of the third line, socount will be four. To draw the sametriangle withgl.LINE_LOOP the element array buffer does not repeat thefirst/last vertex either socount will be three.

type

AGLenum specifying the type of the values in the element arraybuffer. Possible values are:

  • gl.UNSIGNED_BYTE
  • gl.UNSIGNED_SHORT

When using theOES_element_index_uint extension:

  • gl.UNSIGNED_INT
offset

AGLintptr specifying a byte offset in the element array buffer. Mustbe a valid multiple of the size of the giventype.

Return value

None (undefined).

Exceptions

  • Ifmode is not one of the accepted values, agl.INVALID_ENUM error is thrown.
  • Ifoffset is not a valid multiple of the size of the given type, agl.INVALID_OPERATION error is thrown.
  • Ifcount is negative, agl.INVALID_VALUE error is thrown.

Examples

js
gl.drawElements(gl.POINTS, 8, gl.UNSIGNED_BYTE, 0);

Specifications

Specification
WebGL Specification
# 5.14.11

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp