WEBGL_multi_draw: метод multiDrawElementsWEBGL()
Ограниченная доступность
Эта функция не является базовой, так как она не работает в некоторых из наиболее широко используемых браузеров.
Метод WEBGL_multi_draw.multiDrawElementsWEBGL() API WebGL рендерит несколько примитивов из данных массива. Он идентичен нескольким вызовам метода gl.drawElements().
Синтаксис
multiDrawElementsWEBGL(mode,
countsList, countsOffset,
type,
firstsList, firstsOffset,
drawCount);
Параметры
mode-
Значение
GLenum, определяющее тип примитива для рендеринга. Возможные значения:-
gl.POINTS: Рисует одну точку. -
gl.LINE_STRIP: Рисует прямую линию до следующей вершины. -
gl.LINE_LOOP: Рисует прямую линию до следующей вершины и соединяет последнюю вершину с первой. -
gl.LINES: Рисует линию между парой вершин. gl.TRIANGLE_STRIPgl.TRIANGLE_FAN-
gl.TRIANGLES: Рисует треугольник для группы из трёх вершин.
-
countsList-
Массив
Int32ArrayилиArray(изGLint) который содержит список чисел, указывающих на индексы для отрисовки. countsOffset-
Значение
GLUint, определяющее начальную позицию в массивеcountsList. - тип
-
Значение
GLenum, определяющее тип значений в буфере массива элементов. Возможные значения:-
gl.UNSIGNED_BYTE -
gl.UNSIGNED_SHORT -
При использовании расширения
OES_element_index_uint:gl.UNSIGNED_INT
-
offsetsList-
Массив
Int32ArrayилиArray(изGLsizei) который содержит список начальных индексов для массивов векторов. offsetsOffset-
Значение
GLuint, определяющее начальную позицию в массивеoffsetsList. drawCount-
Значение
GLsizei, определяющее количество экземпляров диапазона элементов для выполнения.
Возвращаемое значение
Ничего.
Исключения
- Если
modeне соответствует допустимым значениям, выбрасывается ошибкаgl.INVALID_ENUM. - Если
drawCountили элементы вcountsListилиoffsetsListотрицательные, выбрасывается ошибкаgl.INVALID_VALUE.
Примеры
const counts = new Int32Array(/* … */); const offsets = new Int32Array(/* … */); ext.multiDrawElementsWEBGL( gl.TRIANGLES, counts, 0, gl.UNSIGNED_SHORT, offsets, 0, counts.length, );
Спецификации
| Спецификация |
|---|
| Спецификация расширения WebGL WEBGL_multi_draw |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
multiDrawElementsWEBGL |
86 | 86 | Нет | 72 | 15 | 86 | Нет | Нет | 15 | 14.0 | 86 |
См. также
© 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/multiDrawElementsWEBGL