Spec-Zone.ru › Web APIs

WEBGL_multi_draw: multiDrawArraysInstancedWEBGL() метод

Ограниченная доступность

Эта функция не является базовой, так как она не работает во всех широко используемых браузерах.

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

Метод WEBGL_multi_draw.multiDrawArraysInstancedWEBGL() API WebGL API отображает несколько примитивов из данных массива. Он идентичен нескольким вызовам метода gl.drawArraysInstanced().

Синтаксис

multiDrawArraysInstancedWEBGL(mode,
    firstsList, firstsOffset,
    countsList, countsOffset,
    instanceCountsList, instanceCountsOffset,
    drawCount);

Параметры

mode

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

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

Массив Int32Array или Array (из GLint) содержащий список начальных индексов для массивов векторов.

firstsOffset

GLuint, определяющий начальную позицию в массиве firstsLists.

countsList

Массив Int32Array или Array (из GLsizei) содержащий список количества индексов для отрисовки.

countsOffset

GLuint, определяющий начальную позицию в массиве countsList.

instanceCountsList

Массив Int32Array или Array (из GLsizei) содержащий список количества экземпляров диапазона элементов для выполнения.

instanceCountsOffset

GLuint, определяющий начальную позицию в массиве instanceCountsList.

drawCount

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

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

Ничего.

Исключения

  • Если mode не соответствует допустимым значениям, выбрасывается ошибка gl.INVALID_ENUM.
  • Если drawCount или элементы в firstsList, countsList, или instanceCountsList отрицательные, выбрасывается ошибка gl.INVALID_VALUE.
  • Если gl.CURRENT_PROGRAM null, выбрасывается ошибка gl.INVALID_OPERATION.

Примеры

const firsts = new Int32Array(/* … */);
const counts = new Int32Array(/* … */);
const instanceCounts = new Int32Array(/* … */);
ext.multiDrawArraysInstancedWEBGL(
  gl.TRIANGLES,
  firsts,
  0,
  counts,
  0,
  instanceCounts,
  0,
  firsts.length,
);

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

Спецификация
Спецификация расширения WebGL WEBGL_multi_draw

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
multiDrawArraysInstancedWEBGL 86 86 Нет 72 15 86 Нет Нет 15 14.0 86

См. также

  • WebGLRenderingContext.drawArrays()
  • WebGL2RenderingContext.drawArraysInstanced()

© 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/WEBGL_multi_draw/multiDrawArraysInstancedWEBGL

Spec-Zone.ru

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