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


Функция glIndexPointer

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

Синтаксис

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

Параметры

type

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

Шаг

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

Указатель

Указатель на первый цветной индекс в массиве.

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

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

Коды ошибок

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

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

Комментарии

Функция glIndexPointer указывает расположение и данные массива цветовых индексов, используемых при отрисовке. Параметр type задает тип данных каждого индекса цвета, а шаг определяет смещение байтов от одного индекса цвета к другому, позволяя упаковывать вершины и атрибуты в одном массиве или хранить их в отдельных массивах. В некоторых реализациях хранение вершин и атрибутов в одном массиве может быть более эффективным, чем использование отдельных массивов. Дополнительные сведения см. в разделе glInterleavedArrays.

Массив цветовых индексов включается при указании константы GL_INDEX_ARRAY с помощью glEnableClientState. Если этот параметр включен, glDrawArrays и glArrayElement используют массив цветовых индексов. По умолчанию массив цветовых индексов отключен.

Невозможно включить glIndexPointer в отображаемые списки.

При указании массива цветных индексов с помощью glIndexPointer значения всех параметров массива цветовых индексов функции сохраняются в клиентском состоянии, а статические элементы массива могут кэшироваться. Так как параметры массива цветовых индексов находятся в состоянии клиента, их значения не сохраняются и не восстанавливаются с помощью glPushAttrib и glPopAttrib.

Хотя при вызове glIndexPointer в парах glBegin и glEnd ошибка не возникает, результаты не определены.

Следующие функции извлекают сведения, связанные с glIndexPointer:

glIsEnabled с аргументом GL_INDEX_ARRAY

glGet с аргументом GL_INDEX_ARRAY_STRIDE

glGet с аргументом GL_INDEX_ARRAY_COUNT

glGet с аргументом GL_INDEX_ARRAY_TYPE

glGet с аргументом GL_INDEX_ARRAY_SIZE

glGetPointerv с аргументом GL_INDEX_ARRAY_POINTER

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

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

glArrayElement

glColorPointer

glDrawArrays

glEdgeFlagPointer

glGetPointerv

glGetString

glNormalPointer

glPushAttrib

glTexCoordPointer

glVertexPointer