ANGLE_instanced_arrays: drawArraysInstancedANGLE() 方法
ANGLE_instanced_arrays.drawArraysInstancedANGLE()
方法是 WebGL API 中的一种方法,它与 gl.drawArrays()
方法一样,可以从数组数据中渲染图元。 此外,它还可以执行元素范围的多个实例。
注意: 当使用 WebGL2
时,默认情况下此方法可作为 gl.drawArraysInstanced()
使用。
语法
js
drawArraysInstancedANGLE(mode, first, count, primcount)
参数
mode
-
一个
GLenum
,指定要渲染的图元类型。 可能的值为gl.POINTS
: 绘制一个点。gl.LINE_STRIP
: 绘制到下一个顶点的直线。gl.LINE_LOOP
: 绘制到下一个顶点的直线,并将最后一个顶点连接回第一个顶点。gl.LINES
: 绘制一对顶点之间的线。gl.TRIANGLE_STRIP
gl.TRIANGLE_FAN
gl.TRIANGLES
: 为一组三个顶点绘制三角形。
first
-
一个
GLint
,指定向量点数组中的起始索引。 count
-
一个
GLsizei
,指定要渲染的索引数量。 primcount
-
一个
GLsizei
,指定要执行的元素范围的实例数量。
返回值
无 (undefined
)。
异常
- 如果
mode
不是接受的值之一,则会抛出gl.INVALID_ENUM
错误。 - 如果
first
、count
或primcount
为负,则会抛出gl.INVALID_VALUE
错误。 - 如果
gl.CURRENT_PROGRAM
为null
,则会抛出gl.INVALID_OPERATION
错误。
示例
js
const ext = gl.getExtension("ANGLE_instanced_arrays");
ext.drawArraysInstancedANGLE(gl.POINTS, 0, 8, 4);
规范
规范 |
---|
WebGL ANGLE_instanced_arrays Khronos 批准扩展规范 |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。
参见
ext.drawElementsInstancedANGLE()
ext.vertexAttribDivisorANGLE()
WebGLRenderingContext.drawArrays()
WebGLRenderingContext.drawElements()
WebGL2RenderingContext.drawArraysInstanced()
WebGL2RenderingContext.drawElementsInstanced()
WebGL2RenderingContext.vertexAttribDivisor()
WEBGL_multi_draw.multiDrawArraysInstancedWEBGL()