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. |
浏览器兼容性
这个页面的兼容性表是从结构化数据生成的。如果你想对数据进行贡献,请点击https://github.com/mdn/browser-compat-data 并给我们发送一封拉人的请求消息.
No compatibility data found. Please contribute data for "api/ANGLE_instanced_arrays" (depth: ANGLE_instanced_arrays) to the MDN compatibility data repository.