WebGLRenderingContext: drawArrays() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.drawArrays() 方法是 WebGL API 的一部分,用于从数组数据渲染图元。
语法
js
drawArrays(mode, first, count)
参数
模式-
一个
GLenum,指定要渲染的图元类型。可能的值有:gl.POINTS:绘制一个点。gl.LINE_STRIP:绘制一条连接到下一个顶点的直线。gl.LINE_LOOP:绘制一条连接到下一个顶点的直线,并将最后一个顶点连接回第一个顶点。gl.LINES:在两个顶点之间绘制一条线。gl.TRIANGLE_STRIPgl.TRIANGLE_FANgl.TRIANGLES:为一组三个顶点绘制一个三角形。
注意: 如果
mode是POINTS,可能需要设置gl_PointSize才能使drawArrays进行渲染,因为如果未显式写入,其值是未知的。只有部分 GPU 会将其默认值设置为1.0。 first-
一个
GLint,指定向量点数组中的起始索引。 计数-
一个
GLsizei,指定要渲染的索引数量。
返回值
无(undefined)。
异常
- 如果
mode不是接受的值之一,则会抛出gl.INVALID_ENUM错误。 - 如果
first或count为负数,则会抛出gl.INVALID_VALUE错误。 - 如果
gl.CURRENT_PROGRAM为null,则会抛出gl.INVALID_OPERATION错误。
示例
js
gl.drawArrays(gl.POINTS, 0, 8);
规范
| 规范 |
|---|
| WebGL 规范 # 5.14.11 |
浏览器兼容性
加载中…
另见
WebGLRenderingContext.drawElements()ext.drawArraysInstancedANGLE()ext.drawElementsInstancedANGLE()ext.vertexAttribDivisorANGLE()WebGL2RenderingContext.drawArraysInstanced()WebGL2RenderingContext.drawElementsInstanced()WebGL2RenderingContext.vertexAttribDivisor()WEBGL_multi_draw.multiDrawArraysWEBGL()