Функция glVertexPointer
Функция glVertexPointer определяет массив данных вершин.
Синтаксис
void WINAPI glVertexPointer(
GLint size,
GLenum type,
GLsizei stride,
const GLvoid *pointer
);
Параметры
-
size
-
Количество координат на вершину. Значение параметра size должно быть равно 2, 3 или 4.
-
type
-
Тип данных каждой координаты в массиве с использованием следующих символьных констант: GL_SHORT, GL_INT, GL_FLOAT и GL_DOUBLE.
-
Шаг
-
Смещение байтов между последовательными вершинами. Если шаг равен нулю, вершины плотно упаковываются в массив.
-
Указатель
-
Указатель на первую координату первой вершины в массиве.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
размер не был 2, 3 или 4. |
|
Тип не является допустимым значением. |
|
шаг илисчетчик был отрицательным. |
Комментарии
Функция glVertexPointer указывает расположение и данные массива координат вершин для использования при отрисовке. Параметр size указывает количество координат на вершину. Параметр type указывает тип данных каждой координаты вершины. Параметр stride определяет смещение байтов от одной вершины к другой, позволяя упаковывать вершины и атрибуты в одном массиве или хранить в отдельных массивах. В некоторых реализациях хранение вершин и атрибутов в одном массиве может быть более эффективным, чем использование отдельных массивов (см. glInterleavedArrays).
Массив вершин включается при указании константы GL_VERTEX_ARRAY с помощью glEnableClientState. Если этот параметр включен, glDrawArrays, glDrawElements и glArrayElement используют массив вершин. По умолчанию массив вершин отключен.
Невозможно включить glVertexPointer в списки отображения.
При указании массива вершин с помощью glVertexPointer значения всех параметров массива вершин функции сохраняются в клиентском состоянии, а статические элементы массива можно кэшировать. Так как параметры массива вершин находятся в состоянии на стороне клиента, их значения не сохраняются и не восстанавливаются с помощью glPushAttrib и glPopAttrib.
Хотя при вызове glVertexPointer в парах glBegin и glEnd ошибка не создается, результаты не определены.
Следующие функции извлекают сведения, связанные с glVertexPointer:
glGet с аргументом GL_VERTEX_ARRAY_SIZE
glGet с аргументом GL_VERTEX_ARRAY_STRIDE
glGet с аргументом GL_VERTEX_ARRAY_COUNT
glGet с аргументом GL_VERTEX_ARRAY_TYPE
glGetPointerv с аргументом GL_VERTEX_ARRAY_POINTER
glIsEnabled с аргументом GL_VERTEX_ARRAY
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|