Функция glDrawArrays
Функция glDrawArrays указывает несколько примитивов для отрисовки.
Синтаксис
void WINAPI glDrawArrays(
GLenum mode,
GLint first,
GLsizei count
);
Параметры
-
mode
-
Тип примитивов для отрисовки. Следующие константы указывают допустимые типы примитивов: GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS и GL_POLYGON.
-
first
-
Начальный индекс в включенных массивах.
-
count
-
Число индексов для отрисовки.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
счетчик был отрицательным. |
|
mode не является допустимым значением. |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Комментарии
С помощью glDrawArrays можно указать несколько геометрических примитивов для отрисовки. Вместо вызова отдельных функций OpenGL для передачи каждой отдельной вершины, нормы или цвета можно указать отдельные массивы вершин, норм и цветов, чтобы определить последовательность примитивов (все одинаковые) с помощью одного вызова glDrawArrays.
При вызове glDrawArraysколичество последовательных элементов из каждого включенного массива используется для построения последовательности геометрических примитивов, начиная с первого элемента. Параметр mode указывает, какой тип примитива следует создать и как использовать элементы массива для создания примитивов.
После возврата glDrawArrays значения атрибутов вершин, измененных glDrawArrays , не определены. Например, если GL_COLOR_ARRAY включен, значение текущего цвета не определено после возврата glDrawArrays . Атрибуты, не измененные glDrawArrays, остаются определенными . Если GL_VERTEX_ARRAY не включен, геометрические примитивы не создаются, но изменяются атрибуты, соответствующие включенным массивам.
Вы можете включить glDrawArrays в списки отображения. При добавлении glDrawArrays в отображаемый список создаются необходимые данные массива, определяемые указателями массива и включениями, и вводятся в список отображения. Значения указателей и включений массива определяются во время создания отображаемых списков.
Данные статического массива можно считывать в любое время. Если изменяются какие-либо статические элементы массива, а массив не указан снова, результаты всех последующих вызовов glDrawArrays будут неопределенными.
Хотя при указании массива несколько раз в парах glBegin и glend ошибка не возникает, результаты не определены.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|