WebGLRenderingContext.drawElements()

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.

WebGLRenderingContext.drawElements() 方法 在 WebGL API 从数组数据渲染图元。

语法

void gl.drawElements(mode, count, type, offset);

参数

mode

枚举类型 指定要渲染的图元类型。可以是以下类型:

  • gl.POINTS: 画单独的点。
  • gl.LINE_STRIP: 画一条直线到下一个顶点。
  • gl.LINE_LOOP: 绘制一条直线到下一个顶点,并将最后一个顶点返回到第一个顶点。
  • gl.LINES: 在一对顶点之间画一条线。
  • gl.TRIANGLE_STRIP
  • gl.TRIANGLE_FAN
  • gl.TRIANGLES: 为一组三个顶点绘制一个三角形。
count

整数型 指定要渲染的元素数量。

type

枚举类型 指定元素数组缓冲区中的值的类型。可能的值是:

offset

字节单位 指定元素数组缓冲区中的偏移量。必须是给定类型大小的有效倍数。

返回值

None.

异常

  • 如果 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

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
drawElements

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

相关参考