Функция glNormalPointer
Функция glNormalPointer определяет массив норм.
Синтаксис
void WINAPI glNormalPointer(
GLenum type,
GLsizei stride,
const GLvoid *pointer
);
Параметры
-
type
-
Тип данных каждой координаты в массиве с использованием следующих символьных констант: GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT и GL_DOUBLE.
-
Шаг
-
Смещение байтов между последовательными нормальными значениями. Если шаг равен нулю, нормали плотно упаковываются в массив.
-
Указатель
-
Указатель на первое нормальное значение в массиве.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
Type не является допустимым значением. |
|
шаг илисчетчик был отрицательным. |
Комментарии
Функция glNormalPointer указывает расположение и данные массива норм для использования при отрисовке. Параметр type задает тип данных каждой нормальной координаты. Параметр stride определяет смещение байтов от одного нормального к другому, позволяя упаковывать вершины и атрибуты в одном массиве или хранилище в отдельных массивах. В некоторых реализациях хранение вершин и атрибутов в одном массиве может быть более эффективным, чем использование отдельных массивов; Дополнительные сведения см. в разделе glInterleavedArrays .
Обычный массив включается при указании константы GL_NORMAL_ARRAY с помощью glEnableClientState. Если этот параметр включен, glDrawArrays, glDrawElements и glArrayElement используют обычный массив. По умолчанию обычный массив отключен.
Вы не можете включить glNormalPointer в отображаемые списки.
При указании обычного массива с помощью glNormalPointer значения всех параметров нормального массива функции сохраняются в клиентском состоянии. Так как обычные параметры массива сохраняются в клиентском состоянии, их значения не сохраняются и не восстанавливаются с помощью glPushAttrib и glPopAttrib.
Хотя при вызове glNormalPointer в парах glBegin и glEnd ошибка не возникает, результаты не определены.
С glNormalPointer связаны следующие функции:
glGet с аргументом GL_NORMAL_ARRAY_STRIDE
glGet с аргументом GL_NORMAL_ARRAY_COUNT
glGet с аргументом GL_NORMAL_ARRAY_TYPE
glGetPointerv с аргументом GL_NORMAL_ARRAY_POINTER
glIsEnabled с аргументом GL_NORMAL_ARRAY
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|