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


Функция glNormalPointer

Функция glNormalPointer определяет массив норм.

Синтаксис

void WINAPI glNormalPointer(
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

Параметры

type

Тип данных каждой координаты в массиве с использованием следующих символьных констант: GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT и GL_DOUBLE.

Шаг

Смещение байтов между последовательными нормальными значениями. Если шаг равен нулю, нормали плотно упаковываются в массив.

Указатель

Указатель на первое нормальное значение в массиве.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_ENUM
Type не является допустимым значением.
GL_INVALID_OPERATION
шаг илисчетчик был отрицательным.

Комментарии

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

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

glArrayElement

glColorPointer

glDrawElements

glDrawArrays

GlEnable

glEdgeFlagPointer

glGetPointerv

glIndexPointer

glIsEnabled

glInterleavedArrays

glTexCoordPointer

glVertexPointer

glGetString