ANGLE_instanced_arrays - Web API 接口参考 编辑

ANGLE_instanced_arrays属于 WebGL API 的一个扩展API,它允许多次绘制相同的对象或相似对象组,前提是它们共享相同的顶点数据、基本图形的个数和类型。 WebGL的扩展都能使用WebGLRenderingContext.getExtension() 这个方法。更多详细信息,请参考 WebGL tutorial(WebGL使用教程)里的Using Extensions (使用扩展)

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

尽管名字叫“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");

规范

SpecificationStatusComment
ANGLE_instanced_arrays
ANGLE_instanced_arrays
Recommendation初始定义。

浏览器兼容性

BCD tables only load in the browser

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:55 次

字数:5207

最后编辑:6 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文