Поделиться через


Функция 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 .

Имя Значение
GL_INVALID_VALUE
счетчик был отрицательным.
GL_INVALID_ENUM
mode не является допустимым значением.
GL_INVALID_OPERATION
Функция была вызвана между вызовом 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 [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glArrayElement

glBegin

glColorPointer

glEdgeFlagPointer

glEnd

glGetPointerv

glGetString

glIndexPointer

glNormalPointer

glTexCoordPointer

glVertexPointer