Spec-Zone.ru › Web APIs

ANGLE_instanced_arrays: метод drawElementsInstancedANGLE()

Базовая Широко поддерживается

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июня 2016 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Метод ANGLE_instanced_arrays.drawElementsInstancedANGLE() API WebGL рендерит примитивы из данных массива, как и метод gl.drawElements(). Кроме того, он может выполнять несколько экземпляров набора элементов.

Примечание: При использовании WebGL2, этот метод доступен по умолчанию как gl.drawElementsInstanced().

Синтаксис

drawElementsInstancedANGLE(mode, count, type, offset, primcount)

Параметры

mode

Значение GLenum, определяющее тип примитива для рендеринга. Возможные значения:

  • gl.POINTS: Рисует одну точку.
  • gl.LINE_STRIP: Рисует прямую линию до следующей вершины.
  • gl.LINE_LOOP: Рисует прямую линию до следующей вершины и соединяет последнюю вершину с первой.
  • gl.LINES: Рисует линию между двумя вершинами.
  • gl.TRIANGLE_STRIP
  • gl.TRIANGLE_FAN
  • gl.TRIANGLES: Рисует треугольник для группы из трёх вершин.
count

Значение GLsizei, определяющее количество элементов для рендеринга.

type

Значение GLenum, определяющее тип значений в буфере массива элементов. Возможные значения:

  • gl.UNSIGNED_BYTE
  • gl.UNSIGNED_SHORT
  • gl.UNSIGNED_INT при использовании расширения OES_element_index_uint.
offset

Значение GLintptr, определяющее смещение в буфере массива элементов. Должно быть корректным кратным размеру заданного type.

primcount

Значение GLsizei, определяющее количество экземпляров набора элементов для выполнения.

Возвращаемое значение

Ничего (undefined).

Исключения

  • Если mode не является одним из допустимых значений, генерируется ошибка gl.INVALID_ENUM.
  • Если offset не является корректным кратным размеру заданного типа, генерируется ошибка gl.INVALID_OPERATION.
  • Если count или primcount отрицательны, генерируется ошибка gl.INVALID_VALUE.

Примеры

const ext = gl.getExtension("ANGLE_instanced_arrays");
ext.drawElementsInstancedANGLE(gl.POINTS, 2, gl.UNSIGNED_SHORT, 0, 4);

Спецификации

Спецификация
Спецификация расширения WebGL ANGLE_instanced_arrays от Khronos

Совместимость с браузерами

Рабочие столы Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
drawElementsInstancedANGLE 30 12 47 17 8 30 47 18 8 2.0 4.4

См. также

  • ext.drawArraysInstancedANGLE()
  • ext.vertexAttribDivisorANGLE()
  • WebGLRenderingContext.drawArrays()
  • WebGLRenderingContext.drawElements()
  • WebGL2RenderingContext.drawArraysInstanced()
  • WebGL2RenderingContext.drawElementsInstanced()
  • WebGL2RenderingContext.vertexAttribDivisor()
  • WEBGL_multi_draw.multiDrawElementsInstancedWEBGL()

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ANGLE_instanced_arrays/drawElementsInstancedANGLE

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API