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 является частью API WebGL и позволяет рисовать один и тот же объект или группы похожих объектов несколько раз, если они используют одни и те же данные вершин, количество примитивов и тип.
Доступ к WebGL расширениям можно получить с помощью метода WebGLRenderingContext.getExtension()
. Для получения дополнительной информации см. также в Использование расширений в WebGL руководстве.
Примечание:
Это расширение доступно только для WebGL1 контекстов. В WebGL2, функциональность этого расширения доступна в контексте WebGL2 по умолчанию, а константы и методы доступны без суффикса " ANGLE
".
Несмотря на название "ANGLE", это расширение работает на любом устройстве, если аппаратное обеспечение поддерживает его, а не только на Windows при использовании библиотеки ANGLE . "ANGLE" просто указывает, что это расширение было написано авторами библиотеки ANGLE.
Константы
Это расширение предоставляет одну новую константу, которую можно использовать в gl.getVertexAttrib()
методе:
ext.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE
-
Возвращает
GLint
, описывающий частотный делитель, используемый для упомянутого перевода вgl.getVertexAttrib()
в качестве параметраpname
.
Методы
Это расширение предоставляет три новых метода:
ext.drawArraysInstancedANGLE()
-
Behaves identically to
gl.drawArrays()
except that multiple instances of the range of elements are executed, and the instance advances for each iteration. ext.drawElementsInstancedANGLE()
-
Ведёт себя идентично
gl.drawElements()
за исключением того, что выполняется несколько экземпляров набора элементов и экземпляр перемещается между каждым набором ext.vertexAttribDivisorANGLE()
-
Изменяет скорость продвижения общих атрибутов вершин при визуализации нескольких экземпляров примитивов с помощью
ext.drawArraysInstancedANGLE()
иext.drawElementsInstancedANGLE()
.
Примеры
Включение расширения:
var ext = gl.getExtension("ANGLE_instanced_arrays");
Спецификации
Specification |
---|
WebGL ANGLE_instanced_arrays Khronos Ratified Extension Specification |
Совместимость с браузерами
BCD tables only load in the browser