ANGLE_instanced_arrays: drawElementsInstancedANGLE() 方法

ANGLE_instanced_arrays.drawElementsInstancedANGLE()WebGL API 的一种方法,它像 gl.drawElements() 方法一样,从数组数据中渲染基本图形。此外,它可以执行一组元素的多个实例。

注意: 当使用 WebGL2 时,此方法默认情况下可用作 gl.drawElementsInstanced()

语法

js
drawElementsInstancedANGLE(mode, count, type, offset, primcount)

参数

mode

一个 GLenum,指定要渲染的基元类型。可能的取值是

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

一个 GLsizei,指定要渲染的元素数量。

type

一个 GLenum,指定元素数组缓冲区中值的类型。可能的取值是

offset

一个 GLintptr,指定元素数组缓冲区中的偏移量。必须是给定 type 大小的有效倍数。

primcount

一个 GLsizei,指定要执行的一组元素的实例数量。

返回值

无 (undefined).

异常

  • 如果 mode 不是接受的值之一,则会抛出 gl.INVALID_ENUM 错误。
  • 如果 offset 不是给定类型的有效倍数,则会抛出 gl.INVALID_OPERATION 错误。
  • 如果 countprimcount 为负数,则会抛出 gl.INVALID_VALUE 错误。

示例

js
const ext = gl.getExtension("ANGLE_instanced_arrays");
ext.drawElementsInstancedANGLE(gl.POINTS, 2, gl.UNSIGNED_SHORT, 0, 4);

规范

规范
WebGL ANGLE_instanced_arrays Khronos 批准扩展规范

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅