WebGLRenderingContext: метод drawElements()
Базовая линия Широко доступен
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Примечание: Эта функция доступна в Web Workers.
Метод WebGLRenderingContext.drawElements() API WebGL отрисовывает примитивы из данных массива.
Синтаксис
drawElements(mode, count, type, offset)
Параметры
mode-
Значение
GLenum, определяющее тип примитива для отрисовки. Возможные значения:-
gl.POINTS: Рисует одну точку. -
gl.LINE_STRIP: Рисует прямую линию до следующей вершины. -
gl.LINE_LOOP: Рисует прямую линию до следующей вершины и соединяет последнюю вершину с первой. -
gl.LINES: Рисует линию между парой вершин. gl.TRIANGLE_STRIPgl.TRIANGLE_FAN-
gl.TRIANGLES: Рисует треугольник для группы из трёх вершин.
-
count-
Значение
GLsizei, определяющее количество элементов связанного буфера массива элементов, которые нужно отрисовать. Например, для отрисовки каркасного треугольника сgl.LINES, количество должно быть 2 конечными точками на линию × 3 линии = 6 элементов. Однако, для отрисовки того же каркасного треугольника сgl.LINE_STRIP, буфер массива элементов не повторяет индексы для конца первой линии/начала второй линии и конца второй линии/начала третьей линии, поэтомуcountбудет четыре. Для отрисовки того же треугольника сgl.LINE_LOOP, буфер массива элементов также не повторяет первую/последнюю вершину, поэтомуcountбудет три. type-
Значение
GLenum, определяющее тип значений в буфере массива элементов. Возможные значения:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORT
При использовании расширения
OES_element_index_uint:gl.UNSIGNED_INT
offset-
Значение
GLintptr, определяющее байтовый смещение в буфере массива элементов. Должно быть допустимым кратным размеру указанногоtype.
Возвращаемое значение
Ничего (undefined).
Исключения
- Если
modeне соответствует допустимым значениям, выбрасывается ошибкаgl.INVALID_ENUM. - Если
offsetне является допустимым кратным размеру данного типа, выбрасывается ошибкаgl.INVALID_OPERATION. - Если
countотрицательно, выбрасывается ошибкаgl.INVALID_VALUE.
Примеры
gl.drawElements(gl.POINTS, 8, gl.UNSIGNED_BYTE, 0);
Спецификации
| Спецификация |
|---|
| Спецификация WebGL # 5.14.11 |
Совместимость с браузерами
| Десктоп | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
drawElements |
9 | 12 | 4 | 12 | 5.1 | 25 | 4 | 12 | 8 | 1.5 | 4.4.3 |
См. также
© 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/WebGLRenderingContext/drawElements