WebGLRenderingContext: метод drawArrays()
Базовая реализация Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Примечание: Эта функция доступна в Web Workers.
Метод WebGLRenderingContext.drawArrays() API WebGL отображает примитивы из данных массива.
Синтаксис
drawArrays(mode, first, count)
Параметры
mode-
Тип
GLenum, определяющий примитив для отображения. Возможные значения:-
gl.POINTS: Отображает одну точку. -
gl.LINE_STRIP: Отображает прямую линию до следующей вершины. -
gl.LINE_LOOP: Отображает прямую линию до следующей вершины и соединяет последнюю вершину с первой. -
gl.LINES: Отображает линию между парой вершин. gl.TRIANGLE_STRIPgl.TRIANGLE_FAN-
gl.TRIANGLES: Отображает треугольник для группы из трёх вершин.
Примечание: Если
modeравноPOINTS, может потребоваться установитьgl_PointSizeдля корректного отображенияdrawArrays, так как его значение неизвестно, если оно не задано явно. Некоторые графические процессоры устанавливают его значение по умолчанию как1.0. -
first-
GLintиндекс начала массива векторов. count-
GLsizeiколичество индексов для отображения.
Возвращаемое значение
Ничего (undefined).
Исключения
- Если
modeне является допустимым значением, выбрасывается ошибкаgl.INVALID_ENUM. - Если
firstилиcountотрицательны, выбрасывается ошибкаgl.INVALID_VALUE. - Если
gl.CURRENT_PROGRAMравноnull, выбрасывается ошибкаgl.INVALID_OPERATION.
Примеры
gl.drawArrays(gl.POINTS, 0, 8);
Спецификации
| Спецификация |
|---|
| Спецификация WebGL # 5.14.11 |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
drawArrays |
9 | 12 | 4 | 12 | 5.1 | 25 | 4 | 12 | 8 | 1.5 | 4.4.3 |
См. также
WebGLRenderingContext.drawElements()ext.drawArraysInstancedANGLE()ext.drawElementsInstancedANGLE()ext.vertexAttribDivisorANGLE()WebGL2RenderingContext.drawArraysInstanced()WebGL2RenderingContext.drawElementsInstanced()WebGL2RenderingContext.vertexAttribDivisor()WEBGL_multi_draw.multiDrawArraysWEBGL()
© 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/drawArrays