WebGLRenderingContext: drawElements() 方法

基线 广泛可用

此功能已久,并在许多设备和浏览器版本中正常运行。它自 2015 年 7 月.

报告反馈

语法

WebGLRenderingContext.drawElements() 方法是 WebGL API 的一部分,用于从数组数据渲染基本图形。
drawElements(mode, count, type, offset)

js

参数

mode

  • 一个 GLenum,用于指定要渲染的基本图形类型。可能的值有:
  • gl.POINTS:绘制单个点。
  • gl.LINE_STRIP:绘制到下一个顶点的直线。
  • gl.LINE_LOOP:绘制到下一个顶点的直线,并将最后一个顶点连接回第一个顶点。
  • gl.LINES:绘制连接一对顶点的线段。
  • gl.TRIANGLE_STRIP
  • gl.TRIANGLE_FAN
gl.TRIANGLES:绘制由三个顶点组成的三角形。

count

一个 GLsizei,指定要渲染的绑定元素数组缓冲区的元素数量。例如,要绘制一个带有 gl.LINES 的线框三角形,计数应该为 2 个端点/线 × 3 条线 = 6 个元素。但是,要绘制相同线框三角形,但使用 gl.LINE_STRIP,元素数组缓冲区不会重复第一条线末端/第二条线开始的索引,以及第二条线末端/第三条线开始的索引,因此 count 将为 4。要绘制相同三角形,但使用 gl.LINE_LOOP,元素数组缓冲区也不会重复第一个/最后一个顶点,因此 count 将为 3。

type

  • 一个 GLenum,指定元素数组缓冲区中值的类型。可能的值有:
  • gl.UNSIGNED_BYTE

gl.UNSIGNED_SHORT

gl.UNSIGNED_INT

offset

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

返回值

无 (undefined).

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

示例

WebGLRenderingContext.drawElements() 方法是 WebGL API 的一部分,用于从数组数据渲染基本图形。
gl.drawElements(gl.POINTS, 8, gl.UNSIGNED_BYTE, 0);

规范

如果 count 为负数,则会抛出 gl.INVALID_VALUE 错误。
规范
# 5.14.11

浏览器兼容性

WebGL 规范

另请参阅