ANGLE_instanced_arrays
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since June 2016.
ANGLE_instanced_arrays
是属于 WebGL API 的一个扩展 API,它允许多次绘制相同的对象或相似对象组,前提是它们共享相同的顶点数据、基本图形的个数和类型。WebGL 的扩展都能使用WebGLRenderingContext.getExtension()
这个方法。更多详细信息,请参考 WebGL tutorial(WebGL 使用教程)里的Using Extensions (使用扩展)。
常量
这个扩展提供了一个新常量,它能被 gl.getVertexAttrib()
这个方法所使用:
ext.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE
-
当这个常量在
gl.getVertexAttrib()
中作为 pname 参数使用时,将返回一个用于实例渲染的频率因子GLint
。
方法
这个扩展提供了三个新的方法。
ext.drawArraysInstancedANGLE()
-
作用与
gl.drawArrays()
相同,除了元素范围的多实例的执行以及每次迭代时的实例扩展。 ext.drawElementsInstancedANGLE()
-
作用与
gl.drawElements()
相同,除了元素集中的多实例的计算以及每个集之间的实例扩展。 ext.vertexAttribDivisorANGLE()
-
当用
ext.drawArraysInstancedANGLE()
和ext.drawElementsInstancedANGLE()
渲染基本图元的多实例时,会提升通用的顶点属性的速度。
示例
启用扩展:
js
var ext = gl.getExtension("ANGLE_instanced_arrays");
规范
Specification |
---|
WebGL ANGLE_instanced_arrays Khronos Ratified Extension Specification |
浏览器兼容性
BCD tables only load in the browser