WebGLRenderingContext: drawArrays() 方法
基线 广泛可用
此功能已稳定并可在许多设备和浏览器版本上运行。它自 2015 年 7 月.
报告反馈
语法
WebGLRenderingContext.drawArrays()
方法是 WebGL API 的一部分,用于从数组数据渲染图元。drawArrays(mode, first, count)
参数
mode
-
一个
GLenum
,指定要渲染的图元类型。可能的值包括:gl.POINTS
: 绘制单个点。gl.LINE_STRIP
: 绘制一条连接到下一个顶点的直线。-
gl.LINE_LOOP
: 绘制一条连接到下一个顶点的直线,并将最后一个顶点连接回第一个顶点。 gl.LINES
: 绘制一对顶点之间的线段。gl.TRIANGLE_STRIP
gl.TRIANGLE_FAN
gl.TRIANGLES
: 为一组三个顶点绘制一个三角形。
注意:如果
mode
为POINTS
,则可能需要设置gl_PointSize
以便drawArrays
进行渲染,因为如果未显式写入,则其值为未知。只有某些 GPU 将其默认值设置为1.0
。 first
-
一个
GLint
,指定向量点数组中的起始索引。 count
-
一个
GLsizei
,指定要渲染的索引数量。
返回值
无 (undefined
).
异常
- 如果
mode
不是接受的值之一,则会抛出gl.INVALID_ENUM
错误。 - 如果
first
或count
为负数,则会抛出gl.INVALID_VALUE
错误。 - 如果
gl.CURRENT_PROGRAM
为null
,则会抛出gl.INVALID_OPERATION
错误。
示例
WebGLRenderingContext.drawArrays()
方法是 WebGL API 的一部分,用于从数组数据渲染图元。gl.drawArrays(gl.POINTS, 0, 8);
规范
规范 |
---|
WebGL 规范 # 5.14.11 |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
参见
WebGLRenderingContext.drawElements()
ext.drawArraysInstancedANGLE()
ext.drawElementsInstancedANGLE()
ext.vertexAttribDivisorANGLE()
WebGL2RenderingContext.drawArraysInstanced()
WebGL2RenderingContext.drawElementsInstanced()
WebGL2RenderingContext.vertexAttribDivisor()
WEBGL_multi_draw.multiDrawArraysWEBGL()