ANGLE_instanced_arrays

ANGLE_instanced_arrays属于 WebGL API 的一个扩展API,如果使用它们提供了相同的顶点数据或者是原始的数目和类型的话,就可以绘制相同的对象或是被多次使用的相似的对象组。
 
WebGL的扩展都能使用WebGLRenderingContext.getExtension() 这个方法。更多详细信息,请参考 WebGL tutorial(WebGL使用教程)的Using Extensions (教你用扩展)
 

实用性: 这个扩展仅仅能使用在 WebGL1 上下文中。在 WebGL2,默认情况下这个扩展的在WebGL2的上下文中起作用,它的常量以及方法使用过程中不后缀“ANGEL”。

尽管名字叫“ANGLE”,但如果硬件支持,它可以运行在任意设备上,而不仅只是在使用了ANGLE库Windows上起作用。 "ANGLE"只是表明了这个扩展是被ANGLE这个库的作者书写的,并没有其他什么含义。

常量

这个扩展暴露了一个常量,它能被 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()这辆汇总方式 来渲染基元素的多实例时,基本的顶点属性进展速度就会改变。

实例

启用扩展:

var ext = gl.getExtension("ANGLE_instanced_arrays");

标准

Specification Status Comment
ANGLE_instanced_arrays
ANGLE_instanced_arrays
Recommendation Initial definition.

浏览器兼容性

No compatibility data found. Please contribute data for "api/ANGLE_instanced_arrays" (depth: ANGLE_instanced_arrays) to the MDN compatibility data repository.

相关链接

文档标签和贡献者