Функция glDrawElements
Функция glDrawElements отрисовывает примитивы из данных массива.
Синтаксис
void WINAPI glDrawElements(
GLenum mode,
GLsizei count,
GLenum type,
const GLvoid *indices
);
Параметры
-
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.
-
count
-
Количество элементов для отрисовки.
-
type
-
Тип значений в индексах. Должен быть одним из GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT или GL_UNSIGNED_INT.
-
indices
-
Указатель на расположение, в котором хранятся индексы.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
Mode не является допустимым значением. |
|
count было отрицательным значением. |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Комментарии
Функция glDrawElements позволяет указать несколько геометрических примитивов с очень небольшим количеством вызовов функций. Вместо вызова функции OpenGL для передачи каждой отдельной вершины, нормы или цвета можно заранее указать отдельные массивы вершин, норм и цветов и использовать их для определения последовательности примитивов (все одного типа) с одним вызовом glDrawElements.
При вызове функции glDrawElementsона использует количество последовательных элементов из индексов для создания последовательности геометрических примитивов. Параметр mode указывает, какой тип примитивов создается и как элементы массива используются для создания этих примитивов. Если GL_VERTEX_ARRAY не включен, геометрические примитивы не создаются.
Атрибуты вершин, измененные glDrawElements , имеют неопределенное значение после возврата glDrawElements . Например, если включена GL_COLOR_ARRAY, значение текущего цвета не определено после выполнения glDrawElements . Атрибуты, которые не изменяются, остаются неизменными.
Функцию glDrawElements можно включить в отображаемые списки. При включении glDrawElements в отображаемый список также вводятся необходимые данные массива (определяемые указателями массива и включенными элементами). Так как указатели и включения массива являются переменными состояния на стороне клиента, их значения влияют на отображение списков при создании списков, а не на их выполнение.
Примечание
Функция glDrawElements доступна только в OpenGL версии 1.1 или более поздней.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|