WebGL2RenderingContext: drawArraysInstanced() 方法

Baseline 已广泛支持

此功能已成熟,并可在多种设备和浏览器版本上运行。自 2021 年 9 月起,所有浏览器均已支持此功能。

注意:此功能在 Web Workers 中可用。

WebGL2RenderingContext.drawArraysInstanced() 方法是 WebGL 2 API 的一部分,它像 gl.drawArrays() 方法一样,通过数组数据渲染图元。此外,它还可以执行范围内的元素的多重实例渲染。

注意:在使用 WebGL 1 时,ANGLE_instanced_arrays 扩展也可以提供此方法。

语法

js
drawArraysInstanced(mode, first, count, instanceCount)

参数

模式

一个 GLenum,指定要渲染的图元类型。可能的值有:

  • gl.POINTS:绘制一个点。
  • gl.LINE_STRIP:绘制一条连接到下一个顶点的直线。
  • gl.LINE_LOOP:绘制一条连接到下一个顶点的直线,并将最后一个顶点连接回第一个顶点。
  • gl.LINES:在两个顶点之间绘制一条线。
  • gl.TRIANGLE_STRIP
  • gl.TRIANGLE_FAN
  • gl.TRIANGLES:为一组三个顶点绘制一个三角形。
first

一个 GLint,指定向量点数组中的起始索引。

计数

一个 GLsizei,指定要渲染的索引数量。

instanceCount

一个 GLsizei 类型的值,指定要执行的元素范围的实例数量。

返回值

无(undefined)。

示例

js
gl.drawArraysInstanced(gl.POINTS, 0, 8, 4);

规范

规范
WebGL 2.0 规范
# 3.7.9

浏览器兼容性

另见